从一组定义开始:
XSL:指扩展样式表语言(EXtensible Stylesheet Language)。XSL 可描述如何来显示 XML 文档,当然万维网联盟 (W3C) 发展XSL 的原因就是存在着对于基于 XML 的样式表语言的需求。
XSLT:指 XSL 转换(XSL Transformations)。
XSLT 用于将一种 XML 文档转换为另外一种 XML 文档,或者可被浏览器识别的其他类型的文档,比如 HTML 和 XHTML。通常,XSLT 是通过把每个 XML 元素转换为 (X)HTML 元素来完成这项工作的。
一个简单XSLT转换实例
原始XML(lakers.xml):
<?xml version="1.0" encoding="UTF-8"?> <laker> <cd> <name>Kobe Bryant</name> <age>32</age> <number>24</number> </cd> <cd> <name>Pau Gasol</name> <age>31</age> <number>16</number> </cd> <cd> <name>Lama Odom</name> <age>31</age> <number>7</number> </cd> </laker>
?下面我们可以用XMLT将上面XML以表格的形式显示:
然后创建一个带有转换模板的 XSL 样式表("lakers.xsl"):
<?xml version="1.0" encoding="UTF-8"?> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Lakers</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">name</th> <th align="left">age</th> <th align="left">number</th> </tr> <xsl:for-each select="laker/cd"> <tr> <td><xsl:value-of select="name"/></td> <td><xsl:value-of select="age"/></td> <td><xsl:value-of select="number"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:transform>
向 XML 文档("lakers.xml")添加 XSL 样式表引用:
如下:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="lakers.xsl"?> <laker> <cd> <name>Kobe Bryant</name> <age>32</age> <number>24</number> </cd> <cd> <name>Pau Gasol</name> <age>31</age> <number>16</number> </cd> <cd> <name>Lama Odom</name> <age>31</age> <number>7</number> </cd> </laker>
?显示结果:
?
//----待续