ایکس ایس ایل ٹی <xsl:choose> عناصر

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

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

اگر <xsl:when> درست باشد، محتوای <xsl:otherwise> را پردازش کنید.

اگر <xsl:when> صحیح نہیں ہوگا اور <xsl:otherwise> علامت نہیں موجود ہوگا تو کوئی بھی مطلب نہیں بنایا جائے گا۔

نکات:سادہ شرطی ٹیسٹ کے لئے، <xsl:if> علامت کا استعمال کریں۔

قواعد

<xsl:choose>
<!-- Content:(xsl:when+,xsl:otherwise?) -->
</xsl:choose>

پرز

خالی

مثال

مثال 1

CD کی قیمت 10 سے زیادہ ہونے پر، 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>

XML فائل دیکھیے، XSL فائل دیکھیے، نتیجہ دیکھیے۔

مثال 2

دیکھیوغار نام "color" کا متغیر بنا دیا گیا ہے۔ اس متغیر کا مطلب current علامت کی color اقدار میں دینا ہے۔ اگر current علامت میں 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>