DTD簡介
XML文檔類型聲明(通常稱爲DTD)是一種精確描述XML語言的方法。 DTD根據相應XML語言的語法規則檢查XML文檔的結構和詞彙的有效性。
XML文檔可以定義爲 -
格式良好 - 如果XML文檔遵循所有常規XML規則,例如:標記必須正確嵌套,則必須平衡打開和關閉標記,空標記必須以
'/>'
結尾,然後能說明它的格式良好。有效 - XML文檔在格式良好時認爲是有效的,它也符合可用的
DTD
,它指定了它使用的標記,這些標記可以包含哪些屬性,以及哪些標記可以出現在其他標記中,以及其他標記的屬性。
下圖表示DTD用於構造XML文檔 -
1. 類型
DTD可以在XML文檔的聲明基礎上進行分類,例如 -
- 內部DTD
- 外部DTD
當在文件中聲明DTD時,它稱爲內部DTD,如果在單獨的文件中聲明它,則稱爲外部DTD。
我們將在DTD語法這一章節中詳細瞭解這些內容。
2. 特徵
以下是DTD描述的一些重要特點 -
- 可以出現在XML文檔中的元素。
- 它們可以出現的順序。
- 可選和必需的元素。
- 元素屬性以及它們是可選的還是必需的。
- 屬性是否可以具有默認值。
3. 使用DTD的優點
文檔 - 可以爲XML文件定義自己的格式。 查看此文檔,用戶/開發人員可以瞭解數據的結構。
驗證 - 它提供了一種檢查XML文件有效性的方法,方法是檢查元素是否以正確的順序出現,強制元素和屬性是否到位,元素和屬性是否以不正確的方式插入等等。
4. 使用DTD的缺點
- 它不支持命名空間。命名空間是一種機制,通過該機制可以將元素和屬性名稱分配給組。 但是在DTD中,必須在DTD中定義名稱空間,這違反了使用名稱空間的目的。
- 它僅支持文本字符串數據類型。
- 它不是面向對象的。 因此,繼承等這種面向對象概念不能應用於DTD。
- 表達元素基數的有限制。