XSLT 实例学习笔记

什么是XSLT?

XSLT,即可扩展样式语言转换,是一种用于将XML文档转换为另一种格式的语言。XSLT通常与XSLFO(可扩展样式语言格式化对象)一起使用,以生成PDF和其他格式的文档。

XSLT基础语法

在XSLT中,我们使用模板(template)和规则(rule)来定义如何将输入XML文档转换为输出文档。每个模板都有一个匹配规则,以确定该模板是如何应用的。

以下是一个简单的XSLT模板:

xmlCopy Code
<xsl:template match="/"> <html> <body> <xsl:apply-templates select="books/book"/> </body> </html> </xsl:template>

上面的模板将选择所有名为“books”的元素,并将它们转换为HTML格式。

XSLT实例

假设我们有以下XML文档:

xmlCopy Code
<?xml version="1.0" encoding="UTF-8"?> <books> <book> <title>XML编程指南</title> <author>张三</author> <price>50</price> </book> <book> <title>XSLT实例</title> <author>李四</author> <price>40</price> </book> </books>

现在,我们想将上述XML文档转换为HTML格式。下面是一个XSLT模板,可以实现这个目标:

xmlCopy Code
<?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>图书信息</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>书名</th> <th>作者</th> <th>价格</th> </tr> <xsl:for-each select="books/book"> <tr> <td> <xsl:value-of select="title"/> </td> <td> <xsl:value-of select="author"/> </td> <td> <xsl:value-of select="price"/> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

上述XSLT模板将输出以下HTML代码:

htmlCopy Code
<html> <body> <h2>图书信息</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>书名</th> <th>作者</th> <th>价格</th> </tr> <tr> <td>XML编程指南</td> <td>张三</td> <td>50</td> </tr> <tr> <td>XSLT实例</td> <td>李四</td> <td>40</td> </tr> </table> </body> </html>

这样,我们就成功地将XML文档转换为了HTML格式。