XML DTD 文檔類型定義(DTD)可定義合法的XML文檔構建模塊。它使用一系列合法的元素來定義文檔結構。 DTD可被聲明於XML文檔中,也可以作為一個外部的引用。 內部的DOCTYPE聲明 假如DTD被包含在您的XML源文件中,它應當通過下麵的語法被包含在一個DOCTYPE中。 <!DOCTYP
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來驗證您自身的數據。