文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:
<!DOCTYPE root-element [element-declarations]> |
<?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>Reminder</heading> |
<body>Don't forget me this weekend</body> |
</note> |
假如 DTD 位于 XML 源文件的外部,那么它应通过下面的语法被封装在一个 DOCTYPE 定义中:
<!DOCTYPE root-element SYSTEM "filename"> |
<?xml version="1.0"?> |
<!DOCTYPE note SYSTEM "note.dtd"> |
<note> |
<to>Tove</to> |
<from>Jani</from> |
<heading>Reminder</heading> |
<body>Don't forget me this weekend!</body> |
</note> |
<!ELEMENT note (to,from,heading,body)> |
<!ELEMENT to (#PCDATA)> |
<!ELEMENT from (#PCDATA)> |
<!ELEMENT heading (#PCDATA)> |
<!ELEMENT body (#PCDATA)> |
通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。
通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。
而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。
您还可以使用 DTD 来验证您自身的数据。