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