曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
美元的定单,最大值为1 0 0 0美元,你可以强加这些限制到用XML Data写成的定单模式里。换
一种想法,如果他们的帐户没有钱,你能够使用约束去防止人们消费,或防止他们输入无效的
数值。
(4) 类型继承
一个有趣的重用机制是XML Data支持类型继承。这些使我们在试着用X M L解决的问题里描
述实体时发展和扩展了元素。我们能够写一些具有普遍意义的超类型声明。实体可能按照这种
方式用于D T D,但是类型继承标准化了这个过程。没有一个正式的语义集合,实体可能被误用
到不是使用户清晰,而是使他们迷惑的地方。一个正式的继承机制给了我们一个工具,在解决
一些控件如何使用时去提高重用。
(5) 开放和关闭的内容模型
XML Data另一个强大的特性是开放和关闭的内容模型的概念。经典的D T D是一个关闭的模
型。文档转换成它一定坚持这个原则,并且可能不包含任何不遵循这个规则的内容,因为词汇
表里的所有规则一定存在于D T D。
如果一个模式是开放的,文档转换成它可能包含没有在D T D里声明的其他信息。与模式一
致的部分必须服从存在于模式里的规则,但我们能够插入其他条目而不受当前模式的限制。这
些条目可能在另一个模式里定义过,或者可能完全没有限制。我们可能插入一些特殊的值。更
为重要的是,从我们当前讨论的立场出发,开放模型文档是我们混合命名空间的方式。我们能
够将大量完全遵照一个模式的信息嵌入文档中去以与另外一个模式保持一致。更为正式地,各
个元素可能明确地被声明为含有开放或关闭的内容模型。这些通过c o n t e n t属性来实现。这个属
第7章命名空间和模式使用207 下载
性缺省的值是o p e n。这里有个例子:
程序清单7 - 1 0
若是上面例子中的c o n t e n t属性被赋成o p e n,这个片段就是有效的。
(6) 扩展的I D和I D R E F结构
XML Data通过关系扩展I D和I D R E F结构。在关系里,一个元素担当着对另一个元素内容的
关键字或索引。这可直接应用于关系型数据库的主键和外键。它对于有两种语言的文档也特别
有用。别名和关联非常有用。
别名用于定义一个同等意义的元素,于是在我们的例子里,可以在英文文档里有< B o o k >,
并且想要用相应的法语元素将这个标记翻译成< L i v r e >。
其他时候,我们想要假设两种标记说明特定的事物,这需通过关联来实现。
换一个角度来考虑,我们可能有一个购物文档,其中有一个< P u r c h a s e r >元素,它引用其他
地方的< C u s t o m e r >元素。< P u r c h a s e r >的关联是< C u s t o m e r >是指< P u r c h a s e r >是< C u s t o m e r >的别名。
这些对于从事实体关系图表工作的数据库设计者非常熟悉。
正如你看到的, XML Data直接回答了我们对于D T D提出的问题。我们将不会在XML Data
的实用信息上走得太远,这是因为Microsoft IE 5.0带来的X M L解析器里的模式支持已经出现了
简化形式的提议。我们将要在本章后面深入研究这些支持。
更多的关于XML Data信息可能在http://www.w3.org/TR/1998/NOTE-XML-data/找到。
3. 文档内容描述
文档内容描述( D C D)提议是与XML Data提议密切相关的。它已被I B M、M i c r o s o f t和
Te x t u a l i t y公司提交。一个R D F词汇表很明确地是为声明X M L词汇表而设计的。它的支持者利用
富有表现力的元数据标准—R D F—去创建被提议的更多适合领域的标准。这个地方X M L的
创建与简化的S G M L子集有相同的特性。
尽管XML Data一些更为先进的特性已经不见了, D C D在语法上近似于XML Data。D C D没
有提及关系和关联。它主要集中在定义X M L词汇表。然而像元素继承一样,它保留了强大的对
XML Data数据类型的支持。像XML Data一样, D C D允许词汇表设计者去声明一个模式模型,
或者开放的、或者关闭的。不像XML Data,在用来定义元素时, D C D使用相同的机制声明开放
或关闭的模式。像XML Data一样, D C D允许对元素内容值上的约束说明。例如,一个名为
< S m a l l I n v e s t m e n t >的元素可能利用对它允许数值的约束来声明一个固定数量的类型,比如说比
208使用XML 高级编程
下载
零大并且小于等于一万。
D C D在吸收R D F的主体同时,是一个对D T D问题的直接攻击。它将强大的功能转向简单化。
由于它与XML Data和I E上的支持的模式如此相同,我们就不会在D C D上研究得很深。但是为了
理解W3C 模式的功能,应记住D C D是元数据的简单结束。D T D将重点放在精度上,并且为了给
XML 模式提供简单可使用的标准而放弃了深度。
W3C声明中有关文档内容的说明可在站点http://www.w3c.org/TR/NOTE-dcd/。
4. 寻找正确的平衡点
这些提议只代表了一系列元数据能力的精华部分。它们决不只是影响在XML 模式上。参考
这本书的上下文考虑它们。问问你自己“什么是便于X M L在网络应用中真正需要的?”问答前
面提出的问题只是一个必备条件的子集。事实上,对于企业网应用,我们可能甚至没有能力去
用X M L解析器读模式。我将要讨论另一个问题:简单化。应用集成,特别是覆盖公众I n t e r n e t,
更需要简单、可靠的方案。复杂性只能招致失败,延误传输。就像简单的X M L在知名度和接纳
程度上快速地超过复杂的S G M L,我相信一个简单但有效的元数据提议将会才是真正能满足需要
的。
R D F在自己的领域非常完美。它强大的表现能力可被用于特殊的舞台。然而期望一个复杂、
标准的R D F任何时候很快变成网络应用开发工具包的整体部分是不合乎道理的。XML Data和
D C D与这个标志比较紧密;它们去掉了复杂性以有利于它们的促进者想要作为本质的东西。这
是一条要被画的复杂的线。XML Data关系重要吗?更多地依赖于基于今后几年内X M L应用的本
质。
一个致力于XML 模式的工作组正努力工作并希望在2 0 0 0年内达到推荐标准的要求。X M L
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML高级编程上(76)