XML DTD
- 上一頁 XML 驗證器
- 下一頁 XML Schema
語法正確的 XML 文檔被稱為“格式良好”。
根據 DTD 驗證的 XML 文檔,既是“格式良好”的,又是“有效”的。
什么是 DTD?
DTD 代表文檔類型定義(Document Type Definition)。
DTD 定義 XML 文檔的結構,以及合法的元素和屬性。
有效的 XML 文檔
“有效”的 XML 文檔既是“格式良好”的,同時也要符合 DTD 的規則:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE note SYSTEM "Note.dtd"> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</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 - 定義 note 元素必須包含以下元素:"to, from, heading, body" !ELEMENT to - 將 to 元素定義為 "#PCDATA" 類型 !ELEMENT from - 將 from 元素定義為 "#PCDATA" 類型 !ELEMENT heading - 將 heading 元素定義為 "#PCDATA" 類型 !ELEMENT body - 將 body 元素定義為 "#PCDATA" 類型
提示:#PCDATA 表示可解析的字符數據(parseable character data)。
使用 DTD 進行實體聲明
DOCTYPE 聲明還可用于定義文檔中使用的特殊字符或字符串:
實例
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE note [ <!ENTITY nbsp " "> <!ENTITY writer "Writer: Bill Gates."> <!ENTITY copyright "Copyright: CodeW3C.com."> ]> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> <footer>&writer; ©right;</footer> </note>
提示:實體由三部分組成:以與號 (&) 開頭,然后是實體名稱,最后以分號 (;) 結尾。
何時使用 DTD?
有了 DTD,獨立的群體可以就交換數據的標準達成一致。
使用 DTD,您可以驗證從外界接收的數據是否有效。
您還可以使用 DTD 來驗證您自己的數據。
如果您希望學習 DTD,請閱讀我們的 DTD 教程。
何時不使用 DTD?
對于 XML,DTD 不是必需的。
如果您正在測試 XML,或使用的是很小的 XML 文件時,創建 DTD 可能是在浪費時間。
如果您正在開發應用程序,請等到規范穩定后再添加 DTD。否則,您的軟件可能會因驗證錯誤而停止工作。
- 上一頁 XML 驗證器
- 下一頁 XML Schema