【发布时间】:2011-11-17 13:05:16
【问题描述】:
在 XML 中,DTD 和 Schema 有什么区别?
【问题讨论】:
-
当你谈到模式时,你需要清楚你是在谈论一般的模式语言(其中 DTD 是一个例子)还是特别是关于 W3C XML 模式语言(现在称为 XSD) .
在 XML 中,DTD 和 Schema 有什么区别?
【问题讨论】:
查看XML DTDs vs XML Schema 以获得良好的比较和解释。
DTD 提供了一种基本语法,用于根据构成文档形状的元数据来定义 XML 文档。 XML Schema 提供了这一点,并提供了一种详细的方法来定义数据可以包含和不可以包含的内容。它为开发人员提供了对合法性的更多控制,并提供了一种面向对象的方法,以及由此带来的所有好处。
【讨论】:
DTD 是 XML 规范本身的一部分。架构不是。只有一种 DTD 语言;模式语言有很多种,“XML Schema”和“Relax NG”是两种常见的语言。
大多数模式语言都试图覆盖 DTD 的一些限制(很多),我的印象是 DTD 对新应用程序非常不受欢迎。然而,HTML 被指定为 DOCTYPE 定义,EPUB 规范的某些部分也是如此。在这一点上,它们的主要优势可能是符合标准的 XML 处理器应该处理它们,而对于任何其他模式语言,您都不能这么说。
【讨论】: