DTD 简介

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

内部的 DOCTYPE 声明

假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:

<!DOCTYPE 根元素 [元素声明]>

带有 DTD 的 XML 文档实例:

 1 <?xml version="1.0"?>
 2 <!DOCTYPE note [
 3   <!ELEMENT note (to,from,heading,body)>
 4   <!ELEMENT to      (#PCDATA)>
 5   <!ELEMENT from    (#PCDATA)>
 6   <!ELEMENT heading (#PCDATA)>
 7   <!ELEMENT body    (#PCDATA)>
 8 ]>
 9 <note>
10   <to>George</to>
11   <from>John</from>
12   <heading>Reminder</heading>
13   <body>Don't forget the meeting!</body>
14 </note>

外部文档声明

假如 DTD 位于 XML 源文件的外部,那么它应通过下面的语法被封装在一个 DOCTYPE 定义中:

<!DOCTYPE 根元素 SYSTEM "文件名">

这个 XML 文档和上面的 XML 文档相同,但是拥有一个外部的 DTD:

1 <?xml version="1.0"?>
2 <!DOCTYPE note SYSTEM "note.dtd">
3 <note>
4 <to>George</to>
5 <from>John</from>
6 <heading>Reminder</heading>
7 <body>Don't forget the meeting!</body>
8 </note> 

这是包含 DTD 的 "note.dtd" 文件:

1 <!ELEMENT note (to,from,heading,body)>
2 <!ELEMENT to (#PCDATA)>
3 <!ELEMENT from (#PCDATA)>
4 <!ELEMENT heading (#PCDATA)>
5 <!ELEMENT body (#PCDATA)>

为什么使用 DTD?

通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。

通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。

而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。

您还可以使用 DTD 来验证您自身的数据。

 

本文转载自:http://www.w3school.com.cn/dtd/dtd_intro.asp

原文地址:https://www.cnblogs.com/minisculestep/p/5008254.html