xslt轻松入门第二章:xslt的实例(3)

作者:未知 来源:未知 添加时间:2006年7月3日 字体:

2.3 过程解析 


如果你成功的看到效果,你也许想知道这些代码的具体含义,我们来详细解说:看hello.xsl文件


<@xml version="1.0" encoding="iso-8859-1"@>


这是标准的xml文档的首行代码,因为xslt本身也是xml文档。encoding属性用来定义文档使用的编码形式,iso-8859-1主要支持西欧和北美的语言编码。如果你想使用简体中文,那么就应该写成:


<@xml version="1.0" encoding="gb2312"@>


接下去的代码是:


<xsl:stylesheet

xmlns:xsl="http://www.w3.org/1999/xsl/transform"

version="1.0">


这是标准的xslt文件首行代码。xsl:stylesheet代码的意思是将文档作为一个样式表来(stylesheet)处理。xmlns:xsl属性是一个名字空间声明,和xml中的名字空间使用方法一样,用来防止元素名称重复和混乱。其中前缀xsl的意思是文档中使用的元素遵守w3c的xslt规范。最后的version属性说明样式表只采用xslt 
1.0的标准功能,这也是目前仅有的标准。


<xsl:template match="/">


一个<xsl:template>元素定义一个模板规则。属性match="/"说明xml源文档中,这个模板规则作用的起点。"/"是一种xpath语法,我们在后面将详细讲述,这里的"/"代表xml结构树的根(root)。


接下去的代码是:


<html>

<head>

<title>first xslt example</title>

</head>

<body>

<p><xsl:&#118alue-of select="greeting"/></p>

</body>

</html>


说明:当模板规则被触发,模板的内容就会控制输出的结果。例子中,模板大部分内容由html元素和文本构成。只有<xsl:&#118alue-of>元素是xslt语法,这里<xsl:&#118alue-of>的作用是拷贝原文档中的一个节点的值到输出文档。而select属性则详细指定要处理的节点名称。这是xpath语法,"greeting"的意思就是寻找根节点名为greeting的元素,并用模板来处理这个节点。具体的就是找到<greeting>元素,然后将元素的值"hello 
world"按模板样式拷贝到输出文件。 

提示:由于xml文档是严格的层级结构(用ie5查看xml文件,会看见xml文档类似多级关联菜单),所以我们形象的称xml文档为文档树,其中每一对元素称作树的一个节点。根元素就是根节点。


最后关闭所有元素:


</xsl:template>

</xsl:stylesheet>


好,例子解说完毕。你是否想过为什么要用这么复杂的方法来显示"hello world"呢?

关键不在表面,而在于实质:用这种方法,hello world可以从xml文档中被提取出来,并用各种不同的xslt模板处理,来输出不同需求的文档。我们来看看xslt的主要用途:



2.4 xslt的用途


xslt的主要用途就是数据转换应用。 

由于以xml为基础的电子商务广泛普及,xslt作为数据转换的角色也越来越重要。例如直接将电视新闻的数据格式转换成报纸新闻需要的数据格式;将股票数据直接转换成图片显示在网页上;对edi(电子数据交换)数据进行统计,排序等等。

xslt是处理类似工作的理想工具。 


ppdesk