XML的验证模式DTD与XSD的区别

【XML的验证模式DTD与XSD的区别】xml文件的正确性是由xml的验证模式来保证的,比较常见的验证模式有两种:DTD和XSD。
1.DTD: DTD(Document Type Definition)即文档类型定义,是一种xml约束模式语言,是xml文件的验证机制,属于xml文件组成的一部分。DTD是一种保证xml文档格式正确的有效方法,可以 通过比较xml文档和DTD文档来查看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
以下是spring-beans-2.0.dtd的部分内容:

...

2.XSD: XSD(XML Schemas Definition)即xml结构定义文档。xsd描述了xml文档的结构,可以用一个指定的xml schema来验证某个xml文档,以检查该xml是否符合其要求。文档设计者可以通过xml schema指定一个xml文档所允许的结构和内容,并可据此检查一个xml文档是否是有效的。
下面是spring-beans-3.1.xsd的部分内容:
element. ]]>

3.主要区别:
DTD需要在xml文件的头部声明,例如

而XSD通过xmlns名称空间的方式验证的,例如

    推荐阅读