XML语言基础2 DTD
XML 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 ]>
10 <note>
11 <to>George</to>
12 <from>John</from>
13 <heading>Reminder</heading>
14 <body>Don't forget the meeting!<body>
15 </note>
外部文档声明
假如DTD位于XML源文件的外部,那么它应该通过下面的语法被封装在一个DOCTYPE定义中。
<!DOCTYPE 根元素 SYSTEM “文件名”>
这个XML文件和上面的XML文件相同,但是拥有一个外部的DTD。
1 <?xml version="1.0"?>
2 <!DOCTYPE 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来验证您自身的数据。