<xsl:choose> 元素用于结合 <xsl:when> 和 <xsl:otherwise> 来表达多重条件测试。
<xsl:choose> 元素
语法
<xsl:choose>
<xsl:when test="expression">
... some output ...
</xsl:when>
<xsl:otherwise>
... some output ....
</xsl:otherwise>
</xsl:choose>
	
	
	
							
					
					
					
				
									
						
						
						
					
							
		
	
	
	
	
<xsl:when test="expression">
... some output ...
</xsl:when>
<xsl:otherwise>
... some output ....
</xsl:otherwise>
</xsl:choose>
在何处放置选择条件
如需插入针对 XML 文件的多重条件测试,请向 XSL 文件添加 <xsl:choose>、<xsl:when> 以及 <xsl:otherwise> 元素:
实例
<?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>
知识兔 »
知识兔 »
上面的代码会在 CD 的价格高于 10 时向 "Artist" 列添加粉色的背景颜色。
另一个实例
这是另外一个包含两个 <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>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>
知识兔 »
知识兔 »
上面的代码会在 CD 的价格高于 10 时向 "Artist" 列添加粉色的背景颜色,并在 CD 的价格高于 9 且低于等于 10 时向 "Artist" 列添加灰色的背景颜色。
