1. XSLT是XSLTransformations的缩写,它是XSL的一个组成部分。
XSL(EXtensible StyleSheet)由三部分组成:
– XSLT。XSLT的作用是将一个XML文档转换为另一种类别的XML文档(也包括HTML文档)。
– XPath。XPath的作用是指定访问XML数据的寻址路径表达式。
– XSL-FO(XSL Formatting Objects)。XSL-FO的作用是对XML文档中的数据排版
2. XSLT工作原理:将如下XML文档转换为HTML文档
<?xml version="1.0" encoding="GBK" ?>
<?xml-stylesheet type="text/xsl" href="books.xsl" ?>
<books>
<book category="TP18">
<title lang=”cn”>人工智能及其应用</title>
<authors>
<author>蔡自兴</author>
<author>徐光祐</author>
</authors>
<ISBN>7-302-02127-9</ISBN>
<date>1996年5月</date>
<publisher>清华大学出版社</publisher>
<price>32.50</price>
</book>
</books>
相应的XSLT文档:
<?xml version="1.0" encoding="GBK" ?>
<xsl:stylesheet version="1.0 " xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/books/book">
<table border="1">
<tr>
<td bgcolor="#9acd32">标题</td>
<td><xsl:value-of select="title" /></td>
</tr>
<tr>
<td bgcolor="#9acd32">作者</td>
<td><xsl:for-each select="authors/author">
<xsl:value-of select="." /> <![CDATA[ ]]>
</xsl:for-each> </td>
</tr>
<tr>
<td bgcolor="#9acd32">出版社</td>
<td><xsl:value-of select="publisher" /></td>
</tr>
</table>
<br/>
</xsl:template>
</xsl:stylesheet>
转换后产生的HTML文档:
<table border="1">
<tr> <td bgcolor="#9acd32">标题</td>
<td>人工智能及其应用</td> </tr>
<tr><td bgcolor="#9acd32">作者</td>
<td>蔡自兴 徐光祐</td> </tr>
<tr> <td bgcolor="#9acd32">出版社</td>
<td>清华大学出版社</td> </tr>
</table>
3. XSLT工作原理
4.将XML转换为HTML
• 要将XML文档转换为HTML,除了要进行转换的XML文件本身之外,还需要一个指定转换规则的XSLT文件,此外,还必须在XML文件中指出对应的XSLT文件的URL。
• 在XML文件中,必须在开头放置一条处理指令,其格式为:
<?xml-stylesheettype=“text/xsl” href=”your-xsl-file-URL”?>
• 在XSLT文件中,其根元素必须是stylesheet,并且必须声明XSLT的命名空间,为这个空间指定前缀,例如:
<xsl:stylesheet version=”1.0” xmlns:xsl=http://www.w3.org/1999/XSL/Transform >