Schema和DTD的区别
2017-05-16 11:34
211 查看
Schema是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性。DTD的作用是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。它们之间的区别有下面几点:
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、XML Schema不能像DTD一样定义实体,比DTD更复杂,但Xml Schema现在已是w3c组织的标准,它正逐步取代DTD。
XML Schema的使用带来许多好处:
XML用户在使用XML Schema的时候,不需要为了理解XML Schema而重新学习,节省了时间;
由于XML Schema本身也是一种XML,所以许多的XML编辑工具、API 开发包、XML语法分析器可以直接的应用到XML Schema,而不需要修改。
作为XML的一个应用,XML Schema理所当然的继承了XML的自描述性和可扩展性,这使得XML Schema 更具有可读性和灵活性。
由于格式完全与XML一样,XML Schema除了可以像XML一样处理外,也可以同它所描述的XML文档以同样的方式存储在一起,方便管理。
XML Schema与XML格式的一致性,使得以XML为数据交换的应用系统之间,也可以方便的进行模式交换。
XML有非常高的合法性要求,XML DTD对XML的描述,往往也被用作验证XML合法性的一个基础,但是XML DTD本身的合法性却缺少较好的验证机制,必需独立处理。XML Schema则不同,它与XML有着同样的合法性验证机制。
相关文章推荐
- Schema 和DTD区别
- dtd与schema的区别&XML文件解析常用方式
- XML中Schema和DTD的区别
- DTD 与 Schema的简单区别
- Schema和DTD的区别,验证XLM数据合法性
- DTD和schema语法的区别(二)
- day04 面试题Schema约束与DTD约束的区别
- Schema和DTD的区别(2)
- DTD和XSchema的区别
- DTD和schema语法的区别(一)
- Schema 和DTD区别
- Schema和DTD的区别
- Schema和DTD的区别
- Schema和DTD的区别
- Schema和DTD的区别
- Schema和DTD的区别
- oracle USER 与 Schema 的关系与区别
- XML DTD XSD XSL XDR都有什么区别?
- XML验证实践(DTD和Schema)
- dom4j通过dtd或者schema验证xml