天天看點

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 檔案添加 <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:when test="price > 10">

<td bgcolor="#ff00ff">

<xsl:value-of select="artist"/></td>

<td><xsl:value-of select="artist"/></td>

</xsl:for-each>

</table>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

上面的代碼會在 CD 的價格高于 10 時向 "Artist" 列添加粉色的背景顔色。

這是另外一個包含兩個 <xsl:when> 元素的執行個體:

<xsl:when test="price > 9">

<td bgcolor="#cccccc">

上面的代碼會在 CD 的價格高于 10 時向 "Artist" 列添加粉色的背景顔色,并在 CD 的價格高于 9 且低于等于 10 時向 "Artist" 列添加灰色的背景顔色。