曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
構造一個對象樹而提供文檔的一個視圖。文檔的主要組件結構是對象樹中的節點,訪問對象樹
并處理它是通過使用D O M接口瀏覽解析樹實現的第5章將介紹D O M對象模型,并講解如何使用
D O M接口進行處理X M L文檔的編碼工作。
1.6.5 XML 簡單API
在使用X M L文檔時,另一個重要的A P I是X M L簡單A P I(Simple API for XML,S A X)。與
D O M不同,S A X并非是一個標準組織的產品。它是早期X M L開發過程中,許多X M L開發者為了
尋求一種有效的A P I而創造出來的產品。S A X至今依然流行的原因是因為它通過另一種途徑來訪
問X M L文檔。S A X并不把應用程序的注意力集中在整個文檔的樹狀圖上,而是在解析時提供事
件驅動。事件的內容往往是這樣的形式,“這里是一個起始標記;這里有一些元素內容;這里是
一個結束標記”,等等。兼容S A X的解析器并不保留文檔;而是在使用它的程序處理文檔的每個
部分時發出通知。對一個事件所做出的反映取決于使用解析器的程序。一個程序對文檔狀態的
維護要承當全部責任。這樣就可以根據需要來維持適量的信息以滿足激活應用程序的需要。
我們可以想象,這樣一來,解析器會相當短小精悍,對系統資源要求甚少。對于處理大的
X M L文檔來說會非常理想。如果你面對的是一個由各部分目錄組成的1 6 M大小的X M L文檔,肯
定不希望將它們都讀入到內存中。雖然目前D O M是最常見的X M L的A P I,但找到S A X解析器也
不困難。第6章我們會了解S A X是什么,如何使用,以及何時使用。你看到的將是對如何使用兼
容S A X的解析器處理X M L文檔的精彩介紹。
1.6.6 命名空間和模式
我們真誠地希望,隨著大家越來越多地了解到X M L和它給應用程序帶來的好處之后,能夠
14使用XML 高級編程
下載
編制出更加巧妙的文檔和詞匯表。你也可能想在結構的自動檢測方面了解更多的信息。
如果你嘗試過用D T D來完成這項工作,會遇到一些障礙。解決的辦法就是X M L的模式
(S c h e m a)和命名空間(N a m e s p a c e),針對它們的開發工作早已經開始。
隨著X M L的發展,正在開發的X M L詞匯表已經越來越多。其結果之一,就是開發者開始遇
到來自別的開發者的、對于解決自身問題大有好處的詞匯表。這類詞匯表不能滿足所有需要,
但它們確實能夠極大地簡化開發新詞匯表的工作。當你正在開發一項解決常見問題的新應用時,
如果有人已經考慮過這個問題并編制了一個X M L詞匯表可是個不錯的消息。如果你不需要它所
有的部分,可以借用其中的內容重新編制一個。即使孤立無援,你也會希望分階段、有步驟地
完成;將一個大的問題分解為若干小的問題會有利于它的解決。
X M L的研究者意識到了這一問題并設計出命名空間作為解決辦法。命名空間是文檔設計者
們希望利用的名稱的資源。通過它們的屬性,你可以利用其他資源并毫不猶豫地采納其中的部
分內容。如果你應付的是一個大難題,可以編寫一系列詞匯表,其中的每一個只涉及整個問題
的一小部分,然后使用命名空間將各類X M L詞匯表混合起來。
這樣做的問題之一是D T D—XML 1.0中指定詞匯表的辦法—不允許你使用命名空間。我
們在第7章會講到, D T D還有其他問題。現有的解決方案是模式,使用X M L語法的替代品。這一
章會解釋幾種采用模式的途徑,并使用本書的目錄舉例來說明它的好處。第3章開發的D T D將被
轉化為模式的形式。你會看到一些與D T D相比,模式的過人之處。最后,當我們創建一個使用
基于瀏覽器的腳本代碼的索引程序時,你會全面了解如何編制模式的代碼。
1.6.7 鏈接和查詢
H T M L定義的特征之一就是鏈接。在這種標記語言當中,它可能是最受歡迎的一個部分。在
使用時,關系型數據庫會形成一個鏈接自身的表單,使用外鍵獲取另一個表的數據。任何技術
如果要應用到穩定的數據庫中,就必須具備某種與數據主體鏈接的能力。X M L也不例外。許多
開發者希望把一個X M L文檔與另一個鏈接起來,或者將非X M L的內容與X M L文檔鏈接起來。如
果在X M L中有鏈接的話,圖像和二進制數據就能夠和X M L文檔配合起來使用。所以,鏈接是
X M L研究者們投入極大精力的一個重要領域。W 3 C正在制定相關的幾項計劃,其中比較吸引人
的是X L i n k和X P o i n t。第8章將向你介紹這些計劃。你會學習如何在自己的應用程序中使用X M L
鏈接。由于對X M L解析器中的鏈接來說沒有標準支持,所以你看到的是可能實現的鏈接的常見
形式。
X M L研究者們感興趣的另一個領域是查詢。我們必須由某種途徑能夠把一些規則傳遞給
X M L解析器,然后得到符合這些規則的文檔片斷集合。有了這種能力,大的X M L文檔就成為了
某種類型的數據庫。除了有類似于數據庫查詢的特征以外, X M L的查詢也是轉換操作的中心,
操作和改變X M L的關鍵模式。第8章將從為X M L提出的主要計劃中提煉出X M L查詢的語法知識。
1.6.8 轉換XML
轉換( t r a n s f o r m a t i o n)是一項非常強大的X M L技術。通過轉換,編程者可以根據應用在第
一個文檔中的一套規則將這個文檔轉換成另一種形式的文檔。X M L轉換用于在類似的X M L詞匯
第1章XML 簡介使用15 下載
表之間進行轉換,以及把X M L文檔轉換為其他基于文本的文件格式,比如以逗號分隔值的文本
文件。對于We b開發者來說,這是一個非常重要的工具。如果要合并現有的資源,你需要執行一
些有效的轉換以得到統一的格式。如果你在同若干伙伴進行合作,比如B 2 B運作,就肯定需要將
文檔從一種格式轉換到另一種格式。第9章將告訴你如何做到這一點。轉換的有趣在于映射規則
是在一個獨立的文檔而不是代碼中指定。如果你需要動態地在一系列相關格式之間進行轉化,
可以開發一系列的規則文檔。在運行的時候,你在決定使用哪一個轉換,然后將正確的規則應
用到手頭的文檔上。對于B 2 B模式和供應鏈應用來說,這項功能特別有用。
一種被稱作可擴展樣式語言( Extensible Style Language,X S L)的用于X M L的樣式語言中
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(7)