DTD - 概述



XML文档类型声明,通常称为DTD,是一种精确描述XML语言的方法。DTD根据相应XML语言的语法规则,检查XML文档的结构和词汇的有效性。

XML文档可以定义为:

  • 良构的 - 如果XML文档遵守所有通用的XML规则,例如标签必须正确嵌套,开始和结束标签必须平衡,空标签必须以'/>'结尾,则称为良构的

    或者

  • 有效的 - 一个XML文档如果不仅良构的,而且符合可用的DTD,该DTD指定它使用的标签、这些标签可以包含哪些属性以及哪些标签可以出现在其他标签内等等属性,则称其为有效的。

下图表示DTD用于构建XML文档:

类型

DTD可以根据其在XML文档中的声明方式进行分类,例如:

  • 内部DTD

  • 外部DTD

当DTD在文件中声明时,称为内部DTD;如果它在单独的文件中声明,则称为外部DTD

我们将在章节DTD 语法中了解更多关于这些内容。

特性

以下是一些DTD描述的重要点:

  • 可以出现在XML文档中的元素。

  • 它们出现的顺序。

  • 可选和必填元素。

  • 元素属性以及它们是可选的还是必填的。

  • 属性是否可以具有默认值。

使用DTD的优点

  • 文档 - 你可以为XML文件定义你自己的格式。查看此文档,用户/开发人员可以理解数据的结构。

  • 验证 - 它提供了一种通过检查元素是否按正确的顺序出现、必填元素和属性是否到位、元素和属性是否未以不正确的方式插入等来检查XML文件有效性的方法。

使用DTD的缺点

  • 它不支持命名空间。命名空间是一种可以将元素和属性名称分配给组的机制。但是,在DTD中,命名空间必须在DTD内定义,这违反了使用命名空间的目的。

  • 它只支持文本字符串数据类型

  • 它不是面向对象的。因此,继承的概念不能应用于DTD。

  • 表达元素基数的可能性有限。

广告