Posted on 2006-09-24 14:40
奔跑的阿甘 閱讀(318)
評論(0) 編輯 收藏 引用 所屬分類:
XML/Data Service
XML的由來
Michael 2006/07/30
一 HTML是種界面標識語言
第一次聽到"XML"的人,如果對網頁知識略知一二的話,應該會自然而然地聯想到"HTML",并發問:這個新事物的出現是不是和"HTML"有
著某種聯系?
的確,從名稱我們就可以知道,他們都是屬于"標記語言(Markup Language)",顧名思義,該語言采用某些"標簽"來描述對象并呈現出某
種含義。XML是可擴展標記語言(eXtensible Markup Language)的簡寫,HTML是超文本標記語言(Hypertext Markup Language)的簡
寫。
HTML雖然是種標記語言,但是它標記的實際上是"界面(Presentation)"的描述,并通過HTML解釋器解釋后呈現出一種界面效果。比如:
<!-- HelloWorld.html -->
<html>
<body>
Hello, world!
</body>
</html>
<!-- HelloWorldBold.html -->
<html>
<body>
<B>Hello, world!</B>
</body>
</html>
第二個網頁在添加了"<B>"標簽后顯示出來的是粗體的"Hello, world!"。
HTML定義了大量的標簽用來呈現各式各樣的界面效果,它不關注被顯示的具體內容,而只關心用哪種效果或者樣式來顯示這個內容。在實際
應用中,這些具體內容通常都以數據庫的形式儲存在服務器中,HTML利用嵌入其中的CGI/ASP/PHP等腳本讀取數據庫內容并以定義的樣式通
過網頁呈現出來。所以,簡單地說,HTML是種界面標識語言。
當然,HTML也定義了部分標簽用于表達內容的含義,比如"title"表示網頁的標題,但是這些標簽很少,不是HTML的核心。
二 為什么有XML?
XML的出現是互聯網高速發展的產物。互聯網的出現使得多個網絡實體之間的信息通訊變得更加頻繁,這種信息通訊要求跨平臺跨網絡跨硬
件,古老的HTML可以滿足信息傳遞的要求,但是前面提到,HTML的核心在于被傳遞信息的呈現,而非信息本身。最初在信息服務方所擁有的
信息架構在通過HTML傳遞后完全喪失了結構,而被當作簡單的信息串以某種格式顯示出來,造成信息接收方對雜亂無章的信息沒有足夠的認
知。
XML橫空出世,它完美的描述了信息的結構性,把焦點置在了信息內容本身,從而解決了信息的無損耗承載(信息的"內容"和"含義"都被正
確傳載),而且XML格式簡單易用。這給了信息接收方更多的訪問空間,比如網絡搜索,有了XML利器變得簡單。
XML是這么一種語言,和HTML類似的語法,通過大量的"標簽"來標記元素,和HTML不同的是,這些"標簽"完全是由用戶自行定義,所以它是
一種元語言(Meta Language),可以把HTML想象成由XML定義出來的包含一組固定樣式"標簽"(比如<B>, <HR>等)的語言。
在前面的HelloWorldBold.html例子中,可以視為傳遞這么一種信息:
<XML version="1.0"><greeting>Hello, world!</greeting></XML>
這個XML腳本告訴我們"Hello, world!"是一種問候,而不像HTML語言定義的只是一個簡單的普通的字符串,XML賦予了字符串的含義。
當我想知道這個世界上不同國家的人如何表達這種問候時,我只需要搜索"greeting"字符串就可以獲得想要的信息(比如"Hello,
world!"和"你好,世界!")。
不同于HTML,XML通過CSS(Cascading Style Sheets)或XSL(Extensible Stylesheet Language)來呈現它所要表達的內容。CSS在
HTML中只是做為一種補充的樣式,在XML中則完全充當顯示樣式的全職角色。XSL則允許用戶在原XML文檔的基礎上采用XSL語句對源文檔進
行特定的轉化,生成一個新的XML文檔,這個文檔的結構已經根據我們自己編寫的規則發生變化,并且會呈現出各種各樣的效果(在"XSLT原
理"一文詳細介紹)。
如果我們深入理解和應用XML的話,會發現它和數據庫表的描述是多么類似。然而,數據庫產品多式多樣,彼此通訊變得昂貴,XML作為一種
網絡通訊數據標準逐漸浮現。
總之,XML是一種比HTML更抽象的用來描述結構化數據的語言,它是一種跨平臺的數據標準。它將成為互聯網絡家族的一個關鍵成員。
【完】