XML中的Schema与DTD

前端之家收集整理的这篇文章主要介绍了XML中的Schema与DTD前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

DTD和Schema两者都是对XML文档做进一步的限制。

DTD的概念

DTD的作用是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。

作用:

1、定义XML文档的结构

2、为XML文档提供语法与规则

3.、内容既可以定义在XML文档之内,也可以定义在XML文档之外

4、DTD对于XML是可选的内容

5、一个XML只能有一个相对应的DTD

Schema的概念

Schema是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性,也称为XSD。

作用:

1、描述XML文档的结构

2、是基于XML的DTD的替代者

3、保护数据通信

4、是可扩展的,因为它是由XML编写,并且在相同的文档中可以引用多重的Shema

二者比较

1、Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有很多的好处。

2、DTD文档的结构是“平铺型”的,如果定义复杂的XML文档,很难把握各元素之间的嵌套关系;Schema文档结构性强,各元素之间的嵌套关系非常直观。

3、DTD只能指定元素含有文本,不能定义元素文本的具体类型,如字符型、整型、日期型、自定义类型等。Schema在这方面比DTD强大。

4、Schema支持元素节点顺序的描述,DTD没有提供无序情况的描述,要定义无序必需穷举排列的所有情况。Schema可以利用xs:all来表示无序的情况。

5、对命名空间的支持。DTD无法利用XML的命名空间,Schema很好满足命名空间。并且,Schema还提供了include和import两种引用命名空间的方法

6、Schema是XML文档,而DTD有自己的特殊语法这样,只需要懂得XML的语法规则就可以编写Schema,无须学习其他的语法规则;XML文件与XMLSchema文件可以用相同的解析器进行解析,无须两套解析器;XML Schema有强大、易用的扩展性。

综述

XML Schema较DTD有更多优势,更强大,所以尽量把XML Schema作为首选为佳。

猜你在找的XML相关文章