1. 程式人生 > >【XML】——DTD

【XML】——DTD

DTD的定義與用途

DTD是Document Type Definition的縮寫

  • 定義XML檔案的結構
  • 為XML檔案提供語法與規則
  • 內容既可以定義在XML檔案中,也可以定義在XML檔案之外
  • 使用XML進行資料交換的行業或組織可定義自己的DTD
  • DTD對於XML是可選的內容

為了正確交換資料,XML檔案需要確定的結構。

外部DTD

  • 每個XML文件單獨定義的DTD可推廣為一個系統內共享的公用DTD
  • 關鍵字SYSTEM用於引用一個作者或組織所編寫的眾多XML文件中通用的DTD
  • 另一種外部DTD,一個由權威機構制定的,提供給特定行業或公眾使用的DTD。關鍵字是PUCBLIC。

XML檔案構成

所有的XML檔案,均由以模組構成:

  • 元素
  • 屬性
  • 實體
  • PCDATA
  • CDATA

DTD——元素

  • 在DTD中,元素宣告使用下面的語法:
<!ELEMENT 元素名稱 類別>
或者
<!ELEMENT 元素名稱(元素內容)>

栗子:

<!ELEMENT 書名(#PCDATA)>
<!ELEMENT 計算機書籍(書名,價格,簡要介紹)>
  • 空元素通過關鍵詞EMPTY進行宣告:

<!ELEMENT 元素名稱 EMPTY>

栗子:

DTD中:

<!ELEMENT br EMPTY>

XML中:

<br />
  • 表示帶有任何內容的元素

<!ELEMENT 元素名稱 ANY>

栗子:

DTD中:

<!ELEMENT student ANY>

XML中:

<student>劉偉</student>
或者
<student><name>劉偉</name></student>

(1)子元素要求順序:

(2)子元素不要求順序

(3)重複元素的栗子

(4)成組元素

屬性

  • 在DTD中,屬性通過ATTLIST來進行宣告
  • 語法:
    <!ATTLIST 元素名稱 屬性名稱 屬性型別 預設值>

    栗子:

DTD檔案中:

<!ATTLIST payment type CDATA "cash">

XML檔案中:

<payment type="cash"/>
  • 屬性的型別:

  • 屬性的預設值:

DTD的結構

DTD中定義元素

DTD中定義元素的屬性