码迷,mamicode.com
首页 > 其他好文 > 详细

DTD和Schema的区别

时间:2017-02-07 14:02:49      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:无法   sch   xml文件   ber   port   import   日期   nbsp   字符型   

 

Schema是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性。DTD的作用是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。它们之间的区别有下面几点:

  1. 对于Spring我们引入的是Schema,对于Hibernate,我们引入的是DTD
  2. Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有很多的好处。
  3. DTD文档的结构是“平铺型”的,如果定义复杂的XML文档,很难把握各元素之间的嵌套关系;Schema文档结构性强,各元素之间的嵌套关系非常直观。
  4. DTD只能指定元素含有文本,不能定义元素文本的具体类型,如字符型、整型、日期型、自定义类型等。Schema在这方面比DTD强大。
  5. Schema支持元素节点顺序的描述,DTD没有提供无序情况的描述(DTD定义的元素是有顺序的,Schema定义的元素是无序的),要定义无序必需穷举排列的所有情况。Schema可以利用xs:all来表示无序的情况。即:
  6. 对命名空间的支持。DTD无法利用XML的命名空间,Schema很好满足命名空间。并且,Schema还提供了include和import两种引用命名空间的方法。

DTD和Schema的区别

标签:无法   sch   xml文件   ber   port   import   日期   nbsp   字符型   

原文地址:http://www.cnblogs.com/llynic/p/6373536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!