XSLT <xsl:if> 元素

<xsl:if> 元素用于放置针对 XML 文件内容的条件测试。


<xsl:if> 元素

如需放置针对 XML 文件内容的条件测试,请向 XSL 文档添加 <xsl:if> 元素。

语法
  1. <xsl:if test="expression">
  2. ...
  3. ...如果条件成立则输出...
  4. ...
  5. </xsl:if>

在何处放置 <xsl:if> 元素

如需添加有条件的测试,请在 XSL 文件中的 <xsl:for-each> 元素内部添加 <xsl:if> 元素:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xsl:stylesheet version="1.0"
  3. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4. <xsl:template match="/">
  5. <html>
  6. <body>
  7. <h2>My CD Collection</h2>
  8. <table border="1">
  9. <tr bgcolor="#9acd32">
  10. <th>Title</th>
  11. <th>Artist</th>
  12. </tr>
  13. <xsl:for-each select="catalog/cd">
  14. <xsl:if test="price &amp;gt; 10">
  15. <tr>
  16. <td><xsl:value-of select="title"/></td>
  17. <td><xsl:value-of select="artist"/></td>
  18. </tr>
  19. </xsl:if>
  20. </xsl:for-each>
  21. </table>
  22. </body>
  23. </html>
  24. </xsl:template>
  25. </xsl:stylesheet>

注释:必选的 test 属性的值包含了需要求值的表达式。

上面的代码仅仅会输出价格高于 10 的 CD 的 title 和 artist 元素。

上面的转换结果类似这样:

查看 XML 文件查看 XSL 文件查看结果