原著:Jan Egil Refsnes 翻譯:阿捷
七. XSL 的控制語句
1.條件語句if...then
XSL同樣還有條件語句(呵呵~~好厲害吧,象程序語言一樣)。具體的語法是增加一個(gè)xsl:if元素,類似這樣
xsl:if match=".[ARTIST='Bob Dylan']">
... some output ...
/xsl:if>
上面的例子改寫成為:
?xml version='1.0'?>
xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
xsl:template match="/">
html>
body>
table border="2" bgcolor="yellow">
tr>
th>Title/th>
th>Artist/th>
/tr>
xsl:for-each select="CATALOG/CD">
xsl:if match=".[ARTIST='Bob Dylan']">
tr>
td>xsl:value-of select="TITLE"/>/td>
td>xsl:value-of select="ARTIST"/>/td>
/tr>
/xsl:if>
/xsl:for-each>
/table>
/body>
/html>
/xsl:template>
/xsl:stylesheet>
2. XSL 的Choose
choose的用途是出現(xiàn)多個(gè)條件,給出不同顯示結(jié)果。具體的語法是增加一組xsl:choose,xsl:when,xsl:otherwise元素:
xsl:choose>
xsl:when match=".[ARTIST='Bob Dylan']">
... some code ...
/xsl:when>
xsl:otherwise>
... some code ....
/xsl:otherwise>
/xsl:choose>
上面的例子改寫成為:
?xml version='1.0'?>
xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
xsl:template match="/">
html>
body>
table border="2" bgcolor="yellow">
tr>
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 match=".[ARTIST='Bob Dylan']">
td bgcolor="#ff0000">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>