標準通用標記語言、超文本標記語言是它的先驅。標準通用標記語言它是國際上定義電子文件結構和內容描述的標準,是一種非常複雜的文檔的結構,主要用於大量高度結構化數據的防衛區和其他各種工業領域,利於分類和索引。同它相比,定義的功能很強大,缺點是它不適用於Web數據描述,而且標準通用標記語言軟體價格非常昂貴。 HTML相信大家都比較熟悉,即超文本標識語言,它的優點是比較適合web頁面的開發。但它有一個缺點是標記相對少,只有固定的標記集如
.
等。缺少標準通用標記語言的柔性和適應性。不能支持特定領域的標記語言,如對數學、化學、音樂等領域的表示支持較少。舉個例子來說,開發者很難在網頁上表示數學公式、化學分子式和樂譜。它結合了標準通用標記語言和HTML的優點並消除其缺點。XML仍然被認為是一種標準通用標記語言。比標準通用標記語言要簡單,但能實現標準通用標記語言的大部分的功能。1996年的夏天,標準通用標記語言,使其在Web中,既能利用標準通用標記語言的長處,又保留html的簡單性。XML的簡單使其易於在任何應用程序中讀寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟體也支持其它的數據交換格式,但不久之後他們都將支持XML,那就意味著程序可以更容易的與Windows,Mac OS, Linux以及其他平台下產生的信息結合,然後可以很容易載入XML數據到程序中並分析它,並以XML格式輸出結果。
為了使得標準通用標記語言顯得用戶友好,它重新定義了標準通用標記語言的一些內部值和參數,去掉了大量的很少用到的功能,這些繁雜的功能使得標準通用標記語言在設計網站時顯得複雜化。它保留了標準通用標記語言的結構化功能,這樣就使得網站設計者可以定義自己的文檔類型,它同時也推出一種新型文檔類型,使得開發者也可以不必定義文檔類型。
SGML常用來定義針對HTML的文檔類型定義(DTD),同時它也常用於編寫XML的DTD。SGML的問題就在於它允許出現一些奇怪的語法,這讓創建HTML的
解析器成為一個大難題:
這些問題使建立一個SGML語言的解析器變成了一項艱巨的任務,判斷何時應用以上規則的困難導致了SGML語言的定義一直停滯不前,以這些問題作為出發點,XML逐漸步入我們的視野。
XML去掉了之前令許多開發人員頭疼的SGML的隨意語法。在XML中,採用了如下的語法:
這些規則使得開發一個XML解析器要簡便得多,而且也除去了解析SGML中花在判斷何時何地應用那些奇怪語法規則上的工作。僅僅在XML出現后的前六年就衍生出多種不同的語言,包括
MathML、SVG、
RDF、RSS、
SOAP、
XSLT、
XSL-FO,而同時也將HTML改進為
XHTML。
XML技術已經廣泛應用於e-Learning應用系統的開發,大多數的商用e-Learning平台都支持XML標準。一些主要的網路設備製造商,如CISCO、
JUNIPER等,生產的網路設備也已提供了對XML的支持,以利於今後基於XML的網路管理。
雖然XML標準本身簡單,但與XML相關的標準卻種類繁多,W3C制定的相關標準就有二十多個,採用XML制定的重要的
電子商務標準就有十多個。這一方面說明XML確實是一種非常實用的結構化通用標記語言,並且已經得到廣泛應用;另一方面,這又為了解這些標準帶來一定的困難,除了標準種類繁多外,標準之間通常還互相引用,特別是應用標準,它們的制定不僅僅使用的是XML標準本身,還常常用到了其他很多標準。XML標準的體系與SGML標準的體系非常相似,XML相關標準也可分為元語言標準、基礎標準、應用標準三個層次。
描述的是用來描述標準的元語言。在XML標準體系中就是XML標準,是整個體系的核心,其他XML相關標準都是用它制定的或為其服務的。
這一層次的標準是為XML的進一步實用化制定的標準,規定了採用XML制定標準時的一些公用特徵、方法或規則。如
XML Schema描述了更加嚴格地定義XML文檔的方法,以便可以更自動化處理XML文檔;XMLNamespace用於保證 XML DTD中名字的一致性,以便不同的DTD中的名字在需要時可以合併到一個文檔中;XSL是描述XML文檔樣式與轉換的一種語言;
XLink用來描述XML文檔中的超鏈接;
XPointer描述了定位到XML文檔結構內部的方法;
DOM定義了與平台和語言無關的介面,以便程序和腳本動態訪問和修改文檔內容、結構及樣式等。
XML已開始被廣泛接受,大量的應用標準,特別是針對網際網路的應用標準,紛紛採用XML進行制定。有人甚至認為,XML標準是網際網路時代的
ASCII標準。在這網際網路時代,幾乎所有的行業領域都與網際網路有關。而它們旦與網際網路發生關係,都必然要有其行業標準,而這些標準往往採用XML來制定。