所謂的xml,就是eXtensible Markup Language, 翻譯成中文就是“可擴展標(biāo)識語言“,在國內(nèi)很多人理解xml為html的簡單擴展,這實際上是一種誤解。盡管xml同html關(guān)系非常密切。
XML與SGML、HTML的關(guān)系。
SGML、HTML是XML的先驅(qū)。SGML是指“通用標(biāo)識語言標(biāo)準(zhǔn)”(Standard Generalized Markup Language), 它是國際上定義電子文件結(jié)構(gòu)和內(nèi)容描述的標(biāo)準(zhǔn),是一種非常復(fù)雜的文檔的結(jié)構(gòu),主要用于大量高度結(jié)構(gòu)化數(shù)據(jù)的防衛(wèi)區(qū)和其他各種工業(yè)領(lǐng)域,利于分類和索引。同XML相比,定義的功能很強大,缺點是它不適用于Web數(shù)據(jù)描述,而且SGML軟件價格非常價格昂貴。 HTML相信大家都比較熟悉,即“HyperText Markup Language” (超文本標(biāo)識語言),它的優(yōu)點是比較適合web 頁面的開發(fā)。但它有一個缺點是標(biāo)記相對少,只有固定的標(biāo)記集如
.等。缺少sgml 的柔性和適應(yīng)性。不能支持特定領(lǐng)域的標(biāo)記語言,如對數(shù)學(xué)、化學(xué)、音樂等領(lǐng)域的表示支持較少。舉個例子來說,開發(fā)者很難在web pape 上表示數(shù)學(xué)公式、化學(xué)分子式和樂譜。
Xml 結(jié)合了sgml 和html的優(yōu)點并消除其缺點。Xml 仍然被認為是一種sgml語言。比sgml要簡單,但能實現(xiàn)sgml的大部分的功能。1996年的夏天,Sun Microssystem的John Bosak開始開發(fā)W3C SGML工作組(現(xiàn)在稱為xml工作組)。他們的目標(biāo)是創(chuàng)建一種sgml,使其在Web中,既能利用Sgml的長處,又保留html的簡單性。現(xiàn)在目標(biāo)基本達到。
二、Xml 的發(fā)展。
在專業(yè)領(lǐng)域中,出現(xiàn)了Web標(biāo)記語言的許多項目,著名的有CML—化學(xué)標(biāo)記語言,由Peter Murray_Rust 開發(fā),同時開發(fā)了第一個通用xml 瀏覽器Jumbo . 在數(shù)學(xué)方面,包括IBM公司再內(nèi)都在致力開發(fā)MathML 1997年四月,出版了xll的第一個版本。當(dāng)xll完整實現(xiàn)時,將比html 和當(dāng)前瀏覽器所達到的鏈接水平更復(fù)雜,更強大。1997年8月,Microsoft公司和Inso公司引入xsl.由于xml是純結(jié)構(gòu)和語義的,需要描述單個元素格式方法。可以使用html的CSS;另一種方案是xsl. 1998年1月,microsoft 公司出版發(fā)行了msxsl程序。可以利用xsl表和xml文檔創(chuàng)建能被IE4 識別的html頁面。1998年2月,W3C發(fā)布了xml1.0的正式版本。最近一年多來,由于網(wǎng)絡(luò)應(yīng)用的飛速發(fā)展,xml的發(fā)展非常迅猛。出現(xiàn)了DOM(Document Object Model),XSLT(XSL Transformation)等新名詞,xml的應(yīng)用軟件也有了飛速的發(fā)展,Microsoft、IBM、Breeze、Stilo等公司紛紛推出了自己的或解析器,或開發(fā)平臺。在MicrosoftIBM、HP等大公司的推動下,目前有兩個著名的xml的研究組織,分別是biztalk.com和oasis.org,由他們向W3C提出標(biāo)準(zhǔn)的建議。其中biztalk是有Microsoft牽頭組織的,有趣的是Microsoft公司同時參加了oaisis,不過不同于IBM、HP等著名大公司,他的年費只交10萬美元,用Microsoft發(fā)言人的話就是“一切視oasis的發(fā)展而定!“,言下之意就是如果oasis制定的標(biāo)準(zhǔn)抵觸Microsoft的應(yīng)用,一場標(biāo)準(zhǔn)大戰(zhàn)不可避免。
什么是XML
首先XML是一種元標(biāo)記語言,所謂“元標(biāo)記”就是開發(fā)者可以根據(jù)自己的需要定義自己的標(biāo)記,比如開發(fā)者可以定義如下標(biāo)記
等已經(jīng)定義的標(biāo)記,對于用戶自己定義的標(biāo)記是不認識的。 第二xml是一種語義/結(jié)構(gòu)化語言。它描述了文檔的結(jié)構(gòu)和語義。舉個例子,在和html中,要描述一本書,可以如下表示:
新聞熱點
疑難解答