• 热门标签

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

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

• 探讨了X M L程序段交换的工作草案规范,以及如何传输带有环境信息的X M L程序段,从
而有助于解释X M L程序段。
• 我们探讨了一些现有的X M L查询语言,并通过几个例子验证了两个最新的查询技术:
X S LT和XPa t h
由于时间仓促,这些技术很多还没有被广泛应用,相信不久的将来它们肯定会成为被广泛
使用的X M L技术集合的一个组成部分。如果你已经了解了这些技术,当它们变得实用的时候,
将会使你在未来的竞争中更具优势。
第8章链接和查询使用309 下载
下载
第9章转换XML
有人将X M L说成一种文档格式。有人将它说成一种存储数据的分级模式。按照其他的标准,
一个X M L文档可以被理解为通过一种网络化的处理机构来遍历数据。每个网络节点存储或处理
数据并且将结果传输传给相邻的节点。在这个世界里,一个X M L文档是一种流过或流在一个网
络中的应用中的数据。然而,我们看到,任何X M L文档都是元素的汇集。这些元素是按某种方
案组织的(无论是显式的,即通过使用D T D或其他的标准,还是隐式的,即没有一个定义过的
标准),并且也可能是一种分级命令。我们也可以说X M L文档是一个序列化版本的分级命令—
一种用于在处理机构之间交换信息的文本。然而,在内部,这些处理机构并不使用序列化的版
本(X M L文档)而是使用更便于工作的内部表示。
如果X M L真能够帮助我们,来创建可相互跨越平台的与不同应用之间相互交流的复杂的应
用,并且我们真的想重用使用X M L标识出的数据,共享那些使用X M L作为一种通用格式的数据
的话,则需要为那些没有对他们的数据使用相同命令的人和应用做一些准备。在这一章,我们
将考查一下有哪些方法可以将我们的数据转换为另一种X M L词汇表的数据,或只是重新排列一
下我们的数据。
在这一章,我们将重点放在处理X M L的转换方面。转换X M L有很多的原因,所以在这一章,
先首先看一下为什么和什么时候要将X M L转换为另一种格式。我们主要使用X S L转换方式,尽
管将在本章的最后讨论其他转换的方法。
在X M L领域中关于可用的不同的转换方法已经引起了激烈的争论。不同的程序员通常喜欢
用不同的解决方法来处理转换X M L,所以,我们将看一下下面的可选方法中的一些观点,这样
你可以决定使用哪一种方法(我们假设在读过的第5章后你已经熟悉D O M,或者已经正在使用
它)。
在看完了为什么需要转换文档的几个原因之后,我们将继续看一下使用X S LT作为转换语言。
我们将向你介绍基本的语法,让你通过使用X S L来转换文档。这将包括一个将书的命令转换为
一种新命令的例子。注意这个转换要求X P a t h的知识,它是一个在X S LT中使用的规格说明,用
来指定一个X M L文件的特别部分。X P a t h已经在前面的章节中详细地说明了。一旦我们看过了
X S LT,我们将看一下如何使用D O M和脚本来修改同一本书列表的命令。在看过更多的动态文档
之后,我们将使用所学的这章X S L部分和更早的D O M章节中的知识,根据用户的交互作用,创
建一个重新排列过表格内容的文档。然后我们将比较两种转换方法。为了将转换包装起来,我
们将看一下什么时候你可能会考虑使用不同的方法。总共这一章将涉及:
• 为什么X M L转换是必要的。
• 关于X S LT语法的介绍。
• 使用X S LT来转换静态文档的一个例子。
• 使用X S LT来转换更多的动态X M L文档。
这个将把你带到为所需要处理的X M L文档选择转换类型的位置上来,并且教给你在不同转
换类型背后的核心原则。
9.1 为什么转换XML
如果我们使用X M L来存储基于文本的文件,或者我们接收由其他类型的程序生成的X M L,
它是一种混合格式。因为X M L是一种平台独立的,并且可以在应用中的不同部分之间被转换,
这就经常出现人们要求以不同的命令来处理信息。另外,我们可能经常需要根据一个变动的交
互文档转换文档的命令。例如,根据一个用户的要求或选择进行文档的重构。转换一般属于下
面三个方面之一:
• 命令的转换—从一种X M L术语转换成另一种,就像翻译一样。例如两种金融标识语言
F P M L和f i n M L的例子。
• 创建动态文档—允许用户对文档进行重组、过滤和部分排序,就像允许用户点击一个表
格列的头对内容进行排序一样。
• 转换成另一种解释语言—准备提交给用户用在一些浏览器上,如WA P(无线应用协议,
Wireless Application Protocol)、H T M L、V O X M L或S V G(可变向量图形,Scalable Ve c t o r
G r a p h i c s)。
让我们按顺序看一下每一部分。
9.1.1 在不同词汇表之间转换
如果我们再考虑一下在第2章中用X M L标识出的书的目录,可能对目录数据存在着许多潜在
的应用。例如,Wr o x可能在它的站点上或内部网中使用这些书的一个目录,使用在第3章我们所
创建的D T D。与此同时,几家书店也几乎要求相同的信息。这个听上去像是一个关于X M L的理
想工作。然而,如果不同的书店使用不同的D T D来标识相同的数据,我们需要一种方法来将数
据转换成同他们相兼容的版本。
例如,w w w. w r o x . c o m站点可能使用下面的p u b C a t a l o g . d t d来进行标识,这是在第3章中我们
遇到过的:
程序清单9 - 1
然而,XYZBooks Inc.可能要求一种不同格式的数据,就像:
第9章转换XML使用311 下载
程序清单9 - 2
正如你所见,两个< B o o k >元素的属性有着自己的规则: < I S B N >和< P u b d a t e >。再强调一次,
为了按两种格式准备和存储数据,我们只能将一种转换格式到另一种。
这仅仅是我们需要转换X M L词汇表为另一种格式的例子中的一个,我想你可能想出更多的
例子来。在电子商务中,这类的转换被认为是非常重要,不同的公司可能需要它们的数据的格
式不同。另一方面,我们可能甚至决定更新某个已经存在的应用,需要转换旧的X M L(现在对
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(105)