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>声明,模板可以说明处理的对象,处理方式或是转换的结果。
呵呵.你这话是听谁说的. xml不仅没有被淘汰,而且xml是web未来发展的一个方向! XML现在很流行的,不仅是WEB方面,软件上都有很多应用. 怎么说呢,在产品设计的时候应该要去注重 内容 与 表现 分离的思想. 比如,HTML语言,内容和表现没有分离,以至于代码十分臃肿,十分不利于开发,维护.现在流行的DIV+CSS就是内容与表现分离的例子来,DIV来装内容,而CSS来控制表现,如果需要改变外观只需要修改CSS就可以到达目的,这就是利于维护的例子. CSS现在主要还是在WEB方面.主要是与HTML或者XHTML结合. 与XML结合使用的是XSL.因为XSL设计的初衷就是为了表现XML. 所以,现在流行的XHTML+CSS是在XML影响下产生的过渡效果. 最终的发展方向是XML.就是这样了.