曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
RosettaNet: http://www. rosettanet.org
Electronic Business XML: http://www. e b x m l . o rg / i n d e x . h t m l
566使用XML 高级编程
下载
下载
第13章样式XML
当人们交流时,通常使用两个主要的感觉通道:听觉和视觉。我们前面已经看到, X M L将
数据与表示规则分隔开来。因此, X M L的样式语言要将一个原始X M L文件转换成适应视觉或听
觉感应系统的一系列“解释对象”。由于我们现在开始考虑的是适用于移动产品的网络应用程序,
而不是桌面计算机系统上使用的传统浏览器,因此我们需要有比H T M L更灵活的样式机制。在这
一章里,我们不仅讨论传统浏览器中的X M L样式表,还要讨论如何生成其他格式的样式表,如
打印样式表和语音浏览器的样式表。
样式语言是很奇怪的产品。它们的基础原型是描述编程,这种编程只需要说明“你想做什
么”,而不需要告诉系统“如何得到你想要的结果”。根据需求,你可以选择一系列工具,其中
一些是基于专用语言如B a l i s e或O m n i m a r k的,另外一些则是基于标准的说明如层叠样式表
(Cascading Style Sheets, CSS)、扩展样式表语言( eXtensible Stylesheet Language, XSL)或文
件样式语义和说明语言( Document Style Semantic and Specification Language, DSSSL)。
在这一章里,我们采用两种不同的样式语言来讨论X M L解析或X M L样式:
• CSS。
• XSL 。
在本章结尾我们也简单地讨论一下D S S S L和O m n i m a r k,它们都和X M L一起使用。C S S和
X S L是W 3 C产品,D S S S L是国际标准化组织(I S O)的产品。但是,虽然O m n i m a r k可以从We b上
免费下载,它实际上是一种专用语言。当讨论X S L时,我们主要讨论它如何将X M L文件转换成
H T M L、V O X M L格式或X S L格式对象(用于打印)。V O X M L是V O X M L集团的产品,主要用于
生成语音浏览器─如果你对这个产品的需求市场有所疑问,可以想一想汽车广播或蜂窝电话,
它们都是潜在的语音浏览器。但是,在开始讨论这些语言之前,我们先来看看一些基础理论。
13.1 解释的位置
We b的实际结构要基于客户-服务器系统。H T M L浏览器在第一代网络客户中占主导地位,
但现在第二代网络客户已经进入市场。这些新的浏览器就是X M L浏览器:Internet Explorer(第5
版或更高版本)是一个X M L文档的浏览器。M o z i l l a项目(Open Source委员会正开发的新一代
N e t s c a p e浏览器)也是一个X M L浏览器。
对X M L的解释可以在服务器端进行,也可以在客户端进行。如果客户端的浏览器是一个
X M L浏览器,那么H T T P服务器的任务就极为简单,它只要链接正确的样式表到文件上(或者文
件本身也许已经有和样式表的链接),并将样式表发送到浏览器上。如果客户端的浏览器不是一
个X M L浏览器,那么文件在被传送出去以前必须转换成一个可以显示的文件。因此,将X M L文
件转换成可显示的文件这一任务既可以由X M L浏览器完成,也可以由H T T P服务器完成。
服务器端的X M L转换
H T T P可以看作是文件服务器,但它除具有简单的文件服务器功能以外,还有一些其他功能。
这些添加功能大部分都是脚本引擎格式,其中最普遍的是A S P、J S P、P H P或Cold Fusion,它们
都是基于模板的。
要想处理X M L,H T T P服务器需要具有处理X M L的附加功能─最简单的附加功能是将
X M L文件转换成H T M L文档,并将H T M L文档传送到浏览器上进行解释(如X S LT引擎)。更复
杂一些的附加功能是X M L大全库。我们在第9章已经看到,先对X M L文件进行解析,接着转换
成一种内部格式,然后样式引擎用模板将内部格式转换为H T M L文件(参见图1 3 - 1)。然而如果
有详尽的X M L库,解析过程就不必要了,因为在内部格式中已经对文件进行解释并存储,这样
样式引擎就可以直接对内部格式文件进行操作了。通常有X M L库的服务器性能要好于那些简单
的文件系统。但文件系统可以通过对已经转换成H T M L的文件进行缓存来提高它们的性能(参见
图1 3 - 1)。
图13-1
13.2 客户端的XML转换
如果客户端是一个X M L浏览器,转换任务就容易多了。实际上,几乎所有的H T T P服务器都
可以为X M L浏览器提供X M L文档。
过程很简单,H T T P服务器传送X M L文档给浏览器。然后浏览器用一个专用的结构─“处
理指令”浏览接收到的文档。我们在后面将会看到,处理指令允许浏览器对与X M L文件相关联
的样式表进行演绎并解释X M L文档。
当然,你所选择的样式语言也取决于浏览器的功能。一些浏览器也许只能处理带C S S样式表
的X M L文档,而另外一些则可以处理带X S L样式表的X M L文档。
13.3 解释模型
在本章中我们将要讨论的两个解释模型是语音解释模型和视觉解释模型。由于语音解释模
型意味着一系列顺序的解释对象,这同时也意味着语音浏览器是一个时间相关的产品。而另一
方面,视觉解释模型中的解释对象在空间放置,因此视觉浏览器是空间相关的产品。下面,我
们看看这两种浏览器之间的差异。
568使用XML 高级编程
下载
HTML
浏览器
HTML文件HTTP
服务器
XML
处理附
加功能
文件系统
XML库
13.3.1 视觉解释
现在,最普通的可携带信息介质就是简单的一页纸。但是,如果考虑到每天要接收信息,
则浏览器无疑正日益成为信息共享的通用介质。虽然浏览器是在屏幕上显示电子信息,但它和
纸之间还有一个大的差异。纸为阅读者提供了一个固定尺寸的页面,而浏览器则通过观察端口
或窗口提供了一个尺寸变化的页面。
可以传送X M L文件的浏览器很容易得到,如Microsoft Internet Explorer 5(免费下载)。IE 5
支持C S S和X S L。
IE 5不完全支持CSS,并且它对XSLT的实现也不符合W3C的建议。
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML高级编程下(23)