首頁  >  文章  >  web前端  >  html dtd是什麼

html dtd是什麼

青灯夜游
青灯夜游原創
2021-12-03 17:45:494101瀏覽

在html中,DTD指的是“文件類型定義”,是一套關於標記符的語法規則,是html檔案的驗證機制,屬於html檔案組成的一部分。 DTD可定義合法的XML文件建構模組,它使用一系列合法的元素來定義文件的結構。

html dtd是什麼

本教學操作環境: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&#39;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&#39;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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn