複製鏈接
請複製以下鏈接發送給好友

!DOCTYPE

鎖定
DOCTYPE,一個文檔類型標記是一種標準通用標記語言的文檔類型聲明,它的目的是要告訴標準通用標記語言解析器,它應該使用什麼樣的文檔類型定義(DTD)來解析文檔。 [1] 
中文名
!文檔類型
外文名
DOCument TYPE
外語縮寫
!DOCTYPE
類    型
文檔類型聲明

!DOCTYPE簡介

它出現如該文件的第一行,並具有如下形式:
<!DOCTYPE html
 PUBLIC "引用的字符串" --公共標識符-->
“引用的字符串”是被調用一個公共標識符,它指的是所需的文檔類型定義(外語縮寫:DTD)由一個“知名”的名字,通常是由一個相關的標準。 [1] 
指定正式公開標識符(外語縮寫:FPI)是可公開訪問的對象還是系統資源
國際互聯網工程任務組(IETF)和萬維網聯盟(外語縮寫:W3C)兩家單位並非註冊的ISO組織。

!DOCTYPE語法

注:由於!DOCTYPE(以下簡化稱為本標籤)是標準通用標記語言的文檔類型聲明,所以
  • 本標籤的附屬屬性(比如以下提到的#隱含公共、系統標識符屬性)將為離散的文本塊;
  • 當標準通用標記語言有新功能屬性時,可以根據實際需求把標準通用標記語言的新功能屬性加入本標籤”。

!DOCTYPE提示與註釋

註釋: !DOCTYPE 標籤沒有結束標籤。 [2] 
提示: !DOCTYPE 聲明不區分大小寫。

!DOCTYPE本標籤有三種寫法

一、私有的外聯文檔類型定義(使用系統標識符): [3] 
!DOCTYPE 根元素
SYSTEM "文檔類型定義位置"
[ !--內部子集聲明,可選項目-- ]
實例具體應用:(根元素是超文本網頁)
<!DOCTYPE HTML
 SYSTEM "文檔類型定義/嚴格.定義">
二、公共的外聯文檔類型定義(使用公共標識符): [3] 
!DOCTYPE 根元素
PUBLIC "註冊//組織//類型 標籤//定義 語言"
"文檔類型定義位置"
[ !--內部子集聲明,可選項目-- ]
實例具體應用:(根元素是超文本網頁)
<!DOCTYPE HTML
 PUBLIC "+//我公司//DTD超文本5//ZH"
 "網絡頁面文檔類型定義/嚴格.定義">
三、內聯的文檔類型定義:
!DOCTYPE 根元素
[
文檔類型定義裏頭的內容:
  • 元素/屬性/實體/符號
  • 處理指令/批註/引用
]
實例具體應用:(根元素是“百度百科_行標籤”)
<!DOCTYPE 百度百科_行標籤
[
 <!ELEMENT 多行 (排*)
 <!ELEMENT 排 O - (#PCDATA) -- 已解析的字符數據 -->
 <!ENTITY 百度百科_行標籤 "</排>">
 <!SHORTREF 壹行 "&#引;&#短;" 百度百科_行標籤 -- !短參考 -->
 <!USEMAP 壹行 排>
]
>

!DOCTYPE公共標識符

格式:
前綴//所有者//類型 標籤描述//語言//顯示版本 [3] 
前綴:
前綴
定義
ISO
是"國際標準化組織"的標準
組織名稱已註冊
組織名稱未註冊
注:註冊指組織是否由國際標準化組織註冊。 [3]  (各人也可以手動將文檔類型定義註冊自服務器)
組織(所有者):公司、單位、組織的名稱。
類型:表明該公共標識符所關聯的文檔的實際類型(比如超文本標記語言)。
標籤描述:所關聯的文檔的簡要説明。該描述可以是任何字符串,當然其中不應包含作為分隔符的“//”。(比如超文本5)。
語言:説明文檔基於何種語言書寫,通常使用國際標準化組織標準的兩字母語言代碼。
顯示版本:該項目使用較少,用於説明文檔是針對特定顯示設備或者特定系統的。

!DOCTYPE系統標識符

系統標識符必須是一段統一資源標識符,指定文件(文檔類型定義)的位置。 [4] 

!DOCTYPE隱式類型

用來暗示適用的文檔類型定義,當解析時而不遵守文檔類型聲明,那麼沒有必要暗示一個適用的文檔類型定義
<!DOCTYPE #IMPLIED SYSTEM>
<!DOCTYPE #IMPLIED>
當兩個文檔類型的名稱和外部子集的實體都隱含在一個文檔類型聲明裏頭,SYSTEM可能能夠找到一個合適的外部子集。 [5] 

!DOCTYPE遺漏元素

<!DOCTYPE 甩掉範例 #IMPLIED
[
<!--
“#暗示”是指使用本標籤的文檔元素可以有任何有效的元素類型名稱。
該內部子集僅包含“!記號”和“!實體”聲明。
“記號”聲明需要能夠使用的架構和實體聲明,當然要啓用使用實體(不能是標準通用標記語言的一個可選功能)。
可以指出在SYSTEM或標準通用標記語言聲明裏頭一個新的可選功能,例如“暗示文檔類型”或者其他某物。
-->
]
>
[6] 

!DOCTYPE常用類型

互聯網工程任務組
超文本標記語言三點零: [7] 
!DOCTYPE HTML
PUBLIC "-//IETF//DTD HTML//en"

!DOCTYPE萬維網聯盟

大多數萬維網瀏覽器實際上並沒有使用標準通用標記語言解析器,其中許多基於對文檔的!DOCTYPE聲明,顯示有所不同的文件或缺乏。
類型 指定公開文本類,即所引用的對象類型
標籤 指定公開文本描述,即對所引用的公開文本的特定的描述性名稱。後面可附帶版本號HTML 默認。HTML。
定義 指定文檔類型定義。框架集(外語:Frameset)文檔。
嚴格(外語:Strict) 排除所有 W3C 專家希望逐步淘汰的代表性屬性和元素,因為樣式表已經很完善了。
過渡(外語:Transitional) 包含除框架集(frameSet) 元素的全部內容。
語言 指定公開文本語言,即用於創建所引用對象的自然語言編碼系統。該語言定義已編寫為 ISO 639 語言代碼(大寫兩個字母)。
URL(資源定位器)指定所引用對象的位置。
註釋
此聲明必須顯示在文檔的起始處,顯示在 html 標籤之前。
功能簡介:
你可使用此聲明在 Internet Explorer 6 及以後版本中切換為嚴格的標準兼容模式。若想打開此開關,請在你的文檔頂部包含 !DOCTYPE 聲明,在聲明中指定合法的標籤,在某些情況下,還需要指定定義和/或統一資源定位。下面的表格列出了標準兼容模式的開關情況。
DOCTYPE 出現統一資源定位 未出現 統一資源定位 未出現
DOCTYPE 關 關
HTML (無版本) 關 關
HTML 2.0 關 關
HTML 3.0 關 關
HTML 4.0 開 開
HTML 4.0 Frameset 開 關
HTML 4.0 Transitional 開 關
HTML 4.0 Strict 開 開
XHTML 開 開
XML 開 開
無法識別的 DOCTYPE開 開
注意 在標準兼容模式下,不能保證與其它版本的Internet Explorer保持兼容。當打開標準兼容模式時,文檔的渲染行為也許與將來版本的 Internet Explorer 不同。若內容本來就是固定的(如刻錄在激光唱片上),則不應該使用此模式。
示例:
下面的例子演示瞭如何使用 !DOCTYPE 聲明指定文檔遵從的文檔類型定義,並將 Internet Explorer 6 及更高版本切換到標準兼容模式。
下面例子中的聲明都指定了遵從超文本4.0 文檔類型定義。第二種聲明指定了“Strict”。第一種聲明沒有指定。這兩種聲明都將會把 Internet Explorer 6 及以後版本切換到標準兼容模式。
!DOCTYPE HTML
PUBLIC "-//W3C//DTD HTML 4.0//en"
!DOCTYPE HTML
PUBLIC "-//W3C//DTD HTML 4.0 Strict//en"
下面例子中的聲明都指定了遵從“Transitional”HTML 4.0 文檔類型定義。第二種聲明指定了文檔類型定義的統一資源定位。第一種聲明沒有指定。第二種聲明將會把Internet Explorer 6 及以後版本切換到標準兼容模式。第一種聲明不會。
!DOCTYPE HTML
PUBLIC "-//W3C//DTD HTML 4.0 Transitional//en"
!DOCTYPE HTML
PUBLIC "-//W3C//DTD HTML 4.0 Transitional//en"
"http://www . w3 . org/TR/html4/loose.dtd"
標準信息
此對象定義在 HTML 3.2 中。
  1. 數學標記語言:
下面例子中的聲明都指定了遵從“MathML”數學標記語言2.0 文檔類型定義。第二種將設置MATHML命名空間的前綴到MML。第三種附加了檢查文檔類型定義(DTD) [8] 
!DOCTYPE math
PUBLIC "-//W3C//DTD MathML 2.0//en"
"http://www.w3 .org/Math/DTD/mathml2/mathml2.dtd"
!DOCTYPE mml:math
PUBLIC "-//W3C//DTD MathML 2.0//en"
"http://www.w3 .org/Math/DTD/mathml2/mathml2.dtd"
[
!ENTITY % MATHML.prefixed "INCLUDE" --設置包含某些部分的參數實體--
!ENTITY % MATHML.prefix "mml"
]
!DOCTYPE math
PUBLIC "-//W3C//DTD MathML 2.0//en"
"http://www.w3 .org/Math/DTD/mathml2/mathml2.dtd"
[
!ENTITY % MathMLstrict "INCLUDE" --設置包含某些部分的參數實體--
]

!DOCTYPE符號交換文件格式-音樂

!DOCTYPE NITFPUBLIC "-//IPTC-NAA//DTD NITF 2.0//en" [9] 

!DOCTYPE翻譯存儲交換

公共標識符稱為:"-//LISA OSCAR:1998//DTD for Translation Memory eXchange//en"
!DOCTYPE tmxPUBLIC "-//LISA OSCAR:1998//DTD for Translation Memory eXchange//en [10]  "

!DOCTYPE電子日曆

!DOCTYPE iCalendarPUBLIC "-//IETF//DTD iCalendar//en"

!DOCTYPE無線標記語言

!DOCTYPE wmlPUBLIC "-//WAPFORUM//DTD WML 1.1//en"
[11] 

!DOCTYPE音樂可擴展標記語言

三點零版本:
!DOCTYPE score-partwise
PUBLIC "-//Recordare//DTD MusicXML 3.0 Partwise//en [12]  "
參考資料
展開全部 收起