什么是XML
XML是一個精簡的SGML,它將SGML的豐富功能與HTML的易用性結合到Web的用中。XML保留了SGML的可擴展功能,這使XML從根本上有別于HTML。XML要比HTML強大得多,它不再是固定的標記,而是允許定義數(shù)量不限的標記來描述文檔中的資料,允許嵌套的信息結構。HTML只是Web顯示數(shù)據(jù)的通用方法,而XML提供了一個直接處理 Web 數(shù)據(jù)的通用方法。HTML著重描述Web頁面的顯示格式,而XML著重描述的是Web頁面的內容。讓我們先來看一看用XML描述
<weatherreport>
<date>March 25, 1998</date>
<time>08:00</time>
<area>
<city>Seattle</city>
<state>WA</state>
<region>West Coast</region>
<country>USA</country>
</area>
<measurements>
<skies>partly cloudy</skies>
<temperature>46</temperature>
<wind>
<direction>SW</direction>
<windspeed>6</windspeed>
</wind>
<hindex>51</hindex>
<humidity>87</humidity>
<visibility>10</visibility>
<uvindex>1</uvindex>
</measurements>
</weatherreport>
為了使編寫的Web頁面成為有效的XML文檔,文中每一添加的標記必須記入一個
獨立的DTD文件中。當客戶瀏覽天氣預報文檔時,相關的DTD文件是隨著文檔一起下
載到客戶端,客戶瀏覽器就懂得怎樣來處理它們,例如你可以從幾個天氣報告中計
算出平均溫度等,最后將結果顯示出來。
DTD文件使XML頁面能包含更多的內容,表現(xiàn)更復雜的形式。從實例中也可以看
出XML頁面信息是結構化的,有些與數(shù)據(jù)庫結構類似,因而更具訪問性,其檢索結
果更有針對性、更準確。
另外你也可以將URL地址定義在DTD文件中,當Web主頁地址發(fā)生變化時,你只
需改動DTD文件中的定義即可,而不必一一在HTML文檔中改變URL地址,從而使Web
的維護更方便,用戶也不會遇到URL地址找不到的信息,這樣一來,Web的應用更穩(wěn)
定。
并不是所有的DTD文件都要下載到客戶端,已經制訂成為標準的協(xié)議,例如在
后面第六點中提到的化學標記語言CML、數(shù)學標記語言MML等是不需要DTD文件的。
除了DTD外,XML中還包括可擴展格式語言XSL(Extensible Style Language)
和可擴展鏈接語言XLL(Extensible Linking Language)。
XSL用于將XML數(shù)據(jù)翻譯為HTML或其他格式的語言。XSL提供了一種疊式頁面
CSS的功能,使開發(fā)者構造出具有表達層結構的Web頁面來,以有別于XML的數(shù)據(jù)結
構。XSL也能和HTML一起構造疊式頁面。XSL可以解釋數(shù)量不限的標記,它使Web的
版面更豐富多彩,例如動態(tài)的文本、跑馬式的文字。此外,XSL還處理多國文字、
雙字節(jié)的漢字顯示、網格的各種各樣的處理等。
XLL是XML的鏈接語言,它與HTML的鏈接相似,但功能更強大。XLL支持可擴展
的鏈接和多方向的鏈接。它打破了HTML只支持超級文本概念下最簡單的鏈接限制,
能支持獨立于地址的域名、雙向鏈路、環(huán)路、多個源的集合鏈接等。XLL鏈接可不
受文檔制約,完全按用戶要求來指定和管理。
為了使XML易學易用,XML精簡了一大片SGML難得用一次的功能。正如幾十萬漢
字中常用的只不過八千,SGML常用的部分只占20%,XML拋棄了SGML中不常用的部
分,使它一下就精簡了80%。這樣一來,XML的語法說明書只有30頁,而SGML卻有
500頁。
XML設計中也考慮了它的易用性,易用性來自兩個方面:一方面用戶編寫Web頁
面方便,另一方面設計人員實現(xiàn)XML瀏覽器也不太困難。
總之,XML使用一個簡單而有靈活的標準格式,為基于Web的應用提供了一個描
述數(shù)據(jù)和交換數(shù)據(jù)的有效手段。HTML描述了顯示全球數(shù)據(jù)的通用方法,而XML提供
了直接處理全球數(shù)據(jù)的通用方法。
目前的主要XML技術
XML 與 命名空間
文檔類型定義DTD
XPath
XPointer、XInclude、XML Base
XSL Transformations
SAX
DOM
XML Schema
SOAP
posted on 2005-12-02 16:56
Steve 閱讀(457)
評論(0) 編輯 收藏 所屬分類:
J2EE 技朮