XML教學 | XML DTD
XML DTD是什麼?
XML提供了兩種文件的驗證機制,其中一個視DTD(縮寫:Data Type Definition),是XML比較早期用來驗證資料格式正確性的做法。
另一個則是XSD(縮寫:XML Schema Definition),目前的主流是使用XSD來驗證文件。
註:建議還是先了解
DTD,下一章節會介紹XSD。
而DTD整個的重點放在Definition,表示用來訂出文件合法的區塊,也就是把元素的架構寫出來。
DOCTYPE有兩種類型的聲明:- 內部
DOCTYPE聲明d - 外部文檔聲明
- 內部
內部聲明的範例
通過以下語法包裝聲明:
1 |
範例(XML):
1 |
|
以上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” 類型 |
注意:!DOCTYPE下面一定接根元素;!DOCTYPE下面的第一行!ELEMENT也一定是根元素開頭。
外部聲明的範例
通過以下語法指定外部聲明的檔案:
1 |
範例(DTD):
1 | <!DOCTYPE note |
範例(XML):
1 |
|
相關使用時機
何時使用
DTD?- 使用
DTD,獨立團體可以同意使用標準DTD來交換資料。 - 使用
DTD,您可以驗證從外部接收的資料是否有效。 - 您還可以使用
DTD來驗證您自己的資料。
- 使用
什麼時候不使用
DTD?XML不需要DTD時。- 當您試驗
XML或處理小型XML文件時,創建DTD可能是浪費時間。 - 如果您開發應用程序,請等到規範穩定後再添加
DTD。否則,您的軟體可能會因為驗證錯誤而停止工作。
結語
此章節「簡單」介紹了XML DTD。
其實DTD可以視為一種協議,不同的使用者透過共同訂制的DTD交換資料,應用程式也透過DTD驗證所接收的XML是否正確有效。
註:以上參考了
維基百科-XML
維基百科-XML DTD
w3resource.com - XML DTDXML , XLink 和 XPointer
XML 學習筆記 - XML DTD
Family with 220 icons by inipagi
