XSL简明教程(2)XSL转换
二.xsl的转换
1.将xml转换成html
xsl是如何将xml文档转换成html文件的呢?我们来看一个例子,下面是xml文档的一部分:
<?xml version="1.0" encoding="iso8859-1" ?>
<catalog>
<cd>
<title>empire burlesque</title>
<artist>bob dylan</artist>
<country>usa</country>
<company>columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
...
然后我们将下面的xsl文件作为html的模板将xml数据转换为html文件:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl">
<xsl:template match="/">
<html>
<body>
<table border="2" bgcolor="yellow">
<tr>
<th>title</th>
<th>artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
在上面的代码中, xsl:for-each元素的作用是定位xml文档中的哪些元素需要按以下模板显示。select属性用来定义源文件中的元素名。指定属性的这种语法又称为xml
pattern(模式),类似文件子目录的表示形式。xsl:value-of元素用来在当前层次中插入子元素的内容模板。
因为xsl样式表自身也是一个xml文档,因此,xsl文件的开头以一个xml声明开始。 xsl:stylesheet元素用来声明这是一个样式表文件。<xsl:template
match="/">语句表示xml的源文档在当前目录下。
如果为xml文档加上xsl样式表,看下面代码第2行,你的浏览器就可以精确的将xml 文档转换为html文件。
<?xml version="1.0" encoding="iso8859-1" ?>
<?xml-stylesheet type="text/xsl" href="cd_catalog.xsl"?>
<catalog>
<cd>
<title>empire burlesque</title>
<artist>bob dylan</artist>
<country>usa</country>
<company>columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
推荐阅读