XSL简明教程(2)XSL转换

原著:Jan Egil Refsnes 翻译:阿捷

二.XSL的转换

1.将XML转换成HTML

XSL是如何将XML文档转换成HTML文件的呢?我们来看一个例子,下面是XML文档的一部分:

 1<catalog>
 2<cd>
 3<title>Empire Burlesque</title>
 4<artist>Bob Dylan</artist>
 5<country>USA</country>
 6<company>Columbia</company>
 7<price>10.90</price>
 8<year>1985</year>
 9</cd>   
10  
11... 
12
13  
14
15
16然后我们将下面的XSL文件作为HTML的模板将XML数据转换为HTML文件: 
17
18  
19
20
21<?xml version=\'1.0\'?>
22<xsl:stylesheet xmlns:xsl='\"http://www.w3.org/TR/WD-xsl\"'>
23<xsl:template match='\"/\"'>
24<html>
25<body>
26<table bgcolor='\"yellow\"' border='\"2\"'>
27<tr>
28<th>Title</th>
29<th>Artist</th>
30</tr>
31<xsl:for-each select='\"CATALOG/CD\"'>
32<tr>
33<td><xsl:value-of select='\"TITLE\"/'></xsl:value-of></td>
34<td><xsl:value-of select='\"ARTIST\"/'></xsl:value-of></td>
35</tr>
36</xsl:for-each>
37</table>
38</body>
39</html>
40</xsl:template>
41</xsl:stylesheet>
42
43  
44
45
46在上面的代码中, xsl:for-each元素的作用是定位XML文档中的哪些元素需要按以下模板显示。select属性用来定义源文件中的元素名。指定属性的这种语法又称为XML   
47Pattern(模式),类似文件子目录的表示形式。xsl:value-of元素用来在当前层次中插入子元素的内容模板。   
48  
49因为XSL样式表自身也是一个XML文档,因此,XSL文件的开头以一个XML声明开始。 xsl:stylesheet元素用来声明这是一个样式表文件。<xsl:template match='\"/\"'>语句表示XML的源文档在当前目录下。   
50  
51如果为XML文档加上XSL样式表,看下面代码第2行,你的浏览器就可以精确的将XML 文档转换为HTML文件。 
52
53  
54
55
56<?xml version=\"1.0\" encoding=\"ISO8859-1\" ?>
57<?xml-stylesheet type=\"text/xsl\" href=\"cd_catalog.xsl\"?>
58<catalog>
59<cd>
60<title>Empire Burlesque</title>
61<artist>Bob Dylan</artist>
62<country>USA</country>
63<company>Columbia</company>
64<price>10.90</price>
65<year>1985</year>
66</cd></catalog></xsl:template></catalog>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus