曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
w i h i t e p a p e r s / o s d w p . h t m l)。
現代數據庫設計使用基于數據建模的嚴格設計流程,它們通常使用統一建模語言( U n i f i e d
Modeling Language,U M L)——雖然它也是以“ M L”結尾,但它并不是基于X M L的標記語言。
元對象工具(Meta Object Facility,M O F)是一種用于發布數據知識庫和元數據管理的對象管理
組(Object Management Group,O M G)標準。O M G是大型系統公司(如I B M和U n i s y s)和數據
庫軟件公司(如O r a c l e、R a t i o n a l和S y b a s e)以X M L元數據交換( XML Metadata Interchange,
X M I)規范的形式將X M L、U M L和M O F合并而成。同時,它也不是嚴格意義上的X M L詞匯表
第1章XML 簡介使用11 下載
(因為它是X M L的超集),但X M I是X M L強大功能的一個很好的例證(參見h t t p : / / w w w 4 . i b m . c o m /
s o f t w a r e / a d / f e a t u r e s / x m i . h t m l)。
公共電話交換網絡應該是最保守的技術領域之一。多年來,這個網絡使用的是非常復雜的
協議,信令系統7(Signaling System 7,S S 7)。最近,出現了幾種基于X M L的替代產物,其中
包括呼叫策略標記語言( Call Policy Markup Language , C P M L— 參見
h t t p : / / w w w. d t i c o r p . c o m / E S P % 2 0 w h i t e % 2 0 p a p e r. h t m)。這是傳統專用電信行業向開放標準發展時
的一個副產品。I P語音(Vo i c e - o v e r- I P)則是語音與包交換網絡結合的另一種趨勢,它得到了朗
訊科技(以前的貝爾實驗室)、北方電訊和思科公司的全力支持。
前面你可能已經注意到,許多這類詞匯表都是由一組公司協作制定的,其目的就在于能夠
簡化數據交換。下面我們將詳細了解它們的意義所在。
1.6 XML技術的主要特性
現在,我們已經了解了X M L的起源,它們為什么和在哪些方面適合于We b的分布式應用體
系結構,以及一些已經使用X M L開發出的特定詞匯表,下面,讓我們按照本書章節的順序來看
一看與X M L核心功能有關的特性和規范。
1.6.1 格式正規的XML
X M L的語法規則是我們利用它進行任何工作的基礎。下一章,我們將幫助你理解“格式正
規的” X M L的特性。你會了解元素是什么,如何使用它們,以及如何使用屬性修改它們。我們
將再次提出X M L詞匯表的概念,因為我們要開始討論X M L的使用。我們還要開始涉及在應用程
序中操作X M L文檔的標準解析器。最基本的,格式正規的X M L會遵守W 3 C的XML 1.0推薦標準
的語法要求。解析器就是檢驗一個文檔是否符合X M L語法規則的處理工具(稍候我們會詳細討
論)。下面是一個簡單的格式正規的文檔(先不用考慮語法的精確細節):
程序清單1 - 6
通過下一章的實踐舉例,我們將開始了解將內容與顯示相分開的好處。與X M L相關的
H T M L確實有某些限制。這也是普通的We b瀏覽器就是普通的H T M L應用程序的原因。對于所有
12使用XML 高級編程
下載
的用途, H T M L面臨著許多天生的問題,而X M L在保持了強大的功能( H T M L正是依靠它們改
變了計算技術的面貌)和簡單性的同時提供了相應的解決方案。X M L的基礎就是你向下一代
We b體系結構邁進的出發點。
1.6.2 文檔類型定義
一旦你坐下來書寫X M L詞匯表,馬上會產生一種迫切的需要:如何指定書寫X M L文檔的規
則?如果任何人都能夠使用可擴展標記語言創建自己的標記詞匯表,那么我們如何確信能夠在
應用程序中使用X M L文檔呢?答案在于一套被稱作文檔類型定義( Document Type Definition,
D T D)的信息集合。這些定義保存了由設計者添加的、用于擴展X M L核心規則的部分,并創建
用來描述某些問題或狀態的詞匯表。這是你在了解X M L詞匯表的結構的過程中遇到的第一個機
制。我們所強調的未來We b應用程序體系結構的諸多好處都有賴于此機制。通過學習D T D,你
將會充分掌握如何驗證應用程序之間交換的文檔,并開始有機會及時發現新的詞匯表。稍后,
我們將看一看其他用來表述X M L文檔結構的機制,但D T D目前仍是唯一得到官方認可的途徑。
接下來是前面提及的寵物商店的例子的繼續,不過這次有了一個D T D(再次提醒不必太在
意語法細節):
程序清單1 - 7
正如大家能夠看到的, D T D有自己的語法規則,但它們使你能夠非常清楚地指出對于特定
類別X M L文檔,哪些是允許的,哪些是不允許的。這直接導致了驗證和非驗證的解析器的區別。
非驗證的解析器僅僅根據X M L語法的核心規則判斷文檔是否是格式正規。驗證的解析器則還要
第1章XML 簡介使用13 下載
根據D T D進行檢驗,以根據D T D規則決定文檔是否合法。但是,為什么我們還需要非驗證的解
析器呢?你如何將驗證的解析器與D T D結合起來呢?你如何根據D T D來描述問題或應用呢?這
些問題都將在第3章進行討論。
1.6.3 數據建模
X M L應用程序成功的關鍵因素之一就是X M L詞匯表的高效性。詞匯表是元素及其屬性、以
及你所指定的文檔結構的規范。雖然只要有一個不怎么樣的數據庫模式就能夠編制數據庫應用
程序,但沒有一個有效的詞匯表,你就不再能夠創建一套好的支持X M L的應用程序。
1.6.4 文檔對象模型
一旦擁有了為需求而設計的詞匯表,就可以考慮應用程序的其他方面了。在一些新的We b應
用程序的結構中,應用程序必須處理X M L文檔,及文檔的各個部分。客戶端創建請求,而服務
器解析這些請求,構造新的請求,并進行響應。D O M是完成這項任務的一個A P I,其中指定用
于處理H T M L和X M L文檔的一系列對象和接口。W 3 C維護D O M推薦標準,它是兩個用于X M L文
檔且受到廣泛支持的A P I中的一個(另一個是針對X M L的簡單A P I,下一節將進行介紹)。
D O M提供了文檔的三個結構化視圖。與D O M兼容的解析器讀取整個文檔,并通過在內存中
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(6)