Elemento ng <xsl:choose> ng XSLT

Pangangalingan at Paggamit

Ang elemento <xsl:choose> na pinagsama-sama sa mga elemento <xsl:when> at <xsl:otherwise> ay nagpapahayag ng maraming pagsubok ng kondisyon.

Kung walang <xsl:when> na true, ipapalit ang nilalaman ng <xsl:otherwise>.

Kung walang <xsl:when> na true at walang elemento <xsl:otherwise>, hindi gagawa ng anumang nilalaman.

Mga tagubilin:Para sa simpleng pagsubok ng kondisyon, gamitin ang elemento <xsl:if> bilang kahalili.

Gramata

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

Atributo

Wala

Mga katumbas

Mga halimbawa 1

Ang kodigo ay magiging magiging kulay ng puti sa background ng artist kung ang presyo ng CD ay mas mataas sa 10:

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

Tingnan ang file na XML, tingnan ang file na XSL, tingnan ang resulta.

Halimbawa 2

Iminungkahi ang variable na may pangalan na "color". Ilagay ang halaga ng variable na ito sa attribute ng color ng current element. Kung ang current element ay walang attribute na color, ang halaga ng color ay "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>