跳轉至內容

XML - 資料交換管理/DTD

來自 Wikibooks,開放世界中的開放書籍



上一章 下一章
資料模式 XHTML



**D**ocument **T**ype **D**efinition (文件型別定義) 是一個連結到 XML 頁面的檔案。它控制著必須或可以顯示的內容,哪些屬性及其值必須/可以具有以及 XML 檔案應該是什麼樣子。XHTML、HTML 和其他標記語言使用 DTD 來驗證其文件。**注意**:Web 瀏覽器接受 HTML 中的錯誤標記。

DTD 的用途

[編輯 | 編輯原始碼]

DTD 用於以自定義標記語言儲存大量資料,該語言可用於特定程式或組織。與模式一樣,它們可以具有元素、屬性和實體。唯一的區別在於它如何顯示。

與模式類似,DTD 也有序言。它是一行文字。

<?xml version="1.0" encoding="UTF-8"?>

問號用於告訴計算機您正在給他提供指令。單詞 xml 告訴他您正在使用 XML,version 屬性告訴他您正在使用哪個版本的 XML,而 encoding 屬性告訴他如何編碼資料(如果您想使用中文文字,則會使用不同的編碼)。

<!ELEMENT> 標籤

[編輯 | 編輯原始碼]

元素標籤用於顯示頁面的元素,具體取決於您如何宣告它。它只能放在頁面的特定部分或任何位置。

您宣告的第一個元素是根元素(在 HTML 中是 html)。假設有一個組織想要一堆包含每個人的資訊的 XML 檔案。它們可能會有一個名為“person”的檔案根元素。宣告具有子元素的元素的標準是

<!ELEMENT elementName (childElement, childElement2, childElement3)>

因此,該組織的根元素標籤宣告將是

<!ELEMENT person (firstName, lastName, postalCode, cellNumber, homeNumber, email)>

**注意**:子元素必須在單獨的元素標籤中宣告才能有效。

**注意**:逗號用於標識子元素是出現指示符(告訴計算機它應該如何出現的東西)。還有其他出現指示符。我們將在本章後面介紹它們。

**注意**:括號定義了括號中發現的內容型別。不同的內容型別將在本章後面找到。

有些元素您不希望將其連結到特定標籤(例如,您想要用來突出顯示重要資訊的格式化標籤),您可以執行相同的操作,但不會將其用作任何元素的子元素,具體取決於您的需求,您可以使用 ANY 內容型別,允許您在標籤中使用字元資料或其他標籤,EMPTY 內容型別,看起來像“<exampleXmlTag />”或用於文字的 #PCDATA。

**注意**:在元素宣告中,您可以將括號與 #PCDATA 結合使用。它看起來像這樣 <!ELEMENT elementName ( #PCDATA| childName)。管道符號表示您可以使用文字或其他標籤。

華夏公益教科書