曝光臺 注意防騙
網(wǎng)曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
夠讓解析器來規(guī)格化空白,這也是一項非常便利的特征,特別是對于用X S LT編寫的應(yīng)用程
序。
108使用XML 高級編程
下載
就元素結(jié)構(gòu)而言, D T D中的參數(shù)實體是一種表述許多不同元素的屬性或?qū)傩约瞎残缘挠?br />
效工具。
4.3.3 XML模式建議
前一段時間, W 3 C已經(jīng)意識到D T D的局限性,為了尋求解決方案,它花費了大量時間,部
分原因在于已經(jīng)形成的幾個重要建議似乎都不能完全解決這個問題。其中頗具影響的一個建議
是M i c r o s o f t專有的X M L數(shù)據(jù)規(guī)范,We b站點h t t p : / / b i z t a l k . o rg / R e s o u r c e s / s c h e m a s g u i d e . a s p介紹了
這個規(guī)范。
X M L模式工作組在1 9 9 9年11月5日同時提出了兩個草案:
• 第一部分,結(jié)構(gòu)(h t t p : / / w w w. w 3 . o rg / T R / x m l s c h e m a - 1)說明了如何控制和描述文檔的結(jié)構(gòu)
化規(guī)則。
• 第二部分,數(shù)據(jù)類型( h t t p : / / w w w. w 3 . o rg / T R / x m l s c h e m a - 2)描述了內(nèi)容項的數(shù)據(jù)類型的定
義。
這些建議尚未完成,許多部分都處在制定過程中,我們強烈建議你不要使用當前形式的規(guī)
范。然而,這些建議的確提出了一些將在最終規(guī)范中出現(xiàn)的概念,這些概念非常值得研究,即
使沒有X M L模式軟件,對于你這個文檔設(shè)計者來說,這些概念也是非常有價值的。
X M L模式中最基礎(chǔ)的概念是:模式是一個描述(和約束)一組X M L文檔實例的文檔。X M L
模式本身就是一個X M L文檔:這一點非常重要,因為這意味著X M L應(yīng)用程序(例如: X S LT樣
式表)很容易查詢模式。S Q L程序員對這個概念并不陌生:它類似于在系統(tǒng)表中放置可以通過
S Q L訪問的S Q L模式。它還允許你利用僅供應(yīng)用程序使用的信息修飾模式—例如,你可以給每
個元素類型添加相關(guān)的機密等級,并在應(yīng)用程序中利用該信息決定應(yīng)該向特定的用戶顯示哪些
信息。
目前處于草案狀態(tài)的X M L模式分為兩個規(guī)范。第一部分結(jié)構(gòu),側(cè)重于對元素結(jié)構(gòu)的約束。
它介紹了原型( A r c h e t y p e)的概念,從本質(zhì)上講,原型是個復(fù)合數(shù)據(jù)類型。元素類型可以聲明
為符合特定的原型,其中原型定義了所有的約束,例如:它能夠包含哪些子元素和屬性。將原
型定義與元素定義相分離的優(yōu)勢在于幾個元素類型能夠使用相同的原型( B i l l i n g . A d d r e s s和
S e r v i c e . A d d r e s s可以都符合原型A d d r e s s)。它對應(yīng)于D T D中參數(shù)實體的主要用法之一。
X M L模式工作組還打算提供一種機制,使得一個原型能夠精煉另一個原型,這是實現(xiàn)類型
層次所必需的。然而,在當前的草案中,滿足這種需求的語法尚未定義。
規(guī)范的第二部分討論了數(shù)據(jù)類型,它包含的基本數(shù)據(jù)類型有:字符串、數(shù)字、布爾值和日
期,除此之外,它還規(guī)定了如何通過組合或限制現(xiàn)有的數(shù)據(jù)類型或者通過枚舉值的方式定義新
的數(shù)據(jù)類型。這些數(shù)據(jù)類型可以用于約束屬性的值或元素的文本內(nèi)容。內(nèi)置的數(shù)據(jù)類型包括了
現(xiàn)代編程語言或S Q L中常見的類型,另外,它提供的用于定義最小值和最大值等約束的機制比
其他大多數(shù)語言更加強大。規(guī)范還保留了“遺留的” X M L數(shù)據(jù)類型,例如:N M TO K E N S。它將
數(shù)據(jù)類型的值的定義與X M L文檔中詞法的表示嚴格區(qū)分開,因此相同的值可能有多種不同的詞
法表示(例如:3,3 . 0和0 3 . 0 0)。與第一部分類似,數(shù)據(jù)類型的定義與使用該類型的元素和屬性
的定義是分離的,因此許多不同的元素和屬性可以共享相同的數(shù)據(jù)類型。
第4章數(shù)據(jù)建模與XML使用109 下載
就X M L模式目前的狀態(tài)而言,仍然有許多完整性約束是無法用模式表達的,必須由應(yīng)用程
序來限制。例如,目前無法定義屬性之間的約束(逝世日期必須在出生日期之后),它只能定義
對直接子元素的約束(例如:“在字典條目中,詞目或詞目的至少一個變種必須有詞源”)。實際
上,有些有效性約束只能在應(yīng)用程序級完成,正如關(guān)系數(shù)據(jù)庫中更加成熟的約束定義。
我們將在第7章詳細介紹X M L模式。
4.4 小結(jié)
在本章中,我們首先討論了一些基本的信息建模原則,它們是在X M L項目中經(jīng)常用到的,
我們特別區(qū)分了靜態(tài)信息模型(理解現(xiàn)實世界中的事物和關(guān)系)和動態(tài)信息建模(理解在業(yè)務(wù)
過程中從A到B需要獲取哪些信息)的作用。這兩種模型都與X M L相關(guān),將X M L文檔分為保存
靜態(tài)永久性數(shù)據(jù)和保存暫時性消息這兩種類型是非常意義的。
隨后,我們介紹了如何將概念化信息模型轉(zhuǎn)換為X M L文檔的設(shè)計。我們分析了一些必要的
設(shè)計決策:如何表示類型層次,使用元素或?qū)傩裕约叭绾螌⒍M制屬性編碼。
最后,我們討論了如何在XML DTD或模式中表達設(shè)計,這兩者都規(guī)定了正式的約束,以便
對文檔實例進行自動檢測,并將文檔的含義傳達給要創(chuàng)建文檔和處理信息內(nèi)容的人。
110使用XML 高級編程
下載
下載
第5章文檔對象模型
現(xiàn)在,應(yīng)該開始研究X M L文檔的結(jié)構(gòu),以及如何利用它描述層次化信息。下面,我們將說
明如何通過程序訪問X M L文檔。其中一種方法是通過文檔對象模型( Document Object Model,
D O M)。在本章中,我們將介紹文檔對象模型,并借助幾個程序?qū)嵗忉屗墓δ堋?br />
5.1 什么是文檔對象模型
文檔對象模型一詞在We b瀏覽器領(lǐng)域并不陌生。窗口、文檔和歷史等對象都被認為是瀏覽器
對象模型的一部分。然而,任何做過We b開發(fā)的人都知道各種瀏覽器實現(xiàn)這些對象的方式不盡相
同。對于如何通過We b訪問和操作文檔結(jié)構(gòu)這個問題,為了創(chuàng)建更加標準化的方法, W 3 C提出
了目前的W3C DOM規(guī)范。
W3C DOM是一種獨立于語言和平臺的定義,即:它定義了構(gòu)成D O M的不同對象的定義,
卻沒有提供特定的實現(xiàn),實際上,它能夠用任何編程語言實現(xiàn)。例如,為了通過D O M訪問傳統(tǒng)
的數(shù)據(jù)存儲,可以將D O M實現(xiàn)為傳統(tǒng)數(shù)據(jù)訪問功能之外的一層包裝。利用D O M中的對象,開發(fā)
人員可以對文檔進行讀取、搜索、修改、添加和刪除等操作。D O M為文檔導航以及操作H T M L
中國航空網(wǎng) www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(47)