DTD 教程
什么是 DTD?
DTD 是文档类型定义。
DTD 定义了 XML 文档的结构以及合法元素和属性。
为什么要使用 DTD?
使用 DTD,独立的群体可以就用于交换数据的标准 DTD 达成一致。
应用程序可以使用 DTD 来验证 XML 数据是否有效。
内部 DTD 声明
如果 DTD 在 XML 文件中声明,则必须将其包装在 <!DOCTYPE> 定义中
包含内部 DTD 的 XML 文档
<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>提醒</heading>
<body>这个周末别忘了我</body>
</note>
查看 XML 文件 »
在 XML 文件中,选择“查看源代码”以查看 DTD。
上面的 DTD 解释如下
- !DOCTYPE note 定义了此文档的根元素为 note
- !ELEMENT note 定义了 note 元素必须包含四个元素:“to,from,heading,body”
- !ELEMENT to 定义了 to 元素类型为 "#PCDATA"
- !ELEMENT from 定义了 from 元素类型为 "#PCDATA"
- !ELEMENT heading 定义了 heading 元素类型为 "#PCDATA"
- !ELEMENT body 定义了 body 元素类型为 "#PCDATA"
外部 DTD 声明
如果 DTD 在外部文件中声明,则 <!DOCTYPE> 定义必须包含对 DTD 文件的引用
引用外部 DTD 的 XML 文档
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>提醒</heading>
<body>这个周末别忘了我!</body>
</note>
查看 XML 文件 »
以下是包含 DTD 的文件“note.dtd”
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>