DTD指定了游戏规则。

时间:2021-10-31 19:47:01

1、DTD的作用

DTD是XML的型,列出了XML中的元素有哪些、元素间的关系、元素可以有哪些内容,元素的属性也有哪些。DTD实质说明的是元素间的关系,也就是类之间的关系。是一棵树状结构的说明,与XML相似。

DTD的职责只负责对文档的结构进行规范,真正的验证工作由应用程序执行。所以XML不是一门处理语言,而是一门描述数据的语言。

DTD的关键字是面向对象中的Attribute属性,是对各种类型的一个说明。

DTD是对要描述的XML所有的关键字的一个定义,相当于自定义了关键字(XML的元素的标签结构)

2、DTD的内容:

(1)DTD的引用

DTD可以在XML的内部,必须要有DOCTYPE关键字进行引导。在外部则要进行相关的引用,分为系统标识符和公共标识符。采用多种方式来参照DTD。

<!DOCTYPE XXX根元素 SYSTEM “路径” [内部定义]>

<!DOCTYPE XXX根元素 PUBLIC “FPI的定义”“文件名称”>

(2)元素的声明

元素的内容模型 元素内容、混合内容、空内容、任意内容。

元素内容:子元素、顺序、选择。(,,)(|)

混合内容与元素内容形似。(PCDATA|元素)

空 <!ELEMENT 元素 EMPTY>
任意<!ELEMENT 元素 ANY>

(3)属性声明

<!ATTLIST 元素名 属性名 属性类型 属性值声明>

属性类型:对属性能够取的值进行限制。特别强调,在定义的时候是对属性的类型限制,但在使用的时候却不一样。

ID类型,则属性在使用的时候必须保证唯一性。

定义一个属性为IDREF类型,则此属性在用的时候要参考元素属性类型为ID的属性名称。

标识作用NMTOKEN

枚举类型的属性

实体(配合实体的定义使用,实体在属性中存在的时候)

属性值的取值方式:可以是默认、固定,必须、隐含。是对属性是否存在的进行限制。可以理解为属性的值是多少。

(4)实体引用(在XML中使用这些在DTD中定义的实体)

内置实体(5个标准的)字符实体(字符直接引用&)普通实体(一段内容的替换通常XML引用DTD--DTD引用文本文件无符号 &)参数实体(DTD的定义中进行替换%)