|            
七. XSL 的控制语句
  1.条件语句if...then
  XSL同样还有条件语句(呵呵~~好厉害吧,象程序语言一样)。具体的语法是增加一个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的用途是出现多个条件,给出不同显示结果。具体的语法是增加一组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>   
 |