一篇讲的比较丰富的文章 https://blog.csdn.net/boke7265/article/details/79493038
下面自己讲一下,
验证xml有效性的方法常用的有两种模式,DTD和XSD。
DTD是一种XML约束语言,它可以通过比较XML文档和DTD文件来看文档是否符合规范,它本身不是xml结构,它定义了检查的内容。引入模式如下
XSD也是一种XML约束语言,它本身即是一个XML结构文档,它的引用需要引用两部分,除了需要声明命名空间外:
还需要标明该XML Schema文件位置或者URL地址:
下面是来自百度的介绍:
XSD(XML模式定义)是互联网联盟推荐的,它规定了可扩展标记语言(XML)文件中的元素的描述方式。这一描述可用来验证文件内容中各个项目与其内容将被取代的元素的描述是否一致。
XML模式表示XML对象(例如,文件或文件的一部分)的属性及元素之间的相互关系。创建一个文件的模式,需要分析其结构并定义所碰到的各个结构元素。与XML和HTML一样,元素是在标记符集合的范围内定义的。
与文件类型定义(DTD)或简单对象XML(SOX)等早期的XML模式语言相比,XSD具有几个优点。例如,它更直接,它不需要语法分析器的中间处理,其它优点包括自文档、自动模式创建以及可通过XML变换(XSLT)来查找的能力。然而,尽管XSD有其优点,有些批评者声称其语言不必那么复杂。