XSLT <xsl:when> 元素

  • 定义和使用

    <xsl:when> 元素用于指定 <xsl:choose> 元素。在 <xsl:when> 元素对表达式求值,如果返回true,则执行一个操作。
    :该 <xsl:when> 元素与 <xsl:choose> 以及 <xsl:otherwise> 表示多个条件测试。
  • 语法

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

    属性 描述
    test boolean-expression
    必选的;指定要测试的布尔表达式
  • 示例

    当 cd 的价格高于10时,下面的代码将为艺术家栏添加一个粉红色的背景色。
    <?xml version="1.0" encoding="UTF-8"?>
    <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>
    声明一个名为 "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>