• 热门标签

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

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

够让解析器来规格化空白,这也是一项非常便利的特征,特别是对于用X S LT编写的应用程
序。
108使用XML 高级编程
下载
就元素结构而言, D T D中的参数实体是一种表述许多不同元素的属性或属性集合共性的有
效工具。
4.3.3 XML模式建议
前一段时间, W 3 C已经意识到D T D的局限性,为了寻求解决方案,它花费了大量时间,部
分原因在于已经形成的几个重要建议似乎都不能完全解决这个问题。其中颇具影响的一个建议
是M i c r o s o f t专有的X M L数据规范,We b站点h t t p : / / b i z t a l k . o rg / R e s o u r c e s / s c h e m a s g u i d e . a s p介绍了
这个规范。
X M L模式工作组在1 9 9 9年11月5日同时提出了两个草案:
• 第一部分,结构(h t t p : / / w w w. w 3 . o rg / T R / x m l s c h e m a - 1)说明了如何控制和描述文档的结构
化规则。
• 第二部分,数据类型( h t t p : / / w w w. w 3 . o rg / T R / x m l s c h e m a - 2)描述了内容项的数据类型的定
义。
这些建议尚未完成,许多部分都处在制定过程中,我们强烈建议你不要使用当前形式的规
范。然而,这些建议的确提出了一些将在最终规范中出现的概念,这些概念非常值得研究,即
使没有X M L模式软件,对于你这个文档设计者来说,这些概念也是非常有价值的。
X M L模式中最基础的概念是:模式是一个描述(和约束)一组X M L文档实例的文档。X M L
模式本身就是一个X M L文档:这一点非常重要,因为这意味着X M L应用程序(例如: X S LT样
式表)很容易查询模式。S Q L程序员对这个概念并不陌生:它类似于在系统表中放置可以通过
S Q L访问的S Q L模式。它还允许你利用仅供应用程序使用的信息修饰模式—例如,你可以给每
个元素类型添加相关的机密等级,并在应用程序中利用该信息决定应该向特定的用户显示哪些
信息。
目前处于草案状态的X M L模式分为两个规范。第一部分结构,侧重于对元素结构的约束。
它介绍了原型( A r c h e t y p e)的概念,从本质上讲,原型是个复合数据类型。元素类型可以声明
为符合特定的原型,其中原型定义了所有的约束,例如:它能够包含哪些子元素和属性。将原
型定义与元素定义相分离的优势在于几个元素类型能够使用相同的原型( B i l l i n g . A d d r e s s和
S e r v i c e . A d d r e s s可以都符合原型A d d r e s s)。它对应于D T D中参数实体的主要用法之一。
X M L模式工作组还打算提供一种机制,使得一个原型能够精炼另一个原型,这是实现类型
层次所必需的。然而,在当前的草案中,满足这种需求的语法尚未定义。
规范的第二部分讨论了数据类型,它包含的基本数据类型有:字符串、数字、布尔值和日
期,除此之外,它还规定了如何通过组合或限制现有的数据类型或者通过枚举值的方式定义新
的数据类型。这些数据类型可以用于约束属性的值或元素的文本内容。内置的数据类型包括了
现代编程语言或S Q L中常见的类型,另外,它提供的用于定义最小值和最大值等约束的机制比
其他大多数语言更加强大。规范还保留了“遗留的” X M L数据类型,例如:N M TO K E N S。它将
数据类型的值的定义与X M L文档中词法的表示严格区分开,因此相同的值可能有多种不同的词
法表示(例如:3,3 . 0和0 3 . 0 0)。与第一部分类似,数据类型的定义与使用该类型的元素和属性
的定义是分离的,因此许多不同的元素和属性可以共享相同的数据类型。
第4章数据建模与XML使用109 下载
就X M L模式目前的状态而言,仍然有许多完整性约束是无法用模式表达的,必须由应用程
序来限制。例如,目前无法定义属性之间的约束(逝世日期必须在出生日期之后),它只能定义
对直接子元素的约束(例如:“在字典条目中,词目或词目的至少一个变种必须有词源”)。实际
上,有些有效性约束只能在应用程序级完成,正如关系数据库中更加成熟的约束定义。
我们将在第7章详细介绍X M L模式。
4.4 小结
在本章中,我们首先讨论了一些基本的信息建模原则,它们是在X M L项目中经常用到的,
我们特别区分了静态信息模型(理解现实世界中的事物和关系)和动态信息建模(理解在业务
过程中从A到B需要获取哪些信息)的作用。这两种模型都与X M L相关,将X M L文档分为保存
静态永久性数据和保存暂时性消息这两种类型是非常意义的。
随后,我们介绍了如何将概念化信息模型转换为X M L文档的设计。我们分析了一些必要的
设计决策:如何表示类型层次,使用元素或属性,以及如何将二进制属性编码。
最后,我们讨论了如何在XML DTD或模式中表达设计,这两者都规定了正式的约束,以便
对文档实例进行自动检测,并将文档的含义传达给要创建文档和处理信息内容的人。
110使用XML 高级编程
下载
下载
第5章文档对象模型
现在,应该开始研究X M L文档的结构,以及如何利用它描述层次化信息。下面,我们将说
明如何通过程序访问X M L文档。其中一种方法是通过文档对象模型( Document Object Model,
D O M)。在本章中,我们将介绍文档对象模型,并借助几个程序实例解释它的功能。
5.1 什么是文档对象模型
文档对象模型一词在We b浏览器领域并不陌生。窗口、文档和历史等对象都被认为是浏览器
对象模型的一部分。然而,任何做过We b开发的人都知道各种浏览器实现这些对象的方式不尽相
同。对于如何通过We b访问和操作文档结构这个问题,为了创建更加标准化的方法, W 3 C提出
了目前的W3C DOM规范。
W3C DOM是一种独立于语言和平台的定义,即:它定义了构成D O M的不同对象的定义,
却没有提供特定的实现,实际上,它能够用任何编程语言实现。例如,为了通过D O M访问传统
的数据存储,可以将D O M实现为传统数据访问功能之外的一层包装。利用D O M中的对象,开发
人员可以对文档进行读取、搜索、修改、添加和删除等操作。D O M为文档导航以及操作H T M L
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(47)