SGML
標準通用標記語言(Standard Generalized Markup Language,SGML)是現(xiàn)時常用的超文本格式的最高層次標準,是可以定義標記語言的元語言,甚至可以定義不必采用< >的常規(guī)方式。由于它的復雜,因而難以普及。
這是它的一個例子:
<QUOTE TYPE="example">
typically something like <ITALICS>this</ITALICS>
</QUOTE>
同時它也是一個ISO標準:"ISO 8879:1986 Information processing -- Text and office systems -- Standard Generalized Markup Language (SGML)"
它有非常強大的適應性,也正是因為同樣的原因,導致在小型的應用中難以普及。
HTML和XML同樣派生于它:XML可以被認為是它的一個子集,而HTML是它的一個應用。
XML的產(chǎn)生就是為了簡化它,以便用于更加通用的目的,比如語義Web。它已經(jīng)應用于大量的場合,比較著名的有XHTML、RSS、XML-RPC和SOAP。
HTML
超文本標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用于創(chuàng)建網(wǎng)頁的標準標記語言。
XHTML
可擴展超文本標記語言(英語:eXtensible HyperText Markup Language,XHTML),是一種標記語言,表現(xiàn)方式與超文本標記語言(HTML)類似,不過語法上更加嚴格。從繼承關(guān)系上講,HTML是一種基于標準通用標記語言(SGML)的應用,是一種非常靈活的置標語言,而XHTML則基于可擴展標記語言(XML),XML是SGML的一個子集。XHTML 1.0在2000年1月26日成為W3C的推薦標準。
XHTML1.1為XHTML最后的獨立標準,2.0止于草案階段。XHTML5則是屬于HTML5標準的一部分,且名稱已改為“以XML序列化的HTML5”,而非“可擴展的HTML”。在今日(2017年),XHTML5比起HTML5仍遠遠并非主流。
HTML5
HTML5是[HTML]最新的修訂版本,由萬維網(wǎng)聯(lián)盟(W3C)于2014年10月完成標準制定。目標是取代1999年所制定的HTML 4.01和XHTML 1.0標準,以期能在互聯(lián)網(wǎng)應用迅速發(fā)展的時候,使網(wǎng)上標準達到匹配當代的網(wǎng)上需求。
雖然HTML5的語法非常類似于[SGML],但它已經(jīng)放棄任何成為SGML應用程序的嘗試,除了一種替代的基于XML的HTML5序列,它已明確定義自己的“HTML”序列。
DOCTYPE
<!DOCTYPE> 聲明必須是 HTML 文檔的第一行,位于 <html> 標簽之前。
<!DOCTYPE> 聲明不是 HTML 標簽;它是指示 web 瀏覽器關(guān)于頁面使用哪個 HTML 版本進行編寫的指令。
DTD(Document Type Definition)概念緣于SGML,每一份SGML文件,均應有相對應的DTD。 在 HTML 4.01 中,<!DOCTYPE> 聲明引用 DTD,因為 HTML 4.01 基于 SGML。DTD 規(guī)定了標記語言的規(guī)則,這樣瀏覽器才能正確地呈現(xiàn)內(nèi)容。
HTML5 不基于 SGML,所以不需要引用 DTD。
提示:請始終向 HTML 文檔添加 <!DOCTYPE> 聲明,這樣瀏覽器才能獲知文檔類型。
常用的 DOCTYPE 聲明
HTML 5
<!DOCTYPE html>
HTML 4.01 Strict
該 DTD 包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional
該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
HTML 4.01 Frameset
該 DTD 等同于 HTML 4.01 Transitional,但允許框架集內(nèi)容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
XHTML 1.0 Strict
該 DTD 包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.0 Frameset
該 DTD 等同于 XHTML 1.0 Transitional,但允許框架集內(nèi)容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
XHTML 1.1
該 DTD 等同于 XHTML 1.0 Strict,但允許添加模型(例如提供對東亞語系的 ruby 支持)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">