什么是DTD? 和XML关系
DTD"(Documnet Type Definition)是XML1.0版规格得一部分,它是XML文件得验证机制,属于XML文件组成得一部分,DTD在XML文件所扮演得角色就是定义XML文件的元素架构、元素标记和属性!
一旦我们定义好DTD,在使用编辑工具如XML Spy 或者验证工具 XML validate (微软网站均可以下载)就可以对编写好的XML文件进行DTD检查内容是否为合法的XML文件内容!
XML文件提供应用程序一个数据交换的格式,DTD正是让XML文件能够成为数据交换的标准,因为不同的公司只需定义好标准的DTD,各公司都能够依照DTD建立XML文件,并且进行验证,如此就可以轻易建立标准一直的交换数据!
顺便介绍一下另一种验证机制 XML Schema ,和DTD相比较,其区别主要如下:
1.DTD拥有自己独特的语法和编写方式,它和XML文件的标记架构完全不同!
2.XML Schema 本身就是一份XML文件,使用标记语法定义其他的XML文件,因为它就是一份XML文件,在学习上不必特别学习DTD语法,而且支持数据类型,能够定义元素的内容!
XML Schema 是由微软所提出的规格草案,目前已成为建议规格,它的目的就是取代DTD成为XML文件下一代的验证机制!
DTD 是一套关于标记符的语法规则。它是XML1.0版规格得一部分,是XML文件的验证机制,属于XML文件组成的一部分。
DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
XML文件提供应用程序一个数据交换的格式,DTD正是让XML文件能够成为数据交换的标准,因为不同的公司只需定义好标准的DTD,各公司都能够依照DTD建立XML文件,并且进行验证,如此就可以轻易的建立标准和交换数据,这样满足了网络共享和数据交互。
DTD文件是一个ASCII的文本文件,后缀名为.dtd。
DTD增加了XML的有效性,
可以使用DTD校验自己的XML数据
DTD与Schema的比较:他们都用来校验自己的XML数据
DTD 的局限性
DTD不遵守XML语法(写XML文档实例时候用一种语法,写DTD的时候用另外一种语法)
DTD数据类型有限(与数据库数据类型不一致)
DTD不可扩展
DTD不支持命名空间(命名冲突)
Schema的新特性
Schema基于XML语法
Schema可以用能处理XML文档的工具处理
Schema大大扩充了数据类型,可以自定义数据类型
Schema支持元素的继承—Object-Oriented’ish
Schema支持属性组