XSLT中文入门(2)_动易Cms教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!



1.4 什么是XPath

XPath是XSLT的重要组成部分,我们将在第四章讲解它的具体语法。那么XPath是什么呢?我们首先来了解一下XSL系列的"家族"关系。如下图:


XSL在转换XML文档时分为明显的两个过程,第一转换文档结构;其次将文档格式化输出。这两步可以分离开来并单独处理,因此XSL在发展过程中逐渐分裂为XSLT(结构转换)和XSL-FO(formatting objects)(格式化输出)两种分支语言,其中XSL-FO的作用就类似CSS在HTML中的作用。而我们这里重点讨论的是第一步的转换过程,也就是XSLT。

另外,在学习XML时我们已经知道XML是一个完整的树结构文档。在转换XML文档时可能需要处理其中的一部分(节点)数据,那么如何查找和定位XML文档中的信息呢,XPath就是一种专门用来在XML文档中查找信息的语言。XPath隶属XSLT,因此我们通常会将XSLT语法和XPath语法混在一起说。

用一种比较好理解的解释:假如将XML文档看作一个数据库,XPath就是SQL查询语言;假如将XML文档看成DOS目录结构,XPath就是cd,dir等目录操作命令的集合。

1.5 XSLT和CSS的比较

CSS同样可以格式化XML文档,那么有了CSS为什么还需要XSLT呢?因为CSS虽然能够很好的控制输出的样式,比如色彩,字体,大小等,但是它有严重的局限性,就是:

(1) CSS不能重新排序文档中的元素;

(2) CSS不能判定和控制哪个元素被显示,哪个不被显示;

(3) CSS不能统计计算元素中的数据;

换句话说,CSS只适合用于输出比较固定的最终文档。CSS的优点是简洁,消耗系统资源少;而XSLT虽然功能强大,但因为要重新索引XML结构树,所以消耗内存比较多。

因此,我们经常将它们结合起来使用,比如在服务器端用XSLT处理文档,在客户端用CSS来控制显示。可以减少响应时间。


1.6 XSLT和IE5

在XSLT草案发布不久,微软就在IE4中提供了支持XSL功能的预览版本,到IE5.0发布时,正式全面支持XSLT,可是由于IE5发布的比XSLT1.0标准时间早,因此在IE5.0中支持的XSTL功能和XSLT 1.0略有不同。(呵呵~~XML推行的主要原因之一就是解决HTML过分依靠浏览器的问题,现在微软又想标新立异?)。好在微软的IE5.5中执行的标准已经和W3C的XSLT1.0基本相近。但令人头疼的是IE5.0已经发行了几百万套,您使用的XSLT很可能不能被客户的浏览器正确执行。目前XSLT 1.1仍在发展中,W3C及有关组织也在和微软协商争取获得统一。呵呵~~故事还远远没有结束噢。

注重:本文中提到的语法都是根据XSLT 1.0的标准来讲的,没有任何微软的"方言"。

XSLT轻松入门第二章:XSLT的实例
作者: 阿捷
2.XSLT的实例


2.1 XSLT如何转换XML


2.2 一个实例


2.3 过程解析


2.4 XSLT的用途

2.1 XSLT如何转换XML

我们打个有趣的比方,你玩过橡皮泥吧,用不同的模子按上去,就可以做出需要的外形。假如我们假设XML数据文档是一块大橡皮泥,XSLT就象是一个模子,用力一按,就做出需要的外形来---符合不同需要的HTML文档。

具体看下面的过程示意图:


我们将XML原文档输入,用XSL作为模板,通过转换引擎,最终输出需要的HTML文档。其中的转换引擎就是比喻中"用力一按"的过程。在具体应用中,有专门的软件来实现这个转换过程,名为XML Processor。目前已经有很多 Processor 软件(下面将具体提到),在IE5.5中也已经内嵌了XML Processor。
2.2 一个实例


现在我们来看一个简单的XSLT实际应用例子,获得一些感官上的熟悉。很多网页设计师看到类似HTML的代码才会放心,代码是那样的亲切和熟悉。

例子1: "Hello, world!"
hello world作为第一个教程已经是程序语言中的惯例了。我们也遵守这个惯例,看看如何利用XSLT来显示"hello world"。虽然这个例子没有什么实际用途,但是请大家不要急,后面还有更具体的例子。

查看更多 动易Cms教程  动易Cms模板

来源:模板无忧//所属分类:动易Cms教程/更新时间:2006-06-13
相关动易Cms教程