عناصر <xsl:when> XSLT

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

عناصر <xsl:when> برای تعیین عملیات مرتبط با عناصر <xsl:choose> استفاده می‌شوند.

عناصر <xsl:when> یک عبارت را محاسبه می‌کنند، اگر به true بازمی‌گردد، عملیات تعیین شده را اجرا می‌کنند.

توجه:<xsl:when> عناصر چندین تست شرطی را با عناصر <xsl:choose> و <xsl:otherwise> ارائه می‌دهد.

نحوه‌ی نوشتن

<xsl:when test="boolean-expression">
  <!-- Content: template -->
</xsl:when>

ویژگی

ویژگی مقدار توضیح
تست boolean-expression ضروری. تعریف بیان布尔ی که باید تست شود.

مثال

مثال 1

مقصد کد زیر است که در صورت افزایش قیمت cd از 10، رنگ پس‌زمینه column artist به رنگ صورتی تغییر می‌کند:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <h2>My CD Collection</h2>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th>Title</th>
        <th>Artist</th>
      </tr>
      <xsl:for-each select="catalog/cd">
      <tr>
        <td><xsl:value-of select="title"/></td>
      	<xsl:choose>
          <xsl:when test="price>'10'">
            <td bgcolor="#ff00ff">
            <xsl:value-of select="artist"/></td>
          </xsl:when>
          <xsl:otherwise>
            <td><xsl:value-of select="artist"/></td>
          </xsl:otherwise>
        </xsl:choose>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

ایکس ایم ال فائل دیکھیں,ایکس ایس ل ت فائل دیکھیں,نتیجہ دیکھیں.

مثال 2

ایک نام 'color' والی متغیر اعلان کی گئی ہے۔ اس کی قیمت کو موجودہ عنصر کی color خاصیت کو دینا ہے۔ اگر موجودہ عنصر کو color خاصیت نہیں ملتا تو 'color' کی قیمت 'green' ہوگی:

<xsl:variable name="color">
  <xsl:choose>
    <xsl:when test="@color">
      <xsl:value-of select="@color"/>
    </xsl:when>
    <xsl:otherwise>green</xsl:otherwise>
  </xsl:choose>
</xsl:variable>