文档类型定义 – DTD
一种 文档类型定义(DTD)描述了文档的树结构及其数据。它是一组标记声明,实际上为 SGML 系列定义了一种文档类型,例如 GML、SGML、HTML、XML。
DTD 可以在 XML 文档中声明为内联或外部推荐。 DTD 确定一个节点应该出现多少次,以及它们的子节点如何排序。
有 2 种数据类型,PCDATA 和 CDATA
- PCDATA 是已解析的字符数据。
- CDATA 是字符数据,通常不被解析。
句法:
例子:
上述树的 DTD 为:
带有内部 DTD 的 XML 文档:
XML
]>
Rohit
Sharma
sharmarohit@gmail.com
9876543210
1987
June
23
XML
Rohit
Sharma
sharmarohit@gmail.com
9876543210
1987
June
23
上面的 DTD 是这样解释的:
- !DOCTYPE address 定义该文档的根元素是地址。
- !ELEMENT 地址定义地址元素必须包含四个元素:“姓名、电子邮件、电话、生日”。
- !ELEMENT name 定义 name 元素必须包含两个元素:“first, last”。
- !ELEMENT 首先将第一个元素定义为“#PCDATA”类型。
- !ELEMENT last 将最后一个元素定义为“#PCDATA”类型。
- !ELEMENT email 将 email 元素定义为“#PCDATA”类型。
- !ELEMENT phone 将 phone 元素定义为“#PCDATA”类型。
- !ELEMENT 生日定义生日元素必须包含“年、月、日”三个元素。
- !ELEMENT year 将年份元素定义为“#PCDATA”类型。
- !ELEMENT month 将月份元素定义为“#PCDATA”类型。
- !ELEMENT day 将 day 元素定义为“#PCDATA”类型。
带有外部 DTD 的 XML 文档:
XML
Rohit
Sharma
sharmarohit@gmail.com
9876543210
1987
June
23
地址.dtd:
输出: