DTD和XML Schema(我甚至不确定后者的官方名称是什么)有哪些优缺点?哪一个更好?为什么我们需要两种方法来做同样的事情呢?
编辑:我在阅读一篇文章时发现了这篇文章,这也促使我提出了这个问题:
为什么需要W3C XML Schema语言?
W3C XML Schema语言并不是唯一的模式语言。实际上,XML规范描述了文档类型定义(DTDs)作为表达模式的方式。此外,JAXB参考实现的预发布版本仅使用DTDs,即不使用以XML Schema语言编写的模式。不过,XML Schema语言比DTDs更为丰富。例如,在XML Schema语言中编写的模式可以描述不能(或很难)在DTDs中表达的结构关系和数据类型。有一些工具可用于将DTD转换为W3C XML Schema语言,因此,如果您有基于DTD的模式并使用早期版本的JAXB参考实现,则可以使用这些工具将模式转换为XML Schema语言。http://java.sun.com/developer/technicalArticles/WebServices/jaxb/#binsch
我想要的是能说明XML Schema为什么更好(如果它确实更好)的例子。