在结构化文档中,定义文档类型有两种技术:DTD和XSD。今天来讨论什么是DTD,什么又是XSD,以及他们之间的区别。
虽然DTD(Document Type Definition)和XSD(XML Schema Definition)都与标记语言,称为XML(可扩展标记语言)相关,但它们在很多方面都有所不同。
DTD和XSD之间的主要区别是DTD对XML的控制较少,而XSD提供了对XML的更好控制。DTD是一种用于定义XML结构的文档类型,XSD是用于描述XML结构和内容的方法。
DTD是文档类型定义的缩写,是一种用于定义XML文件结构的文档类型。XML语言的属性由DTD精确定义。它主要用于检查XML文件结构的语法和有效性。
DTD可以进一步分为两部分,即外部DTD和内部DTD。在XML文件中声明的DTD元素称为内部DTD,而在一些其他文件中宣布的DTD元素则称为外部DTD。
DTD源自SGML(标准通用标记语言)语法。它不支持命名空间和数据类型,对XML的控制较少。DTD也不可扩展。
使用DTD的人不能在其中使用强类型(即:不支持数据类型)。然而,它有时确实充当XML的扩展版本。DTD学习起来并不简单。DTD正是定义SGML文档类型的声明。
DTD属于第一代技术。
DTD例子:
]>
XSD是XML Schema定义,是一种用于描述XML文档及其内容的方法。XML文档的所有属性和元素的规则都由XSD精确定义。它主要用于检查XML文件的词汇和结构的正确性。
XSD文件有两种类型,即简单类型和复杂类型。允许具有基于文本的元素、包含较少属性和子元素且不能为空的类型称为简单类型XSD。允许保存多个属性和元素、包含子元素且不能为空的类型称为复杂类型XSD。
XML用于编写XSD。它支持元素和属性的命名空间和数据类型。XSD是可扩展的,使我们能够更好地控制XML文档。
XSD被精确地用于描述XML文档中的元素。学习XSD相对来说比DTD更容易,因为在这里,我们不需要学习新的语言。
XSD属于第二代技术。
XSD例子: