在html中,DTD指的是“文件類型定義”,是一套關於標記符的語法規則,是html檔案的驗證機制,屬於html檔案組成的一部分。 DTD可定義合法的XML文件建構模組,它使用一系列合法的元素來定義文件的結構。
本教學操作環境:windows7系統、HTML5版、Dell G3電腦。
文件類型定義(DTD)是一套關於標記符的語法規則。它是XML1.0版規格得一部分,是html檔案的驗證機制,屬於html檔案組成的一部分。
DTD可定義合法的XML文件建置模組。它使用一系列合法的元素來定義文件的結構。
DTD 可被成行地宣告於 XML 文件中,也可作為一個外部參考。
內部的DOCTYPE 宣告
假如DTD 被包含在您的XML 原始檔中,它應該透過下面的語法包裝在一個DOCTYPE 宣告中:
<!DOCTYPE root-element [element-declarations]>
帶有DTD 的XML 文檔實例(請在IE5 以及更高的版本打開,並選擇查看源代碼):
<?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend</body> </note>
在您的瀏覽器中打開此XML 文件,並選擇"查看原始碼"命令。
以上 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" 類型
外部文件宣告
假如DTD 位於XML 原始檔的外部,那麼它應透過下面的語法封裝在一個DOCTYPE 定義中:
<!DOCTYPE root-element SYSTEM "filename">
這個XML 文件和上面的XML 文件相同,但是擁有一個外部的DTD:(點擊開啟該文件,並選擇"查看原始碼"命令。)
<?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
這是包含DTD 的"note.dtd" 檔案:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
為什麼要使用DTD?
透過 DTD,您的每個 XML 檔案均可攜帶一個有關其自身格式的描述。
透過 DTD,獨立的團體可一致地使用某個標準的 DTD 來交換資料。
而您的應用程式也可使用某個標準的 DTD 來驗證從外部接收的資料。
您也可以使用 DTD 來驗證您自身的資料。
DTD有三種文件類型:S(Strict)、T(Transitional)、F(Frameset)。
Strict:如果您需要乾淨的標記,免於表現層的混亂,請使用此類型。請與層疊樣式表(CSS)搭配使用
Transitional:DTD 可包含 W3C 所期望移入樣式表的呈現屬性與元素。如果您的讀者使用了不支援層疊樣式表(CSS)的瀏覽器以至於您必須使用HTML 的呈現特性時使用
Frameset: DTD 應用於帶有框架的文檔。除frameset 元素取代了body 元素之外,Frameset DTD 等同於Transitional DTD
html5基本上沒有XHTML 1.0 Transitional嚴格的要求,並且簡化了很多東西可以直接使用 fef50554eca1a427827adaa329da8122
推薦教學:《html影片教學》
以上是html dtd是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!