1.什么是DTD
DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。它使用一系列的合法元素来定义文档结构。
2.什么是XML
XML 指可扩展标记语言(eXtensible Markup Language)。
可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等
XML 与 HTML 的主要差异
-
XML 被设计为传输和存储数据,其焦点是数据的内容。
-
HTML 被设计用来显示数据,其焦点是数据的外观。
-
HTML 旨在显示信息,而 XML 旨在传输信息。
3.XML的两种文档约束
XML文档定义分为 Schema 和 DTD 两种形式
-
Schema 是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性。
-
DTD 的作用是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。
4.XML格式要求
-
XML 元素都必须有关闭标签
-
XML 标签对大小写敏感
-
XML 必须正确地嵌套
-
XML 文档必须有根元素,有且只有一个
-
XML 的属性值须加引号
-
XML中的特殊字符处理
特殊字符 | 实体引用 |
---|---|
> | > |
< | < |
& | & |
' | ' |
" | " |
5.使用DTD
5.1.在XML中加入DTD申明
-
内部的 DOCTYPE 声明
<!DOCTYPE 根元素 [元素声明]>
-
外部文档声明
<!DOCTYPE 根元素 SYSTEM "文件名">
5.2.元素定义语法
<!ELEMENT 元素名称 元素类型 >
5.3.元素的分类
-
空元素
<!ELEMENT 元素名称 EMPTY>
-
文本元素
<!ELEMENT 元素名称 (#PCDATA)>
-
混合元素
<!ELEMENT 元素名称 (子元素名称1,子元素名称2,...)>
5.4.元素的限制
限制 | 说明 |
---|---|
, | 表示内容的出现顺序必须与声明一致 |
| | 表示两者或多个时只能出现一个 |
+ | 表示元素出现1次或多次 |
* | 表示元素出现0次或多次 |
? | 表示元素出现1次或1次 |
5.5.属性定义语法
-
基本语法
<!ATTLIST 元素名称 属性名称 属性类型 设置说明>
-
属性类型
类型 | 描述 |
---|---|
CDATA | 值为字符数据 (character data) |
(en1|en2|..) | 此值是枚举列表中的一个值 |
ID | 值为唯一的 id |
IDREF | 值为另外一个元素的 id |
IDREFS | 值为其他 id 的列表 |
NMTOKEN | 值为合法的 XML 名称 |
NMTOKENS | 值为合法的 XML 名称的列表 |
ENTITY | 值是一个实体 |
ENTITIES | 值是一个实体列表 |
NOTATION | 此值是符号的名称 |
xml: | 值是一个预定义的 XML 值 |
-
设置说明
值 | 解释 |
---|---|
值 | 属性的默认值 |
#REQUIRED | 属性值是必需的 |
#IMPLIED | 属性不是必需的 |
#FIXED value | 属性值是固定的 |