曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
美元的定單,最大值為1 0 0 0美元,你可以強加這些限制到用XML Data寫成的定單模式里。換
一種想法,如果他們的帳戶沒有錢,你能夠使用約束去防止人們消費,或防止他們輸入無效的
數值。
(4) 類型繼承
一個有趣的重用機制是XML Data支持類型繼承。這些使我們在試著用X M L解決的問題里描
述實體時發展和擴展了元素。我們能夠寫一些具有普遍意義的超類型聲明。實體可能按照這種
方式用于D T D,但是類型繼承標準化了這個過程。沒有一個正式的語義集合,實體可能被誤用
到不是使用戶清晰,而是使他們迷惑的地方。一個正式的繼承機制給了我們一個工具,在解決
一些控件如何使用時去提高重用。
(5) 開放和關閉的內容模型
XML Data另一個強大的特性是開放和關閉的內容模型的概念。經典的D T D是一個關閉的模
型。文檔轉換成它一定堅持這個原則,并且可能不包含任何不遵循這個規則的內容,因為詞匯
表里的所有規則一定存在于D T D。
如果一個模式是開放的,文檔轉換成它可能包含沒有在D T D里聲明的其他信息。與模式一
致的部分必須服從存在于模式里的規則,但我們能夠插入其他條目而不受當前模式的限制。這
些條目可能在另一個模式里定義過,或者可能完全沒有限制。我們可能插入一些特殊的值。更
為重要的是,從我們當前討論的立場出發,開放模型文檔是我們混合命名空間的方式。我們能
夠將大量完全遵照一個模式的信息嵌入文檔中去以與另外一個模式保持一致。更為正式地,各
個元素可能明確地被聲明為含有開放或關閉的內容模型。這些通過c o n t e n t屬性來實現。這個屬
第7章命名空間和模式使用207 下載
性缺省的值是o p e n。這里有個例子:
程序清單7 - 1 0
若是上面例子中的c o n t e n t屬性被賦成o p e n,這個片段就是有效的。
(6) 擴展的I D和I D R E F結構
XML Data通過關系擴展I D和I D R E F結構。在關系里,一個元素擔當著對另一個元素內容的
關鍵字或索引。這可直接應用于關系型數據庫的主鍵和外鍵。它對于有兩種語言的文檔也特別
有用。別名和關聯非常有用。
別名用于定義一個同等意義的元素,于是在我們的例子里,可以在英文文檔里有< B o o k >,
并且想要用相應的法語元素將這個標記翻譯成< L i v r e >。
其他時候,我們想要假設兩種標記說明特定的事物,這需通過關聯來實現。
換一個角度來考慮,我們可能有一個購物文檔,其中有一個< P u r c h a s e r >元素,它引用其他
地方的< C u s t o m e r >元素。< P u r c h a s e r >的關聯是< C u s t o m e r >是指< P u r c h a s e r >是< C u s t o m e r >的別名。
這些對于從事實體關系圖表工作的數據庫設計者非常熟悉。
正如你看到的, XML Data直接回答了我們對于D T D提出的問題。我們將不會在XML Data
的實用信息上走得太遠,這是因為Microsoft IE 5.0帶來的X M L解析器里的模式支持已經出現了
簡化形式的提議。我們將要在本章后面深入研究這些支持。
更多的關于XML Data信息可能在http://www.w3.org/TR/1998/NOTE-XML-data/找到。
3. 文檔內容描述
文檔內容描述( D C D)提議是與XML Data提議密切相關的。它已被I B M、M i c r o s o f t和
Te x t u a l i t y公司提交。一個R D F詞匯表很明確地是為聲明X M L詞匯表而設計的。它的支持者利用
富有表現力的元數據標準—R D F—去創建被提議的更多適合領域的標準。這個地方X M L的
創建與簡化的S G M L子集有相同的特性。
盡管XML Data一些更為先進的特性已經不見了, D C D在語法上近似于XML Data。D C D沒
有提及關系和關聯。它主要集中在定義X M L詞匯表。然而像元素繼承一樣,它保留了強大的對
XML Data數據類型的支持。像XML Data一樣, D C D允許詞匯表設計者去聲明一個模式模型,
或者開放的、或者關閉的。不像XML Data,在用來定義元素時, D C D使用相同的機制聲明開放
或關閉的模式。像XML Data一樣, D C D允許對元素內容值上的約束說明。例如,一個名為
< S m a l l I n v e s t m e n t >的元素可能利用對它允許數值的約束來聲明一個固定數量的類型,比如說比
208使用XML 高級編程
下載
零大并且小于等于一萬。
D C D在吸收R D F的主體同時,是一個對D T D問題的直接攻擊。它將強大的功能轉向簡單化。
由于它與XML Data和I E上的支持的模式如此相同,我們就不會在D C D上研究得很深。但是為了
理解W3C 模式的功能,應記住D C D是元數據的簡單結束。D T D將重點放在精度上,并且為了給
XML 模式提供簡單可使用的標準而放棄了深度。
W3C聲明中有關文檔內容的說明可在站點http://www.w3c.org/TR/NOTE-dcd/。
4. 尋找正確的平衡點
這些提議只代表了一系列元數據能力的精華部分。它們決不只是影響在XML 模式上。參考
這本書的上下文考慮它們。問問你自己“什么是便于X M L在網絡應用中真正需要的?”問答前
面提出的問題只是一個必備條件的子集。事實上,對于企業網應用,我們可能甚至沒有能力去
用X M L解析器讀模式。我將要討論另一個問題:簡單化。應用集成,特別是覆蓋公眾I n t e r n e t,
更需要簡單、可靠的方案。復雜性只能招致失敗,延誤傳輸。就像簡單的X M L在知名度和接納
程度上快速地超過復雜的S G M L,我相信一個簡單但有效的元數據提議將會才是真正能滿足需要
的。
R D F在自己的領域非常完美。它強大的表現能力可被用于特殊的舞臺。然而期望一個復雜、
標準的R D F任何時候很快變成網絡應用開發工具包的整體部分是不合乎道理的。XML Data和
D C D與這個標志比較緊密;它們去掉了復雜性以有利于它們的促進者想要作為本質的東西。這
是一條要被畫的復雜的線。XML Data關系重要嗎?更多地依賴于基于今后幾年內X M L應用的本
質。
一個致力于XML 模式的工作組正努力工作并希望在2 0 0 0年內達到推薦標準的要求。X M L
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(76)