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

XSLT <xsl:choose> عناصر <xsl:when> اور <xsl:otherwise> کو متحد کرکے کثیر شرطی جانچ پیش کرنا کے لئے استعمال کیا جاتا ہے۔

<xsl:choose> عناصر

مقامی زبان

<xsl:choose>
  <xsl:when test="expression">
    ... آؤت ...
  </xsl:when>
  <xsl:otherwise>
    ... آؤت ...
  </xsl:otherwise>
</xsl:choose>

چاہئیں تو کجا انتخابی شرط رکھی جائیں؟

XML فائل کے لئے کثیر شرطی جانچ کا تحفظ کرنا چاہئیں تو XSL فائل میں <xsl:choose>، <xsl:when> اور <xsl:otherwise> شامل کریں:

<?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>

مذکورہ کوڈ سی ڈی کی قیمت 10 سے زیادہ ہونے پر "Artist" کی لسانی میں وائلیٹ رنگ کا پس منظر رنگ اضافہ کرے گا。

بالا کا تبدیل نتیجہ ایسے لگتا ہے:

اس XML فائل کو دیکھیں،اس XSL فائل کو دیکھیں،نتیجہ دیکھیں

دوسرین مثال

یہ دوسرین شعبہ میں دو <xsl:when> عناصر کا مثال ہے:

<?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:when test="price > 9">
            <td bgcolor="#cccccc">
            <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>

بالا کا کوڈ سی ڈی کی قیمت 10 سے زیادہ ہونے پر "Artist" کی لسٹ میں وائلیٹ پس منظر رنگ اضافہ کرتا ہے، اور سی ڈی کی قیمت 9 سے زیادہ اور 10 تک پرانی رنگ اضافہ کرتا ہے.

بالا کا تبدیل نتیجہ ایسے لگتا ہے:

اس ایکس ایم ال تی فائل کو دیکھیں،اس ایکس ایس ال تی فائل کو دیکھیں،نتیجہ دیکھیں