基本介紹
- 中文名:!文檔類型
- 外文名:DOCument TYPE
- 外語縮寫:!DOCTYPE
- 類型:文檔類型聲明
簡介,語法,提示與注釋,本標籤有三種寫法:,公共標識符,系統標識符,隱式類型,遺漏元素,常用類型,網際網路工程任務組,全球資訊網聯盟,符號交換檔案格式-音樂,翻譯存儲交換,電子日曆,無線標記語言,音樂可擴展標記語言,
簡介
它出現如該檔案的第一行,並具有如下形式:
<!DOCTYPE html PUBLIC "引用的字元串" --公共標識符-->
“引用的字元串”是被調用一個公共標識符,它指的是所需的文檔類型定義(外語縮寫:DTD)由一個“知名”的名字,通常是由一個相關的標準。
可用性:
語法
註:由於!DOCTYPE(以下簡化稱為“本標籤”)是標準通用標記語言的文檔類型聲明,所以
- “本標籤”的附屬屬性(比如以下提到的“#隱含”及“公共、系統標識符”屬性)將為離散的文本塊;
- 當標準通用標記語言有新功能屬性時,可以根據實際需求把標準通用標記語言的新功能屬性加入“本標籤”。
提示與注釋
注釋:<!DOCTYPE> 標籤沒有結束標籤。
提示:<!DOCTYPE> 聲明不區分大小寫。
本標籤有三種寫法:
一、私有的外聯文檔類型定義(使用系統標識符):
<!DOCTYPE 根元素
SYSTEM "文檔類型定義位置"
[< !--內部子集聲明,可選項目-->]
>
<!DOCTYPE HTML SYSTEM "文檔類型定義/嚴格.定義">
二、公共的外聯文檔類型定義(使用公共標識符):
<!DOCTYPE 根元素
PUBLIC "註冊//組織//類型 標籤//定義 語言"
"文檔類型定義位置"
[< !--內部子集聲明,可選項目-->]
>
<!DOCTYPE HTML PUBLIC "+//我公司//DTD超文本5//ZH" "網路頁面文檔類型定義/嚴格.定義">
三、內聯的文檔類型定義:
<!DOCTYPE 根元素
[
文檔類型定義裡頭的內容:
- 元素/屬性/實體/符號
- 處理指令/批註/引用
]
>
實例具體套用:(根元素是“中文百科_行標籤”)
<!DOCTYPE 中文百科_行標籤[ <!ELEMENT 多行 (排*) <!ELEMENT 排 O - (#PCDATA) -- 已解析的字元數據 --> <!ENTITY 中文百科_行標籤 "</排>"> <!SHORTREF 壹行 "&#引;&#短;" 中文百科_行標籤 -- !短參考 --> <!USEMAP 壹行 排>]>
公共標識符
格式:
前綴//所有者//類型 標籤描述//語言//顯示版本
前綴:
註:註冊指組織是否由國際標準化組織註冊。(各人也可以手動將文檔類型定義註冊自伺服器)
組織(所有者):公司、單位、組織的名稱。
類型:表明該公共標識符所關聯的文檔的實際類型(比如超文本標記語言)。
標籤描述:所關聯的文檔的簡要說明。該描述可以是任何字元串,當然其中不應包含作為分隔設定的“//”。(比如超文本5)。
語言:說明文檔基於何種語言書寫,通常使用國際標準化組織標準的兩字母語言代碼。
顯示版本:該項目使用較少,用於說明文檔是針對特定顯示設備或者特定系統的。
系統標識符
系統標識符必須是一段統一資源標識符,指定檔案(文檔類型定義)的位置。
隱式類型
用來暗示適用的文檔類型定義,當解析時而不遵守文檔類型聲明,那么沒有必要暗示一個適用的文檔類型定義:
<!DOCTYPE #IMPLIED SYSTEM><!DOCTYPE #IMPLIED>
當兩個文檔類型的名稱和外部子集的實體都隱含在一個文檔類型聲明裡頭,SYSTEM可能能夠找到一個合適的外部子集。
遺漏元素
<!DOCTYPE 甩掉範例 #IMPLIED[<!--“#暗示”是指使用本標籤的文檔元素可以有任何有效的元素類型名稱。該內部子集僅包含“!記號”和“!實體”聲明。“記號”聲明需要能夠使用的架構和實體聲明,當然要啟用使用實體(不能是標準通用標記語言的一個可選功能)。可以指出在SYSTEM或標準通用標記語言聲明裡頭一個新的可選功能,例如“暗示文檔類型”或者其他某物。-->]>
常用類型
網際網路工程任務組
超文本標記語言三點零:
<!DOCTYPE HTML
PUBLIC "-//IETF//DTD HTML//en">
全球資訊網聯盟
類型 指定公開文本類,即所引用的對象類型。
標籤 指定公開文本描述,即對所引用的公開文本的特定的描述性名稱。後面可附帶版本號。 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 中。
- 數學標記語言:
下面例子中的聲明都指定了遵從“MathML”數學標記語言2.0 文檔類型定義。第二種將設定MATHML命名空間的前綴到MML。第三種附加了檢查文檔類型定義(DTD)
<!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 NITFPUBLIC "-//IPTC-NAA//DTD NITF 2.0//en" >
翻譯存儲交換
公共標識符稱為:"-//LISA OSCAR:1998//DTD for Translation Memory eXchange//en"
<!DOCTYPE tmxPUBLIC "-//LISA OSCAR:1998//DTD for Translation Memory eXchange//en""">
電子日曆
<!DOCTYPE iCalendarPUBLIC "-//IETF//DTD iCalendar//en"
>
無線標記語言
<!DOCTYPE wmlPUBLIC "-//WAPFORUM//DTD WML 1.1//en"
>
音樂可擴展標記語言
三點零版本:
<!DOCTYPE score-partwise
PUBLIC "-//Recordare//DTD MusicXML 3.0 Partwise//en""">