HTML, XHTML, XML之間的區別

 

XML

XML 是 可擴展標記語言(Extensible Markup Language), 爲文檔的創建,結構化存儲和編碼提供了規則。你經常會看到XML 被用於存儲數據以實現應用程序之間的通信,它是編程語言無關的(programming language-agnostic) - 所有主要的編程語言全部提供了用於讀寫 XML 文檔的機制,要麼這種機制是內核的一部分,要麼由外部庫提供。

XML 是一種元語言(meta language),所謂元語言是指爲創造其他語言提供了語法機制,同時不會通過預定義的語法限制表達式的一種語言。XML定義在SGML文檔類型語言中。如果遵守XML嚴格的語法要求則稱爲形式良好(well-formedness), 如果滿足形式良好的要求,跨應用程序和不同用戶代理的文檔就能獲得精確而準確的統一處理。

XML是一種語法:它定義瞭如何寫數據,而不是要寫什麼數據。例如:

<something otherthing="stuff">content</something>
  • 1

HTML

HTML 是超文本標記語言(HyperText Markup Language),設計 HTML 的目的是創建結構化的文檔,提供文檔的語義。

HTML是一個詞彙表: 它定義了你能寫的元素類型 (例如: BODY, P, LI, etc.) 但是並不嚴格限制你怎麼寫 (see “Tag soup”);

HTML 1.0 用英語寫成(言外之意,只是用英語描述了一下,沒有用到其他編程語言),既非 SGML 也非 XML。

HTML 2 - 4 用SGML寫成,具有SGML的靈活性,例如大寫的標籤,或沒有匹配結尾標籤的起始標籤。

HTML 5 是 HTML 的下一代版本 (當前版本 HTML 4), 仍在起草中,還沒有成爲一種標準, 一些實驗性的瀏覽器部分地支持。HTML 5 將顯式支持XML語法和tag soup。HTML 5與HTML 1.0一樣,沒有使用任何元語言來定義,用英文文本編寫,並與XML序列化的統一要求完全相反,HTML 5看起來是爲了可用性和媒體傳輸(media delivery)而創建的,結構或語言層次結構則沒有考慮。

XTHML

XHTML 是基於XML的 HTML, 作用與HTML相同,確定文檔結構的markup規則與XML相同。除了使用(更嚴格的)XML語法編寫外,XHTML(大約)是HTML詞彙表。 因此它(因爲語法更嚴格)更易於其他軟件對其進行解析,但非程序員難以正確寫出XHTML。 它不是非常流行,因爲Internet Explorer不能正確支持它。

XHTML 1.0 是一種SGML定義的HTML語言形式,它具有一些擴展的需求,以便逐漸兼容XML語法。

XHTML 1.1是一種用XML定義的,具備XML形式良好(well-formedness)要求的一種HTML語言。

XHTML 5代表“HTML 5的XML序列化”,是一種HTML5的XML語法,可以在將DOM樹序列化回(serializing back into)HTML5時使用(DOM樹無法區分標籤,soup tag 和正確標籤)[不知道soup tag 是什麼???],並且必須遵守更加嚴格的XML規則和名稱空間。設計 XHTML 5的目的是爲了讓機器的閱讀或數據交換更容易,或者便於比較兩個HTML 5文檔。 它是與HTML 5標準一起指定的。

其他

SGML

SGML( Standard Generalized Markup language 即標準通用標記語言)是一種類XML的語言,甚至是XML的父語言。 SGML通過沒有數據類型約定的語法爲定義數據提供了一種十分廣泛的形式。不同於SGML,XML具有嚴格且極端簡化的語法,且十分易懂。 與SGML不同,XML也具有數據類型定義的特徵。 XML中的元素以lambda方式提供名字空間範圍,而SGML不支持名稱空間。

Doctype

Doctype是一種基於SGML的語言,它使用完全不同於XML的語法來定義標記語言語法和廣泛的數據類型約定,以便將數據元素與文本區分開來。

XML Schema(不確定是什麼)

XML Schema是一種用XML寫的語言,除了元素,結構和屬性的特定數據類型約定外,還允許使用精確的結構形式進行語言的語法定義。 與SGML詞彙表不同,用Schema寫的語言在結構上具有自我意識(structurally self-aware),因此這種語言在結構中的任意不同點都瞭解自己的內部需求。 由於結構性自我意識(structural self-awareness),由schema定義的語言能夠立即通過Schema文檔的引用進行驗證,而在Doctype中定義的語言則需要有具有靜態定義的無關的軟件才能執行驗證。

本文爲轉載文檔,作者: 2222345345

本文鏈接:https://blog.csdn.net/ftell/article/details/80710068#xml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章