books.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="books.css" type="text/css"?>
<books>
<book>
<number>70882596358</number>
<name>操作系统教程</name>
<author>李耀辉</author>
<price>22.00元</price>
<publish>清华大学出版社</publish>
</book>
<book>
<number>65821236456</number>
<name>数据库概论</name>
<author>刘先平</author>
<price>25.00元</price>
<publish>机械工业出版社</publish>
</book>
<book>
<number>56985213475</number>
<name>计算机网络</name>
<author>李耀辉</author>
<price>23.00元</price>
<publish>电子工业出版社</publish>
</book>
</books>
books.css
books{
border:3pt double blue
margin:0pt
padding:1pt
}
book{
color:black
background:#99ccff
padding:1t
}
number,name,price,publish{
display:block
}
author{
display:block
color:red
}
随便写了一个
测试成功
XSL是一种用来转换XML文档的样式表,它包括结构转换(XSLT)和格式化输出(XSL-FO)两部分。在结构转换的过程中,XSL通过XPath来查找和定位XML文档中的信息。XPath是一种专门用来在XML文档中查找信息的语言,用来描述如何识别、选择、匹配XML文档中的各个元素。XML通过XSLT和XPath,可以把XML转换成任何一种文档,当然也包括HTML文档。4. XSL的基本结构
我们先来看一下例子来了解XSL的基本结构:
book.xml
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="book.xsl"?>
<books>
<book>
<name>The C++ Standard Library</name>
<author>Nicolai M.Josuttis</author>
</book>
<book>
<name>The Mythical Man-Month</name>
<author>Frederick P Brooks Jr.</author>
</book>
<book>
<name>C# Design Pattern</name>
<author>James W. Cooper</author>
</book>
</books>
book.xsl
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<head><title>Book Store</title></head>
<body>
<h2 align="center">Book Store</h2>
<xsl:apply-templates select="books"/>
</body>
</html>
</xsl:template>
<xsl:template match="books">
<table border="1" cellpadding="0" align="center">
<tr><th>Name</th><th>Author</th></tr>
<xsl:for-each select="book">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="author"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
分析上面的例子,可以看出XSL文件由以下几部分组成:
· XSL文档也是XML文档,所以第一行要有XML声明:
<?xml version="1.0" encoding="gb2312"?>
· 接下来是XSL声明:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<!--模板规则-->
<!--输出模板-->
</xsl:stylesheet>
在XSL声明中包含模板,模板中定义XML的输出格式。
需要注意的几个地方:
· XSL本身是XML文档,注意标签的匹配。
· <xsl:stylesheet>既是XSL的声明,也是根元素,要放在文件的首部。
· 要用xmlns指明XSL的命名空间:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
· 样式表中的所有模板都由<xsl:template>声明,模板可以说明处理的对象,处理方式或是转换的结果。