عنصر <xsl:variable> XSLT

تعریف و استفاده

علامت <xsl:variable> برای تعریف متغیرهای محلی یا جهانی استفاده می‌شود.

توضیحات:اگر متغیر به عنوان یک علامت سطح بالایی تعریف شده باشد، متغیر جهانی است، در غیر این صورت، متغیر محلی است.

توضیحات:بعد از تنظیم مقادیر متغیر، نمی‌توان آن‌ها را تغییر یا ویرایش داد!

توجه:شما می‌توانید از محتوای علامت <xsl:variable> یا از ویژگی select برای اضافه کردن مقادیر به متغیر استفاده کنید!

نحوه استفاده

<xsl:variable
name="name"
select="expression">
  <!-- Content:template -->
</xsl:variable>

ویژگی

ویژگی مقدار توضیح
name name ضروری. نام متغیر را مشخص کنید.
select expression اختیاری. مقادیر متغیر را تعریف کنید.

مثال

مثال 1

اگر ویژگی select تنظیم شده باشد، علامت <xsl:variable> نمی‌تواند هیچ محتوایی داشته باشد. اگر ویژگی select شامل یک رشته متنی باشد، باید به رشته‌ها علامت نقل قول اضافه شود.

دو مثال زیر برای تعیین مقادیر متغیر "color" به "red" استفاده می‌کنند:

<xsl:variable name="color" select="'red'" />
<xsl:variable name="color" select='"red"' />

مثال 2

اگر <xsl:variable> فقط شامل ویژگی name باشد و محتوایی نداشته باشد، مقادیر متغیر خالی است:

<xsl:variable name="j" />

مثال 3

مثال زیر از محتوای <xsl:variable> برای تعیین مقادیر متغیر "header" استفاده می‌کند:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="header">
  <tr>
  <th>عنصر</th>
  <th>ترجیح</th>
  </tr>
</xsl:variable>
<xsl:template match="/">
  <html>
  <body>
  <table>
    <xsl:copy-of select="$header" />
    <xsl:for-each select="reference/record">
    <tr>
    <xsl:if category="XML">
      <td><xsl:value-of select="element"/></td>
      <td><xsl:value-of select="description"/></td>
    </xsl:if>
    </tr>
    </xsl:for-each>
  </table>
  <br />
  <table>
    <xsl:copy-of select="$header" />
    <xsl:for-each select="table/record">
    <tr>
    <xsl:if category="XSL">
      <td><xsl:value-of select="element"/></td>
      <td><xsl:value-of select="description"/></td>
    </xsl:if>
    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>