有关DTDs和schemas的讨论

ZDNet软件频道 时间:2003-03-07 作者:翻译:Java研究组织-Jacky |  我要评论()
本文关键词:
每一项技术都有其可争论的焦点,XML也不可避免,尤其是当谈论到DTDs和schemas的时候。这两种技术有着这类似的功能,但是争论的焦点是…。让我们来看看它们各自的优劣。
每一项技术都有其可争论的焦点,XML也不可避免,尤其是当谈论到DTDs和schemas的时候。这两种技术有着这类似的功能,但是争论的焦点是…。让我们来看看它们各自的优劣。
DTDs和schemas的角色

本质上来说,DTDs和schemas的作用是一样的。它们各自使用不同的方法来帮助XML的开发者描述XML文档的结构和数据。如果没有它们,那么在遇到某一结构或数据类型标准时,你就很难判断XML文档的有效性。

DTDs和schemas提供了XML解析器,描述了XML文档的结构。例如,<City>元素是否可以嵌套在<Address>元素内;解析器期待在<Address>元素中有多少个<City>元素;以及元素内的数据类型。

有关DTD的争论

DTDs描述你正在处理的文档类型,比XML稍为长一点。当你使用XML来描述的时候,需要注意些概念以防出错。其中一个问题是校验,这个过程用于比较XML文档和它的DTD。

正面观点

DTD的主要优点是提供校验解析器,该解析器是用来检验XML文档的一个映射。该映射描述了在文档中元素如何与其他元素相关联。它描述了元素如何互相嵌套,以及可嵌套的次数。同时,它也松散地定义了数据类型。

同时,DTDs是跟XML一起出现的,他们已成为描述XML文档的事实上的标准。

反面观点

尽管DTDs很有用,但是它们并非专为处理XML域而设计。对于开发者而言,DTDs的主要缺点是类型检查的功能比较差。同时,DTDs的创建格式奇怪且古老。DTDs在描述文档结构上能力有限,比如元素可以嵌套的个数。

有关schema的争论

schemas针对DTDs的弱点应运而生,且跟XML要实现的目标更为紧密。几乎自XML诞生以来,就有许多呼声要求扩展DTDs,且给出了其他解决方案。许多方案就是以schemas的形式出现的。最近,W3C组织已经公布了一个schema的说明书,将现存的多个schema方案统一成一个。

正面观点

schemas的主要优点是有着更为强大的定义数据类型的能力。Schemas正在逐步取代古老的DTDs方式。同时,schemas还能够提供更为丰富的方式以描述复杂的XML类型。

使用schemas可以更为精确的说明文档的结构。例如,使用minOccurs和maxOccurs就可以说明在一个特定环境下,一个元素可以出现的次数。

反面观点

schemas的主要问题是它还需要时间。DTDs已经出现很长时间了,尽管DTDs有弱点,但是它仍然是描述XML文档的标准方案。



责任编辑:炒饭

欢迎评论或投稿


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134