• 热门标签

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

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

类型,表示大的和小的产品定单:
程序清单7 - 3 2
i n t e g e r类型具有有约束的f a c e t s表示范围,它们名为m i n I n c l u s i v e、m i n E x c l u s i v e、m a x I n c l u s i v e
和m a x E x c l u s i v e。上面的例子利用了这些可以实现:一个小定单可以包括在1和1 0 0 0单位之间的所
有订单。在我们的类型系统里一个大的定单是超过1 0 0 0单位的所有订单。
7.7 简化了的XML Data
在写本书时XML 模式还不是一个推荐标准( 2 0 0 0年1月),于是我们不能在这里提供一个正
在使用的例子。但是,为了看到将怎样利用XML 模式的功能,看一下用X M L语法写成的模式不
同的实现方式,我们把它称为简化的XML Data,一个在M i c r o s o f t的M S X M L解析器里实现的
XML Data子集,能够在I E 5或作为一个独立的组件使用它。在开始写的时候,简化的XML Data
语法不同于可利用的XML 模式工作草案,这样将告诉我们能够怎样使用XML 模式在应用程序
里带来的好处。
广泛使用起来的解析器不是只有M S X M L,但M i c r o s o f t由于他们的主动,正在积极地使用简
化的XML Data,特别是B i z Ta l k。这包括在分享电子商务市场词汇表所做出的努力。当M i c r o s o f t
许诺在草案变成推荐书时采纳XML 模式,结果立刻导致了很多人正在利用简化的XML Data建
立原型甚至产品,这在W3C 模式推荐书之前作为一个中间的方法。
由于这是一个我们现在能够工作的工具,并且它正被用在几个领域的原型,在本章倒数第
二部分我们将要看一下简化的XML Data语法。由于已经看了语法,下面我们将建立几个例子,
让你看到这几个新的模式功能。
IBM在他们的XML4J解析器的beta版引进了对XML 模式的部分支持。但是,自从MSXML
拥有更丰富的支持并且是发行工具,我们将集中力量在简化的XML Data上。
什么是简化的XML Data
正如我们说过的,简化的XML Data(X M L - D R)是整个XML Data提议的一个子集,根据子
集包括的多少,它就像文档内容描述说明书包含的那些需要完成D T D任务的结构,大概提供了
相同的功能。对于D T D提供的能力,它也提供了一个新的扩展。它是由一个搭载Internet Explore
222使用XML 高级编程
下载
5 . 0的X M L解析器里的叫做技术预览的工具实现。它也被一些商业工具支持,特别是D T D /模式
编辑器比如可扩展的XML Authority。这些正在做明确的调查,因为它对于实验可以利用并且正
被大量的发明者使用。
模式支持
简化的XML Data在概念上与XML 模式
的核心结构类似,只是语法有些微妙的不同。
更为复杂的结构比如类型,不能被复制,但
你需要的定义X M L里词汇表的每个内容经
常使用非常简单的语法。这是在简化的
XML Data里说明的元素和它们的XML 模式
等价物:
小心注意名字的使用,因为在X M L模式
和X M L - D R模式之间有些微妙的不同(参
见表7 - 5)。
XML-DR 模式的完整参考可以在
http://msdn.microsoft.com/xml/reference/schema.start.asp上在线搜寻。
(1) 模式
X M L - D R里的S c h e m a元素非常近似于XML 模式里的模式元素。这个元素完成下面的功能:
• 包含元素和属性声明。
• 命名模式。
• 声明在模式里使用的命名空间。
不像X M L模式, X M L - D R里的模式不使用包含i m p o r t、e x p o r t和i n c l u d e元素的导言。相
反,它们使用命名空间声明。每一个XML-DR 模式必须声明XML Data和M i c r o s o f t的数据类
型命名空间。如果遵守固定的命名习惯(下面我们讨论支持X M L - D R的解析器时将要介绍这
些),来自另一个命名空间的外部内容可能被解析器使用和验证。这里是一个忽略内容的模式
例子:
程序清单7 - 3 3
(2) 元素和属性
元素和属性分别被声明在E l e m e n t Ty p e和A t t r i b u t e Ty p e元素。
< E l e m e n t Ty p e >元素有五个重要属性(参见表7 - 6)。
第7章命名空间和模式使用223 下载
表7 - 5
XML 模式命令X M L - D R命令
s c h e m a S c h e m a
e l e m e n t E l e m e n t Ty p e
e l e m e n t R e f e l e m e n t
a t t r i b u t e A t t r i b u t e Ty p e
n o n e attribute
d a t a t y p e d a t a t y p e
N o n e d e s c r i p t i o n
M o d e l G r o u p , g r o u p g r o u p
表7 - 6
E l e m e n t Ty p e属性含义
n a m e 元素名称
c o n t e n t 描述可能包含在元素里的内容:e m p t y, t e x t O n l y(只对P C D ATA),
e l t O n l y(只对元素内容),m i x e d(P C D ATA和元素)
d t : t y p e 表示元素类型。这个属性与XML 模式里的< d a t a t y p e >元素一致。
有效值从X M L数据类型预览工具得到
m o d e l 开放或关闭的内容模型
o r d e r 子元素的基本顺序:o n e(从一系列元素选出的一个)、s e q(特
定的元素序列)、m a n y(以任意顺序可能出现或不出现的特定元
素)
元素还能包含下面四种内容类型之一,这些内容类型用< E l e m e n t Ty p e >元素的c o n t e n t属性来
描述:
• 没有内容: e m p t y。
• 只有文本: t e x t O n l y。
• 只有子元素:e l t O n l y。
• 混合文本和子元素: m i x e d。
我们能用< e l e m e n t >和< a t t r i b u t e >元素去约束已经声明的元素的内容。这些元素声明子元素
和可以用于一个元素的属性。
< e l e m e n t >元素能有三个属性(参见表7 - 7)。
表7 - 7
属性描述
t y p e 与在模式里定义的< E l e m e n t Ty p e >的n a m e属性值相一致
m i n O c c u r s 引用元素类型在元素里能出现的最小次数,当出现次数为0,即元素是可
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(81)