• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:16来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

• 简单的原型─将属性添加到元素上。
• 简单的语法。
13. CSS小结
C S S是一种极其简单的样式语言,很容易记忆和使用。它的主要优点就是简单。如果你仅仅
想解释一个X M L文档,不需要做任何元素转换,那么C S S是最适合的。C S S的主要缺点是没有复
杂的解释模型,并且其应用依赖于要处理的X M L文档结构。这也意味着处理程序必须明白X M L
─而许多浏览器都不是这样的。如果你需要一种不太依赖于文档结果和解释格式的语言,则
X S L和D S S S L很合适。不过,目前正在进行的工作将使C S S语言增加一些诱人的功能和附件。
下面我们将集中讨论本章中要用到的另一种主要样式语言: X S L。
13.3.6 XSL
同C S S相比,扩展样式表语言使用一种完全不同的方法解释X M L文件,使X M L文件变成可
显示的对象。X S L更灵活,可以将X M L转换成适用于不同媒体的语言。在第9章中我们讨论
592使用XML 高级编程
下载
X M L转换时曾提到过X S LT。在本章里我们将讲述如何用X S LT将X M L文件转换成H T M L格式以
及其他的X M L文件结构。
将X M L转换成H T M L是在We b上显示X M L的一种有效方法,因为这意味着我们不只为使用
最新浏览器的客户提供页面。这个转换过程在服务器上完成。而且,像我们在本章前面所说的
一样,有时我们需要生成一个X M L文档的其他文档类型或文档结构,在这里X S L的转换功能就
十分适合完成这项任务。实际上我们用X S LT对第9章中的样本X M L文档进行元素重排,这样就
可以用一个C S S样式表表示这个文档。所以在本章的其余部分里,我们将讨论如何使用X S L生成
不同的表示格式。
如同我们在本章开始时说的一样,样式不仅仅是关于如何在We b上显示一个文档。如果我们
要适应不同的应用需求而改写X M L内容,那么必须能在同一个源文档的基础上生成不同的格式
文档。所以,下面我们看看如何用X S L显示样本X M L文档,使其分别用于在线显示、打印以及
语音浏览器。
X S L现在分成为三种不同的规范:
• XPath──h t t p : / / w w w. w 3 . o rg / T R / x p a t h。
• XSLT──h t t p : / / w w w. w 3 . o rg / T R / x s l t。
• XSLF──h t t p : / / w w w. w 3 . o rg / T R / x s l。
X S LT说明着重于X M L文档转换,而X S L F说明着重于格式对象, X P a t h则着重于从X M L层
次结构上访问结点。极少数情况下, X S L引擎会支持转换部分( X S LT)和X P a t h。在浏览器中
(如IE 5)X S LT也许比X S L F更普遍,因为它们的语言是基于X M L的。X S L的格式对象在打印格
式化器中生成,如F O P(h t t p : / / w w w. j t a u b e r. c o m / f o p /)或R e n d e r X(h t t p : / / w w w. r e n d e r x . c o m /),
这两者都能将X M L文档转换成P D F。当需要将文档传输到打印介质上时,这些格式转换是十分
有用的。
我们在本章开始时提到过,解释X M L不仅仅是准备将X M L文档使其能在We b上浏览。现在,
X S L可以为打印和在线解释提供服务,也可以将X M L文档转换成其他的标记语言,如用于语音
浏览的V O X M L。所以下面我们看看如何使用这些应用功能。
1. XSL转换
在第9章中我们讨论了X M L文档如何转换成H T M L,或其他的X M L文档结构(如X H T M L,
其规范可以在h t t p : / / w w w. w 3 . o rg / T R / x h t m l 1 /上找到)。用X S LT解释不依赖于文档结构。再举一个
例子,如果一个关系数据库服务器对一个查询的返回结果是一个X M L文档,则在解释前要用一
个样式表生成页面对象或重新排列元素的顺序。
此外,我们可以用生成H T M L以及其他X M L文档结构的转换规则来生成其他语言的文件,
如V O X M L(h t t p : / / w w w. v o x m l . c o m)─用于语音解释的一个X M L应用程序。这些转换在X S L
规范中的X S LT部分可以找到(h t t p : / / w w w. w 3 . o rg / T R / x s l t)。
2. XSL格式化对象
当我们处理打印对象时, X M L文档可以转换成X S L格式化对象。在实际中X S L格式化对象
的部分再转换成另一种格式,如P D F,这个过程是单独进行的,并且采用了X S L的一个不同部
分:X S L F。我们必须指出的是X S L格式对象不仅可以转换成P D F,也可以转换成一些其他的新
第13章样式XML使用593 下载
格式─如Te X、RT F、M I F等。X S L F格式对象同D S S S L格式对象一样,不依赖于某一特定的
解释或格式模型。因此,也同D S S S L一样,一个X S L F引擎可以仅用一个样式表就将X M L文档
转换成不同的输出格式。
X S L是可扩展的,它的名字已经表示了它的扩展性。这表明可以很容易地将格式对象加入到
已经存在的语言中,而没有C S S的限制─固定的格式化对象集。X S L格式化对象方面的技术还
需要进行很多工作,在写本章的时候,还没有形成一个W 3 C建议标准。最新的X S L工作草案可
以在h t t p : / / w w w. w 3 . o rg / T R / W D - x s l /上得到。
3. XSLF如何工作
同其他的规则语言一样, X S L文档(无论是X S LT还是X S L F)是由模式匹配部分和行动部分
组成的规则集合。在X S L中这些规则叫做模板,所以一个X S L样式表的基本元素是一个模板。
X S L模板的模式匹配部分被称为一个X P a t h表达式(见第8章和第9章)。
一旦X P a t h已经选定了一个文件结点,它就与模板的内容相关联。因为要将X M L文档转换成
一个X S L格式化对象的结果树,所以需要将原始X M L文档中的每个元素匹配到一个特定的模板
上。并且,当要求转换原始文件时,可以用几个X S LT命令和X P a t h表达式一起访问转换成层次
结构的X M L文档的任何一个结点。
一个X P a t h表达式允许我们访问任何文件结点。X S LT命令允许我们对结点和含X S L格式对象
的模板进行匹配。
为了更好地理解这个过程,我们讨论一下一个X S L引擎的内部组成;
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程下(30)