Elemento <xsl:choose> ng XSLT

Paglilinaw at paggamit

Ang <xsl:choose> elemento kasama ang <xsl:when> at <xsl:otherwise> elemento ay nagpapahiwatig ng maraming pagsusuri ng kondisyon.

Kung ang <xsl:when> ay totoo, pagproseso ang nilalaman ng <xsl:otherwise>.

如果没有 是 true,且不存在 元素,则不创建任何内容。

提示:对于简单的条件测试,请使用 元素取而代之。

语法

<xsl:choose>

</xsl:choose>

属性

None

实例

例子 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>

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

Eskwelang 2

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