xml 架構(gòu)快速指南

xml 架構(gòu)快速指南

ID:1123849

大?。?28.00 KB

頁數(shù):16頁

時(shí)間:2017-11-07

xml 架構(gòu)快速指南_第1頁
xml 架構(gòu)快速指南_第2頁
xml 架構(gòu)快速指南_第3頁
xml 架構(gòu)快速指南_第4頁
xml 架構(gòu)快速指南_第5頁
資源描述:

《xml 架構(gòu)快速指南》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、XML架構(gòu)快速指南發(fā)布日期:4/1/2004

2、更新日期:4/1/2004AaronSkonnardXML文件存檔下載本文的代碼:XML0204.exe(35KB)在所有的XML技術(shù)中,XML架構(gòu)對(duì)軟件開發(fā)人員最具價(jià)值,因?yàn)槭撬罱K使在XML文檔中加入類型信息成為可能。本專欄是介紹XML架構(gòu)基礎(chǔ)知識(shí)的兩部分系列文章中的第一部分。首先,我們來回顧一下XML架構(gòu)之前的知識(shí)。XML1.0規(guī)范附帶了一個(gè)描述XML詞匯的內(nèi)置語法,稱為文檔類型定義(DTD)。DTD實(shí)際顧及到XML1.0是從前任語言—標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)那里繼承語法的已經(jīng)有一段時(shí)間了。DTD使您能夠描述XML文檔的

3、結(jié)構(gòu)。例如,假定要使用以下XML詞匯描述員工信息:Monica1997-12-0242000.00以下DTD描述了本文檔的結(jié)構(gòu):

4、TA)>然后,該DTD能夠通過一個(gè)DOCTYPE聲明和原始文檔相關(guān)聯(lián),如下所示:Monica1997-12-0242000.00驗(yàn)證是使用DTD的主要優(yōu)勢(shì)。當(dāng)XML1.0驗(yàn)證分析器讀取該XML1.0文件時(shí),它也能夠讀取相關(guān)聯(lián)的DTD并驗(yàn)證是否符合該定義。使用DTD進(jìn)行驗(yàn)證能夠減少

5、您必須置入應(yīng)用程序的錯(cuò)誤處理量。盡管DTD非常適合很多基于SGML的電子出版應(yīng)用程序,但當(dāng)應(yīng)用到諸如那些圍繞當(dāng)今Web應(yīng)用的現(xiàn)代軟件開發(fā)領(lǐng)域時(shí),其局限性很快就顯現(xiàn)出來了。DTD的主要限制是DTD語法和XML不兼容,而且DTD不支持命名空間、典型編程語言數(shù)據(jù)類型或定義自定義類型。由于DTD語法本身不是XML,所以不能使用標(biāo)準(zhǔn)的XML工具來程序化地處理這些定義。大多數(shù)XML1.0處理器雖然支持DTD驗(yàn)證,但由于語法的復(fù)雜性,它不支持對(duì)DTD中找到的信息進(jìn)行程序化訪問。因?yàn)镈TD甚至在命名空間存在以前就產(chǎn)生了,所以它們不能很好地協(xié)同工作就不奇怪了。事實(shí)上,使用DTD描述可識(shí)別命名空

6、間的文檔就像將一個(gè)方形木栓敲進(jìn)一個(gè)圓孔一樣。有關(guān)如何才能艱難地實(shí)現(xiàn)上述功能的詳細(xì)信息,請(qǐng)查看2001年5月期的XML文件專欄。在該專欄中,我提供了一個(gè)可識(shí)別命名空間的示例DTD。因此,大多數(shù)開發(fā)人員要么選用DTD,要么選用命名空間,但沒有兩個(gè)同時(shí)選用的。DTD也是專門為以文擋為中心的系統(tǒng)而設(shè)計(jì)的,在這種系統(tǒng)中通常不存在程序化數(shù)據(jù)類型。因此,只存在少數(shù)類型標(biāo)識(shí)符用于描述屬性(參見圖1)。這些類型標(biāo)識(shí)符和您過去在編程語言里慣于使用的大不相同。它們實(shí)際上僅僅是文本的特例(CDATA)。而且,這些類型不能應(yīng)用于純文本元素,只能應(yīng)用于屬性。最后,DTD類型系統(tǒng)是不可擴(kuò)展的。這意味著您不

7、得不使用圖1中描述的類型。創(chuàng)建在您的問題領(lǐng)域中有意義的自定義類型不屬于DTD問題的范疇。在面對(duì)XML架構(gòu)展現(xiàn)的全新而又令人振奮的未來時(shí),這些局限足以讓任何XML開發(fā)人員回避使用DTD。XML架構(gòu)基礎(chǔ)知識(shí)XML架構(gòu)本身是一個(gè)用于描述XML實(shí)例文檔的XML詞匯。我之所以使用“實(shí)例”一詞,是因?yàn)橐粋€(gè)架構(gòu)會(huì)描述一類文檔,這類文檔會(huì)有許多不同的實(shí)例(參見圖2)。這類似于現(xiàn)在面向?qū)ο笙到y(tǒng)中類和對(duì)象之間的關(guān)系。類相對(duì)于架構(gòu),對(duì)象相對(duì)于XML文檔。因此,在使用XML架構(gòu)時(shí),您通常要使用不止一個(gè)文檔,還有架構(gòu)以及一個(gè)或多個(gè)XML實(shí)例文檔。圖2命名空間標(biāo)識(shí)符鏈接架構(gòu)定義中使用的元素來自http:

8、//www.w3.org/2001/XMLSchema命名空間,在本專欄的以下部分,我會(huì)將其綁定到xsd。以下為基本的架構(gòu)模板:架構(gòu)定義必須具有一個(gè)根xsd:schema元素。各種元素都可能嵌套在xsd:schema中,包括但不限

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。