??????XML(eXtansible?Markup?Language,可擴展標記語言)是一套用來標記文檔的語法,它和現在的Web標記語言HTML相同,都是由SGML發展而來(由于SGML過于求大、求全,未能廣泛應用),同樣由W3C(World?Wide?Web?Consortium萬維網聯盟)制定標準。其目標是統一未來跨平臺數據交換的格式,并取代現有的HTML成為下一代Web頁的標準。?
??????XML和HTML都采用標記來表示數據,但本質上卻完全不同。HTML標記由W3C管理,只有W3C能夠定義、擴展和管理這些標記,因此,如果自定義的標記不被W3C承認,也就沒有任何價值。同時,HTML本身不能幫助理解或管理數據,例如,要從HTML文本中提取有效數據完全憑借人類的思維,我們無法編寫這樣的程序,讓它從關于書本的HTML文本中獲取作者的名稱。因為有的作者可能用<div>表示,有的可能被<layer>包含,HTML并未對如何表示一個作者制定規范,因而沒法讓程序理解哪個標記包含作者,哪個沒有。?
??????XML正好相反,它的標記是可自定義的、可擴展的和可識別的。例如,我們可以在關于書籍的XML文本中,定義<name>標記為書本的作者,只要遵循相應的DTD(Document?Type?Define,文檔類型定義),那么任何來源的XML文本,其<name>元素都可以被正確識別,這在HTML是無法實現的。更重要的是,理論上任何應用都可以識別并處理這些數據,如Web瀏覽器、WAP手機、數據庫系統或任何其它傳統軟件,只要它們能夠理解并遵守DTD規范就都可以。最后,依照每個應用的需要,可以根據實際情況創建更多標記,或賦予標記不同的含義。如前面的<name>,在介紹書本的文檔中可以是作者,在介紹古董的文檔中可以是古玩的名稱,在學習化學的文檔中可以是化學元素,完全可以根據需求來處理,并且能夠保證不被混淆。?
??????另外,XML比HTML更加嚴格。它不允許出現不配對的標記,如常用的回車符<br>,在XML中,要么是<br/>,要么是<br></br>。也不允許標記的堆疊,如<td><form></td></form>,而且XML區分大小寫。最后,XML文檔有且僅有一個根元素。?
??????XML可以應用到Web,但不限于Web,就像我們看到的那樣,通過XML最終在前所未有的范圍內,實現統一的數據格式規范和完善的處理方法。?
??????由于XML的可擴展標記非常靈活,能夠正確解析它的瀏覽器非常稀少。現有的XHTML做出了嘗試,它是一種比XML更加嚴格的超文本標記語言,但它畢竟還是屬于固定標記的文檔,在數據交換中還不能和XML相提并論。正是由于目前的瀏覽器對XML的支持不夠,造成XML在Web中的應用受到了嚴重限制,因此,將XML應用到Web必須采用其它的手段。目前,被廣泛應用的主要包括W3C自己制定的XSL和一些服務器端腳本,如PHP、JSP等。下面談談這些Web中的XML應用方法,希望能夠達到拋磚引玉的目的。?
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????文章來源:
http://www.jspcn.net
posted on 2006-07-04 13:05
Black&White JavaWorld 閱讀(78)
評論(0) 編輯 收藏