XSLT <xsl:choose>
-
定义
<xsl:choose> 元素与 <xsl:when> 和 <xsl:otherwise> 结合使用以表示多个条件测试。 -
语法
<xsl:choose> <xsl:when test="expression"> ... some output ... </xsl:when> <xsl:otherwise> ... some output .... </xsl:otherwise> </xsl:choose>
-
示例
要针对 XML 文件插入多条件测试,请将<xsl:choose>,<xsl:when> 和 <xsl:otherwise> 元素添加到 XSL 文件中:
查看转换结果<?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>我的CD收藏</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>名称</th> <th>艺术家</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>
当CD的价格高于10时,以上代码将为 “艺术家” 列添加粉红色的背景色。
-
另一个示例
这是另一个包含两个 <xsl:when> 元素的示例:
查看转换结果<?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>我的CD收藏</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>名称</th> <th>艺术家</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>
当 CD 的价格高于 10 时,上面的代码将在 “艺术家” 列中添加粉红色的背景色,而在 CD 的价格高于 9 且低于或等于 10 时,将在灰色的背景色中添加。