|
簡介 可擴展標記語言XML是一種元標記語言,它使用簡單靈活的標準格式,為基于Web的應用提供了一個描述數(shù)據(jù)和交換數(shù)據(jù)的有效手段. Sommaire 前言 前言 網(wǎng)絡以前所未有的速度發(fā)展,成為與報紙,廣播,電視相比肩的第四媒體. 它需要更完整的語言表達網(wǎng)絡內(nèi)容的內(nèi)涵. 人們越來越發(fā)現(xiàn)HTML這種語言已經(jīng)遠遠不能滿足網(wǎng)絡潛在應用能力的需要. "可擴展性標識語言"XML的出現(xiàn),把網(wǎng)絡表達語言集合推進了一大步. 下面我們就來詳細了解一下這一全新的標識語言.. 1. 何謂標識 SGML,HTML,XML都是標識語言: SGML(Standard Generalized Markup Language)標準通用標記語言 最早,標識是文件在排版的時候,用來指示文字如何編排的指令.標識并不處理文件的內(nèi)容,主要用來處理文件世界的呈現(xiàn)外觀,這類的標識稱為程序性標識(Procedural Markup). 一般而言,程序性標識的作用都只針對單一文件. 另一類標識稱為描述性標識(Descriptive Markup),也稱為通用標識.所描述的是文件的內(nèi)容(content)或結構(structure),而不是文件的呈現(xiàn)外觀.描述文件結構的凡是以標識指定結構中的元素(elements) XML,SGML都是典型的通用標識語言,HTML就比較特殊了,HTML的標簽集(tag set)中的大部分都是用來設定文件在WEB上的呈現(xiàn)外觀,少部分描述文件的結構.(如:head, title, body) 由于HTML是SGML的一種應用,所以HTML并非程序性標識語言,而是以描述性標識的方式來控制文件的呈現(xiàn)外觀. . HTML 2.1. HTML ”HTML (超文本鏈接標示語言)是我們的數(shù)據(jù)類型” __比爾.蓋茨(1996.2) 這句話預示了戶聯(lián)網(wǎng)無可限量的發(fā)展前景. 無論是公司,政府機構,還是個人,網(wǎng)絡和它最初用以表達信息的方法HTML都獲得了圓滿的成功,HTML以簡單易學、靈活通用的特性,使人們發(fā)布、檢索、交流信息都變得非常簡單,從而使Web成了最大的環(huán)球信息資源庫。 這樣看來HTML可以解決絕大部分問題了,但是,一些獨具慧眼的人卻已經(jīng)認識到有必要重新發(fā)展一種新的語言,即XML. 2.2.HTML的缺點 “HTML只說明數(shù)據(jù)看起來應該是什么樣,而XML則說明數(shù)據(jù)是什么意思.” 首先,HTML存在很大的局限性, 由于標準的標記已經(jīng)由W 其次,HTML的另一個問題就是它的標記的集合是固定的,用戶不能增加自己的有意義的標記。而且各大瀏覽器的規(guī)格不盡相同,要使我們用HTML做的網(wǎng)頁能夠被所有瀏覽器正常顯示,我們只能夠使用W 3. XML的誕生 XML,extensible markup language(可擴展標識語言),是當代最熱門的網(wǎng)絡技術之一,被稱為”第二代web語言”,”下一代網(wǎng)絡應用的基石.”自從它被提出來,幾乎得到了業(yè)界所有大公司的支持,絲毫不遜于當年HTML被提出來的熱度. XML是1986年國際標準組織(ISO)公布的一個名為”標準通用標識語言”(standard general ized markup language,sgml)的子集.它是由成立于1994年10月的W 4.HTML于XML比較 與HTML相比,XML具有以下幾點技術優(yōu)勢:
1.XML同HTML都來自SGML. 5.XML的構成 XML主要有3個組成元素:Schema(模式)、XSL(可擴展樣式語言)和XLL(可擴展鏈接語言) Schema規(guī)定了XML文件的邏輯結構,定義了XML文件中的元素、元素的屬性以及元素和元素屬性之間的聯(lián)系,它可以幫助XML的分析程序校驗XML文件標記的合法性;XSL是用于規(guī)定XML文檔樣式的語言,它能在客戶端使Web瀏覽器改變文檔的表示法,從而不需要再與服務器進行交互通信;XLL將進一步擴展目前Web上已有的簡單鏈接。 由于XML具有許多HTML所不可比擬的優(yōu)點,許多公司和組織都提供了對XML的支持。如W3C開發(fā)的PICS(theplatformforInternetcontentselection,Internet內(nèi)容挑選平臺)和RDF(resourcedescriptionframework,資源描述框架)、Microsoft的CDF(channeldefinitionformat,頻道定義格式)、Netscape的MCF(metacontentframework,元內(nèi)容框架)等。 6.顯示 單獨實用XML不能顯示頁面,因為XML是將數(shù)據(jù)和格式分離的, XML本身不知道如何來顯示,必須有輔助文件來幫助實現(xiàn).比如CSS或者XSL. (XML取消了所有標識,包括font, color, p等風格樣式定義標識,因此XML全部是采用類似DHTML中CSS的方法來定義文檔風格樣式.), XML中用來設定顯示風格樣式的文件類型有: 6.1.XSL XSL是將來設計XML文檔顯示樣式的主要文件類型.它本身也是基于XML語言的.使用XSL,可以靈活的設置文檔顯示樣式,文檔將自動適應任何瀏覽器和PDA(掌上電腦.) 6.2.CSS CSS,全稱是Cascading Style Sheets, 層疊樣式表,是目前用來在瀏覽器上顯示XML文檔的主要方法. 6.3.Behaviors Behaviors現(xiàn)在還沒有稱為標準,它是微軟的IE瀏覽器特有的功能,用它可以對XML標識設定一些有趣的動作. 7.XML的獨特之處 7.1.更有意義的搜索 數(shù)據(jù)可被XML唯一的標識。沒有XML,搜索軟件必須了解每個數(shù)據(jù)庫是如何構建的。這實際上是不可能的,因為每個數(shù)據(jù)庫描述數(shù)據(jù)都是不同的。例如,有了XML,書就可以很容易以標準的方式按照作者、標題、ISBN序號或其他的標準分類。搜索書就變得十分方便。 7.2. 開發(fā)靈活的Web應用軟件 數(shù)據(jù)一旦建立,XML能被發(fā)送到其他應用軟件、對象或者中間層服務器做進一步地處理。或者它可以發(fā)送到桌面用瀏覽器瀏覽。XML和HTML、腳本、公共對象模式一起為靈活的三層Web應用軟件的開發(fā)提供了所需的技術。 7.3. 不同來源數(shù)據(jù)的集成 現(xiàn)在搜索多樣的不兼容的數(shù)據(jù)庫實際上是不可能的。XML能夠使不同來源的結構化的數(shù)據(jù)很容易的結合在一起。軟件代理商可以在中間層的服務器上對從后端數(shù)據(jù)庫和其他應用處來的數(shù)據(jù)進行集成。然后,數(shù)據(jù)就能被發(fā)送到客戶或其他服務器做進一步的集合、處理和分發(fā)。 7.4. 多種應用得到的數(shù)據(jù) 擴展性和靈活性允許它描述不同種類應用軟件中的數(shù)據(jù),從描述搜集的Web頁到數(shù)據(jù)記錄。同時,由于基于XML的數(shù)據(jù)是自我描述的,數(shù)據(jù)不需要有內(nèi)部描述就能被交換和處理。 7.5. 本地計算和處理 XML格式的數(shù)據(jù)發(fā)送給客戶后,客戶可以用應用軟件解析數(shù)據(jù)并對數(shù)據(jù)進行編輯和處理。使用者可以用不同的方法處理數(shù)據(jù),而不僅僅是顯示它。XML文檔對象模式(DOM)允許用腳本或其他編程語言處理數(shù)據(jù)。數(shù)據(jù)計算不需要回到服務器就能進行。分離使用者觀看數(shù)據(jù)的界面,使用簡單靈活開放的格式,可以給Web創(chuàng)建功能強大的應用軟件,這些軟件原來只能建立在高端數(shù)據(jù)庫上。 7.6. 數(shù)據(jù)的多樣顯示 數(shù)據(jù)發(fā)到桌面后,能夠用多種方式顯示。通過以簡單開放擴展的方式描述結果化的數(shù)據(jù),XML補充了HTML,被廣泛的用來描述使用者界面。HTML描述數(shù)據(jù)的外觀,而XML描述數(shù)據(jù)本身。由于數(shù)據(jù)顯示與內(nèi)容分開,XML定義的數(shù)據(jù)允許指定不同的顯示方式,使數(shù)據(jù)更合理地表現(xiàn)出來。本地的數(shù)據(jù)能夠以客戶配置、使用者選擇或其他標準決定的方式動態(tài)地表現(xiàn)出來。CSS和XSL為數(shù)據(jù)的顯示提供了公布的機制。 7.7. 粒狀的更新 通過XML,數(shù)據(jù)可以粒狀的更新。每當一部分數(shù)據(jù)變化后,不需要重發(fā)整個結構化的數(shù)據(jù)。變化的元素必須從服務器發(fā)送給客戶,變化的數(shù)據(jù)不需要刷新整個使用者的界面就能夠顯示出來。目前,只要一條數(shù)據(jù)變化了,整一頁都必須重建。這嚴重限制了服務器的升級性能。XML也允許加進其他數(shù)據(jù),比如預測的溫度。加入的信息能夠流入存在的頁面,不需要瀏覽器發(fā)一個新的頁面。 7.8. 在Web上發(fā)布數(shù)據(jù) 由于XML是一個開放的基于文本的格式,它可以和HTML一樣使用HTTP進行傳送,不需要對現(xiàn)存的網(wǎng)絡進行變化。 7.9. 升級性 由于XML徹底把標識的概念同顯示分開,處理者能夠在結構化的數(shù)據(jù)中嵌套程序化的描述以表明如何顯示數(shù)據(jù)。這是令人難以相信的強大的機制,使得客戶計算機同使用者間的交互作用盡可能的減少了,同時減少了服務器的數(shù)據(jù)交換量和瀏覽器的響應時間。另外,XML使個人的數(shù)據(jù)只能通過更新的布告發(fā)生變化,減少了服務器的工作量,大大增強了服務器的升級性能。 7.10. 壓縮性 XML壓縮性能很好,因為用于描述數(shù)據(jù)結構的標簽可以重復使用。XML數(shù)據(jù)是否要壓縮要根據(jù)應用來定,還取決于服務器與客戶間數(shù)據(jù)的傳遞量。XML能夠使用HTTP1.1中的壓縮標準。 7.11. 開放的標準 XML基于的標準是為Web進行過優(yōu)化的。微軟和其他一些公司以及W 7.12. 微軟產(chǎn)品的支持 微軟IE4.0支持通用的XML解析器、XML對象模式和XML數(shù)據(jù)源對象。IE5和Office2000支持許多添加的XML特性和技術。 8.XML的應用 正如前面所說,XML是SGML的簡化,因此它也屬于元語言.可以由使用者自行定義,進而殘生出完全符合使用者需求的應用語言.如應用于數(shù)學方面的MATHML.應用于向量圖的SVG,應用于化學方面的CML,應用于描述網(wǎng)絡資源的RDF等. 8.1. XML/EDI電子數(shù)據(jù)交換 EDI(Electronic Data Interchange)是用電子技術代替基于紙張的操作手段,用于公司之間的單據(jù)交換。XML的豐富的格式語言可用來描述不同類型的單據(jù),例如信用證、貸款申請表、保險單、索賠單以及各種發(fā)票等。結構化的XML文檔送至Web的數(shù)據(jù)可以被加密,并且很容易附加上數(shù)字簽名。XML的安全保密措施可在EDI的應用中充分顯示它的魅力,XML有希望推動EDI的大規(guī)模的應用。 8.2.化學標識語言CML和數(shù)學標識語言MATH ML CML(chamical Markup Language)和Math ML(Mathematical Markup Language)是XML應用于描述化學和數(shù)學公式的標記語言。CML可描述分子與晶體結構、化合物的光譜結構等。而Math ML則是數(shù)學家的福音,自Web問世以來,數(shù)學家們第一次可以使用Math ML將數(shù)學公式精確地顯示在瀏覽器上。 8.3.開放式軟件描述格式OSD 和EDI的命運相仿,軟件包的上網(wǎng)發(fā)行一直處于試行階段。OSD(Open Software Descriptipon)是XML的一組用來描述各種軟件產(chǎn)品的標記集,可以詳細說明軟件的規(guī)格、使用說明以及可運行平臺等。 8.4.通道定義格式CDF 通道定義格式CDF(Channel definition format)是Microsoft在IE 4.0瀏覽器中使用的XML數(shù)據(jù)格式, 用于描述活動通道的內(nèi)容和桌面部件,指明通道的信息及其更新情況。CDF 使不同平臺的互操作成為可能,使Web發(fā)布者可以控制推(push)技術。專用的推技術將不再影響不同推技術的互操作性,這樣一來,從互不兼容的平臺上可以獲得相同的Web內(nèi)容。 8.5.開放式財務交換OFX OFX(Open Financial Exchange)也是XML的一種標記集,用于描述會計事務所與客戶之間的業(yè)務往來。使用OFX,客戶與會計事務所之間可以直接交換財務數(shù)據(jù),包括電子銀行和支付協(xié)議等說明文件。 9.開發(fā)工具 開發(fā)XML有許多工具可以使用 ,以下為幾種比較常見的工具 1) Notepad 最直接,最簡單的文本編輯工具,在Windows附件中就可找到. 2) Microsoft XML Notepad 微軟專門為設計XML文檔而提供的編輯軟件,可以借助它驗證XML文檔的有效性.http://msdn.microsoft.com/xml/NOTEPAD/intro.asp 3) Visual InterDev 該軟件是用來開發(fā)Web應用程序的,不僅局限于XML,還可以開發(fā)ASP.HTML.XSL樣式單等等. 4) Micosoft XML Tree Viewer 利用這個軟件可以把XML文檔的內(nèi)容用樹的結構形式顯示出來 http://msdn.microsoft.com/xml/demos/default.asp 5) Microsoft XML Validator 該軟件可以檢查XML文檔是否是格式良好的以及其有效性,并對錯誤發(fā)出警告. http://msdn.microsoft.com/xml/demos/defaul.asp 6) Microsoft XSL Debugger 樣式單文件的復雜性使開發(fā)人員在編寫時容易出現(xiàn)錯誤,這個軟件就是幫助用戶調(diào)試樣式單文件的,把復雜枯燥的調(diào)試過程用可視化界面顯示出來. http://msdn.microsoft.com/xml/_archive/xsl-debugger/xsl-debugger.htm 7) WorkPerfect 一種對開發(fā)XML和SGML提供高級支持的文字處理器,具有所見即所得的開發(fā)環(huán)境,提供向導,自動化控件的插入和文檔的自動生成等功能,它是一款收費的商業(yè)產(chǎn)品,支持windows 95/98/2000和Linux平臺. http://www./ 8) SixPack 為XML的解析和開發(fā)提供簡潔的界面,支持 Macintosh平臺,并公開源代碼. http://www./sixpack/info.htm 9) Xray 一種具有實時錯誤檢查的XML編輯器.它根據(jù)DTD或者XML Schema,允許用戶創(chuàng)建格式良好的XML文檔或驗證文檔的有效性,并且支持多文檔編輯,是一款免費軟件 http:///xray/ |
|
|