XSLT <xsl:template> 元素

XSL 样式表由一个或多套被称为模板(template)的规则组成。

每个模板含有当某个指定的节点被匹配时所应用的规则。


<xsl:template> 元素

<xsl:template> 元素用于构建模板。

match 属性用于关联 XML 元素和模板。match 属性也可用来为整个文档定义模板。match 属性的值是 XPath 表达式(举例,match="/" 定义整个文档)。

好了,让我们看一下上一节中的 XSL 文件的简化版本:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:template match="/">
  4. <html>
  5. <body>
  6. <h2>My CD Collection</h2>
  7. <table border="1">
  8. <tr bgcolor="#9acd32">
  9. <th>Title</th>
  10. <th>Artist</th>
  11. </tr>
  12. <tr>
  13. <td>.</td>
  14. <td>.</td>
  15. </tr>
  16. </table>
  17. </body>
  18. </html>
  19. </xsl:template>
  20. </xsl:stylesheet>
代码解释:

由于 XSL 样式表本身也是一个 XML 文档,因此它总是由 XML 声明起始:

  1. <?xml version="1.0" encoding="utf-8"?>

下一个元素,<xsl:stylesheet>,定义此文档是一个 XSLT 样式表文档(连同版本号和 XSLT 命名空间属性)。<xsl:template> 元素定义了一个模板。而 match="/" 属性则把此模板与 XML 源文档的根相联系。

<xsl:template> 元素内部的内容定义了写到输出结果的 HTML 代码。

最后两行定义了模板的结尾,及样式表的结尾。

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

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

此例的结果有一点小缺陷,因为数据没有从 XML 文档被复制到输出。

在下一节,您将学习到如何使用 <xsl:value-of> 元素从 XML 元素选取值。