我搜索了这个问题,但我不清楚什么是XML模式和DTD(文档类型定义),以及为什么XML模式比DTD更强大.
任何指导都将受到高度赞赏.
DTD和XML Schema的优点/缺点是什么(我甚至不确定后者的官方名称是什么!)?哪个更好?为什么我们需要两种方法来做同样的事情?
编辑:我在一篇正在阅读的文章中找到了这个,这促使我提出这个问题:
为什么选择W3C XML Schema语言?
W3C XML Schema Language不是唯一的模式语言.事实上,XML规范将文档类型定义(DTD)描述为表达模式的方式.此外,JAXB参考实现的预发布版本仅适用于DTD - 也就是说,不适用于使用XML Schema Language编写的模式.但是,XML Schema Language比DTD更丰富.例如,用XML Schema Language编写的模式可以描述在DTD中无法表达(或不能轻易表达)的结构关系和数据类型.有一些工具可用于将DTD转换为W3C XML模式语言,因此如果您使用的是早期版本的JAXB参考实现中使用的基于DTD的模式,则可以使用这些工具将模式转换为XML模式语言.http://java.sun.com/developer/technicalArticles/WebServices/jaxb/#binsch
我想我想举例说明为什么XML-Schema更好(如果确实如此).
Stackoverflow有几个很好的问题,对比XSD和DTD,并在XSD和DTD之间进行选择.但我遇到了一个同时使用XSD和DTD的数据格式和库.XML文档指定DTD,但支持库需要XSD进行编码和解码.
同时使用XSD和DTD有什么好处?
可能重复:
如何在DTD和XSD之间进行选择
我在设计时是否要使用DTD或XSD有点困惑.有人可以帮忙吗?