XML 中使用 DTD
拥有正确语法的 XML 被称为“格式良好”的 XML。
通过 DTD 验证的 XML 是“合法”的 XML。
什么是 DTD?
DTD 代表文档类型定义。
DTD 定义 XML 文档的结构、合法元素和属性。
验证 XML 文档"有效的" XML文档 是"格式良好的",并且符合DTD的规则:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>李雷</to>
<from>韩梅梅</from>
<heading>提醒</heading>
<body>周末别忘了我!</body>
</note>
上面的 DOCTYPE 声明包含对 DTD 文件的引用。下面显示并解释 DTD 文件的内容。
XML DTD
DTD 的目的是定义 XML 文档的结构、合规元素和属性:
Note.dtd:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
上述DTD的解释如下:
- !DOCTYPE note-定义文档的根元素是note
- !ELEMENT note-定义注释元素必须包含元素:"to,from,heading,body"
- !ELEMENT to-定义to元素的类型为"#PCDATA"
- !ELEMENT from-将from元素定义为"#PCDATA"类型
- !ELEMENT heading-定义标题元素的类型为"#PCDATA"
- !ELEMENT body-定义类型为"#PCDATA"的体元素
提示:#PCDATA表示可解析的字符数据。
使用DTD进行实体声明
DOCTYPE声明还可用于定义文档中使用的特殊字符或字符串:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp " ">
<!ENTITY writer "Writer: 韩梅梅.">
<!ENTITY copyright "Copyright: Cankaoshouce.">
]>
<note>
<to>李雷</to>
<from>韩梅梅</from>
<heading>提醒</heading>
<body>周末别忘了我!</body>
<footer>&writer; ©right;</footer>
</note>
提示:实体有三个部分:以符号(&)开头,然后是实体名称,最后是分号(;)。
何时使用 DTD ?
有了 DTD,独立的人群可以同意使用标准 DTD 交换数据。
使用 DTD,您可以验证从外部世界接收的数据是否有效。
您还可以使用 DTD 来验证您自己的数据。
如果您想学习更多的 DTD 知识,请访问本站的 DTD 教程。