XML Schema 与 XML DTD 的技术比较与分析 引言 XML DTD(XML 的文档类型定义)是近几年来XML 技术领域所使用的最广泛的一种模式。但是,由于XML DTD 并不能完全满足XML 自动化处理的要求,例如不能很好实现应用程序不同模块间的相互协调,缺乏对文档结构、属性、数据类型等约束的足够描述等等,所以 W3C 于2001年5月正式推荐 XML Schema 为 XML 的标准模式。显然,W3C 希望以XML Schema 来作为 XML 模式描述语言的主流,并逐渐代替 XML DTD。那么 XML Schema 与XML DTD 相比到底有哪些优势呢,XML DTD 是否真的会在 XML 的模式描述领域中逐渐消失呢? 回页首 XML 模式与XML 格式 XML 模式是指用来描述 XML 结构、约束等因素的语言,例如XML Schema、XML DTD、XDR,SOX 等等。XML 格式则是XML 文档本身所具有的格式。本文以 XML Schema 来代表 W3C 所推荐的XML Schema 模式标准,而以"XML 模式"来代表所有的XML 模式描述语言。 从模式的描述语言来说,XML Schema 和 XML DTD 都属于语法模式。与概念模式不同,语法模式在对同一事物描述时,可以采用不同的语法,例如在对关系模式描述时,无论是使用XML Schema 还是XML DTD,都既可以用元素也可以用属性来描述关系模式的列。 模式必须以某种格式来表示,XML Schema 的格式与XML DTD 的格式有着非常明显的区别,XML Schema 事实上也是XML 的一种应用,也就是说 XML Schema 的格式与XML 的格式是完全相同的,而作为 SGML DTD 的一个子集,XML DTD 具有着与XML 格式完全不同的格式。这种区别会给 XML Schema 的使用带来许多好处: XML 用户在使用XML Schema 的时候,不需要为了理解 XML Schema 而重新学习,节省了时间; 由于XML Schema 本身也是一种XML,所以许多的XML 编辑工具、API 开发包、XML 语法分析器可以直接的应用到 XML Schema,而不需要修改。 作为 XML 的一个应用,XML Schema 理所当然的继承了 XML 的自描述性和可扩展性,这使得 XML Schema 更具有可读性和灵活性。 由于格式完全与XML 一样,XML Schema 除了可以像 XML 一样处理外,也可以同它所描述的XML 文档以同样的方式存储在一起,方便管理。 XML Schema 与XML 格式的一致性,使得以 XML 为数据交换的应用系统之间,也可以方便的进行模式交换。 XML 有非常高的合法性要求...