当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

Schema和DTD的区别

发表于: 2014-07-16   作者:小牧童   来源:转载   浏览:
摘要:        Schema是对XML文档结构的定义和描述,其主要作用是对编写XML文件的约束,校验XML文件的有效性。DTD的作用是定义XML合法的构建模块,它使用一系列的合法的元素(符合W3C标准)来定义XML文档的结构。        Schema和DTD的主要区别如下:

       Schema是对XML文档结构的定义和描述,其主要作用是对编写XML文件的约束,校验XML文件的有效性。DTD的作用是定义XML合法的构建模块,它使用一系列的合法的元素(符合W3C标准)来定义XML文档的结构。


       Schema和DTD的主要区别如下:


       1.Schema文件本身也是一个XML文档,而DTD文件与不是完全的XML格式。只要会编写XML文件,即可以编写Schema文件,XML文件与XML Schema文件可以用相同的解析器进行解析,无须两套解析器;而DTD的编写需要符合特定的语法,具体参见W3C网站(http://www.w3chtml.com/dtd/);

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

      3.DTD在定义时只能定义元素是否包含文本,不能定义具体的类型;而Schema在这方面有强大的支持;

      4.对命名空间的支持。DTD无法利用XML命名空间,而Schema可以很好的利用命名空间。并且Schema还提供了include和import两种引用命名空间的方法。XML Schema利用命名空间将文档中的特殊的节点与Schema说明相联系,一个XML文件可以有多个Schema,而对于DTD一个XML只能有一个相对应的DTD;

      5.对元素顺序的支持。Schema支持元素节点顺序的描述,可以使用xs:all来表示无需的情况,而DTD支持无需的时候只能使用穷举的方式。

 

Schema和DTD的区别

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号