《XML案例教程》課件第1章_第1頁
《XML案例教程》課件第1章_第2頁
《XML案例教程》課件第1章_第3頁
《XML案例教程》課件第1章_第4頁
《XML案例教程》課件第1章_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章XML語言簡介1.1置標(biāo)語言概述1.2XML語言及其應(yīng)用1.3XML文檔的編輯工具1.4一個簡單的XML文檔實例1.5本章小結(jié)習(xí)題1

1.1置標(biāo)語言概述

傳統(tǒng)意義上的標(biāo)記(markup)我們經(jīng)常會遇到。例如,老師批改過的試卷,經(jīng)常是滿篇紅色醒目的對號、錯號、問號、波浪線或者意味深長的評語,這些都是標(biāo)記;我們在看書的時候,也喜歡用熒光筆將重要的內(nèi)容加亮,以幫助我們在日后重讀文章時,能夠提綱挈領(lǐng)、迅速抓住要害,這也是標(biāo)記。從廣義上來說,一篇文章中的標(biāo)點符號、空格等都可以稱做標(biāo)記。這些標(biāo)記使我們接觸的文檔具備了不同的意義,并協(xié)助我們完成不同的目標(biāo)。所謂置標(biāo)語言(markuplanguage),則特指用一系列約定好的標(biāo)記來對電子文檔進行標(biāo)記,來實現(xiàn)對電子文檔的語義、結(jié)構(gòu)、格式的定義。這些標(biāo)記應(yīng)該與文檔內(nèi)容相區(qū)分且易于識別。標(biāo)記語言必須定義什么樣的標(biāo)記是被允許的,什么樣的標(biāo)記是必需的,標(biāo)記是如何與文檔的內(nèi)容相區(qū)分的,以及標(biāo)記的含義是什么。1.1.1SGML語言起源

為了促進數(shù)據(jù)的交換和操作,人們很早就產(chǎn)生了將文件結(jié)構(gòu)化為標(biāo)準(zhǔn)格式的動機。20世紀(jì)60年代,IBM公司創(chuàng)建了GML(GeneralizedMarkupLanguage,通用置標(biāo)語言),以在其出版系統(tǒng)內(nèi)部實現(xiàn)這一需求。

SGML(StandardGeneralizedMarkupLanguage,標(biāo)準(zhǔn)通用置標(biāo)語言)從IBM的GML演化而來,是第一個標(biāo)準(zhǔn)化的信息結(jié)構(gòu)化技術(shù)。SGML成為了IBM內(nèi)部格式化和維護合法文件的手段。

SGML后來被擴展和修改,作為一種全面的信息標(biāo)準(zhǔn)以適應(yīng)工業(yè)范圍的廣泛應(yīng)用。但直到1986年,SGML才成為了ISO標(biāo)準(zhǔn)。盡管SGML的功能非常強大,但是由于它非常復(fù)雜,需要許多昂貴的軟件配合運行,因而在很長一段時間都沒有被推廣。1.1.2HTML語言及其局限性

1989年,歐洲粒子物理實驗室(CERT)的研究員TimBerners-Lee和AndersBerglund創(chuàng)建了一種基于標(biāo)記的語言,為在Internet上共享的文章做標(biāo)記,這就是HTML。HTML可以看做是SGML的簡化應(yīng)用,它的誕生,推動了信息產(chǎn)業(yè)的大發(fā)展。

HTML(HyperTextMarkupLanguage,超文本標(biāo)記語言)是一種用來制作超文本文檔的簡單標(biāo)記語言。用HTML編寫的超文本文檔稱為HTML文檔,它能獨立于各作操作系統(tǒng)平臺(如UNIX、Windows等)。自1990年以來,HTML就一直被用作WorldWideWeb(WWW)上的信息表示語言,用于描述Homepage的格式設(shè)計和它與WWW上其他Homepage(Hyperlink)的鏈接信息。HTML語言是通過利用各種標(biāo)記(tags)來標(biāo)識文檔的結(jié)構(gòu)及超鏈接信息的。

HTML之所以能夠流行,是因為它有簡潔的語法。但也正是由于它過于簡潔,也產(chǎn)生了以下幾個主要問題:

(1)標(biāo)記擴展復(fù)雜。

HTML當(dāng)初僅僅提供了一種對靜態(tài)文本信息表現(xiàn)的方法,但顯然并不能適應(yīng)越來越多的需要。隨后越來越多的標(biāo)簽產(chǎn)生了,例如<img>用于描述圖片,<script>通過為網(wǎng)頁加入腳本支持來提供動態(tài)網(wǎng)頁內(nèi)容。日益增多的標(biāo)記不但使HTML越來越龐大,瀏覽器的開發(fā)越來越復(fù)雜,還降低了不同瀏覽器之間的兼容性。

(2)缺乏嚴(yán)格的語法定義。

HTML文檔的正確性很難得到確認。為了使文檔的顯示過程更加強健,瀏覽器通常忽略語法分析,不檢查語法的正確性。

(3)結(jié)構(gòu)化支持差。

HTML缺乏對復(fù)雜結(jié)構(gòu)的支持,例如HTML不能支持分層嵌套信息結(jié)構(gòu)。HTML文檔間的聯(lián)系完全是平面的,這限制了全文檢索技術(shù)的應(yīng)用,也使得瀏覽的過程顯得笨拙而繁瑣。

(4)數(shù)據(jù)、格式、超文本及圖形用戶界面語義混合。

①內(nèi)容提取困難。搜索引擎機械地逐一檢索每個頁面中所有可以匹配的內(nèi)容,所以我們往往會得到太多的、難以判斷的數(shù)據(jù)采樣。這是由于HTML混淆了數(shù)據(jù)內(nèi)容和數(shù)據(jù)表達,數(shù)據(jù)內(nèi)容和數(shù)據(jù)表達信息都被顯式地寫在同一文檔中的緣故。當(dāng)我們希望看到用不同表現(xiàn)形式表達的同一內(nèi)容時(比如需要一個用大號字體排印的版本),就不得不從服務(wù)器直接產(chǎn)生。同樣,在網(wǎng)頁顯示上的任何其他變化也都必須由開發(fā)者親自實現(xiàn)。②難以實現(xiàn)數(shù)據(jù)交換。HTML難以實現(xiàn)自動的數(shù)據(jù)交換,它的標(biāo)簽只用來控制文檔的顯示,卻不能標(biāo)示出數(shù)據(jù)域。

③信息重用性差。HTML不易重復(fù)使用已有的信息。如果要重新在網(wǎng)上發(fā)布同樣的信息,或者希望為已有的信息編輯可打印的目錄,或需要把網(wǎng)上的數(shù)據(jù)存入數(shù)據(jù)庫,往往不得不用手工進行處理,更糟糕的是,當(dāng)網(wǎng)上的數(shù)據(jù)發(fā)生變化時,這些過程都必須重做。

HTML存在的這些問題隨著互聯(lián)網(wǎng)的蓬勃發(fā)展不但沒有得到解決,反而越來越突出,成為HTML繼續(xù)發(fā)展應(yīng)用的障礙。1.1.3XML語言的誕生及其優(yōu)點

1996年,W3C(萬維網(wǎng)聯(lián)盟)尋找一種在Web中應(yīng)用SGML的靈活性和強大功能的方法,這導(dǎo)致了1998年2月XML1.0規(guī)范的發(fā)布。XML(eXtensibleMarkupLanguage,可擴展置標(biāo)語言)不但具備了SGML的核心特性,而且非常簡潔,XML規(guī)范的內(nèi)容甚至不到SGML的1/10。XML作為SGML的子集,同樣繼承了SGML的優(yōu)點——擴展性、結(jié)構(gòu)化和有效性。與HTML相比,XML具有以下幾個優(yōu)點:

(1)可擴展性強。

定義一個標(biāo)記語言并進行推廣和應(yīng)用,這在XML語言出現(xiàn)之前是非常困難的。一方面,新的標(biāo)記語言標(biāo)準(zhǔn)化時間很長,從標(biāo)準(zhǔn)提交到相關(guān)標(biāo)準(zhǔn)化的建立,要經(jīng)過幾輪的評定和修改,等到正式發(fā)布標(biāo)準(zhǔn)時,可能已經(jīng)過了幾年的時間。另一方面,為了推廣標(biāo)準(zhǔn)的廣泛應(yīng)用,制定者必須開發(fā)相應(yīng)的標(biāo)記解釋和瀏覽工具,新的標(biāo)記語言需要各個廠商進行支持和開發(fā),同樣要耗費大量的時間和精力。各個行業(yè)對標(biāo)記語言的不同需求,決定了定義一套各行業(yè)都能夠普遍應(yīng)用的標(biāo)記是不可能也沒有必要的。例如,數(shù)學(xué)需要大量的函數(shù)標(biāo)記,化學(xué)需要大量的化學(xué)公式標(biāo)記,建筑學(xué)則需要大量的設(shè)計圖紙標(biāo)記。XML語言允許各個不同的行業(yè)根據(jù)自己的需要制定適合自己行業(yè)的標(biāo)記,同時,XML不要求所有的瀏覽器都能處理這成千上萬個標(biāo)記,也不會要求標(biāo)記語言的設(shè)計者制定出一個非常詳盡、全面的語言。這種思想大大加強了XML語言的可擴展性和靈活性。

(2)遵循嚴(yán)格的語法要求。

HTML語法要求并不嚴(yán)格,瀏覽器可以顯示有語法錯誤的HTML文件。例如,“<b>加粗顯示”和“<b>加粗顯示</b>”這兩條語句在瀏覽器中的顯示效果是一樣的,但前者明顯沒有進行標(biāo)記的配對。

XML非常注重準(zhǔn)確性,在語法結(jié)構(gòu)上只要有絲毫錯誤,分析器都會停止對XML進行進一步的處理。XML不但要求標(biāo)記配對、嵌套,而且還要求嚴(yán)格遵守DTD(文檔類型定義)的約定。

XML分析器處理XML文檔的過程中不會進行任何猜測和修改,要么文檔被判定為正確而執(zhí)行或顯示,要么文檔被判定為錯誤而停止處理。而HTML的標(biāo)記已成為標(biāo)準(zhǔn),HTML分析器可以判斷出HTML中到底有什么,又缺什么。

XML分析器的這種嚴(yán)格性大大減輕了瀏覽器開發(fā)人員的負擔(dān),也提高了瀏覽器的效率;同時,嚴(yán)格的語法要求又為XML文檔提供了較好的可讀性和可維護性。

(3)數(shù)據(jù)內(nèi)容與數(shù)據(jù)表達分離。

下面給出一個XML示例文檔來了解一下XML是如何表達數(shù)據(jù)的。

【例1-1】

案例說明:XML數(shù)據(jù)文檔。

程序名稱:ch1-1.xml

<?xmlversion=“1.0”encoding=“UTF-8”?>

<BookList>

<Book>

<Title>軟件工程</Title>

<ISBN>ISBN=“7-5606-0924-4/TP0851”</ISBN>

<Abstract>介紹軟件工程理論...</Abstract>

<Author>鄧良松</Author>

<Category>計算機</Category>

<Publisher>西安電子科技大學(xué)出版社</Publisher>

<PubDate>2001年6月</PubDate>

<Price>20.00</Price>

</Book>

</BookList>案例分析:該XML數(shù)據(jù)文檔描述了一本計算機圖書的相關(guān)信息,數(shù)據(jù)簡單明了。XML是自我描述語言,攜帶的信息不只是信息內(nèi)容的描述,還包括語義的描述。因此,即便是對于一個對預(yù)定義標(biāo)記一無所知的人,這個XML數(shù)據(jù)文檔也是可讀的,例如文檔中的“<Title>軟件工程</Title>”便表達了“軟件工程”代表的是“書名(<Title>)”。數(shù)據(jù)內(nèi)容和數(shù)據(jù)表示的分離使數(shù)據(jù)搜索可以簡單高效地進行,搜索引擎沒有必要再去遍歷整個文檔,而只需要找一下相關(guān)標(biāo)記的內(nèi)容。以上例文檔為例,查找價格小于45元的書籍,只要查看<Price>這個標(biāo)記下的數(shù)據(jù)是否匹配即可。

XML中,顯示的樣式和數(shù)據(jù)的內(nèi)容放在不同的文檔中。如果要改動信息的表現(xiàn)方式,無需改動信息本身,只要改動與數(shù)據(jù)文檔相關(guān)的樣式文檔就可以了。XML中數(shù)據(jù)的交換和重用也更加便捷。

1.2XML語言及其應(yīng)用

1.2.1XML語言的概念

XML不但是置標(biāo)語言,而且是可擴展(extensible)的置標(biāo)語言。HTML提供了一組事先定義好的標(biāo)記庫,XML則提供了一組標(biāo)準(zhǔn)。根據(jù)這個標(biāo)準(zhǔn),可以根據(jù)實際需要自定義新的標(biāo)記語言,并設(shè)計相應(yīng)的一套標(biāo)記,就像我們在數(shù)據(jù)庫設(shè)計時為了表達信息而設(shè)計一組字段一樣。因此,準(zhǔn)確地說,XML是一種元置標(biāo)語言,它允許程序開發(fā)人員根據(jù)它所提供的規(guī)則制定各種各樣適合實際問題需要的標(biāo)記語言,這也正是XML制定之初的目標(biāo)所在。

XML規(guī)范展示了如下的設(shè)計目標(biāo):

(1)在Internet上直接使用XML。用戶能夠像使用HTML文檔那樣快速而簡單地打開和瀏覽XML文檔。在實際應(yīng)用中,只有當(dāng)XML瀏覽器像HTML瀏覽器那樣被大量廣泛地使用時,才能達到這個目標(biāo)。

(2)?XML應(yīng)該支持非常廣泛的應(yīng)用,它能夠在著作、瀏覽、內(nèi)容分析等領(lǐng)域發(fā)揮巨大的作用。如此看來,當(dāng)初僅因為需要在Web上傳送結(jié)構(gòu)化文檔而定義XML的想法倒顯得十分狹隘了。

(3)由于XML可以兼容SGML,因此很多人用它來處理那些十分龐大、繁瑣而原本需要SGML來處理的信息。XML設(shè)計得很實用,能夠兼容已經(jīng)存在的標(biāo)準(zhǔn),并且能夠解決在Web中傳輸結(jié)構(gòu)化文檔的新問題。

(4)計算機程序能夠很好地處理XML文檔。說得比較通俗一點,開發(fā)一個處理XML文檔的程序相當(dāng)容易。

(5)在XML中,隨意數(shù)值保持足夠地小,理想上是0。隨意特征不可避免地帶來兼容性的問題,以至于用戶在共享文檔時會出現(xiàn)失敗的情況。

(6)?XML文檔應(yīng)該保持可讀性和一定的清晰程度。如果沒有XML瀏覽器,或者接收到一個篇幅巨大的XML文檔,也能夠通過常用的文字編輯軟件來閱讀XML文檔,并且了解其內(nèi)容。

(7)?XML的設(shè)計應(yīng)該是結(jié)構(gòu)合理而簡潔的??梢杂煤芏喾N辦法實現(xiàn)上面第(4)條所提到的目標(biāo),歸根結(jié)底來說,XML應(yīng)符合EBNF(ExtendedBackus-NaurForm)的表述規(guī)范,并遵從現(xiàn)代編譯工具和方法來實現(xiàn)。從很多點上可以說明SGML的語法是不符合EBNF的表述規(guī)范的,寫一個合適的SGML解析器需要處理繁雜的工作,而且難以解析語言的特性,XML不應(yīng)該如此。

(8)?XML文檔應(yīng)該是易于創(chuàng)建的,盡管最終需要使用專用的編輯器來創(chuàng)建和修改XML內(nèi)容,但是那并不是很緊迫的。在中間過渡期,我們可以選擇一些其他的方法來創(chuàng)建XML文檔,例如直接用字處理軟件生成,或者使用簡單的Shell和Perl腳本來生成,等等。

(9)?XML標(biāo)記的簡練是其最大的價值所在。XML并不支持SGML中一些功能強大的特性,而這些特性也使得SGML解析器增加了許多額外的負擔(dān)。前文我們已經(jīng)提到XML的優(yōu)點之一在于數(shù)據(jù)內(nèi)容與數(shù)據(jù)表達的分離,事實上,用XML定義的標(biāo)記語言可以根據(jù)標(biāo)記描述的側(cè)重點不同而分為兩大類。一類偏重于語義描述,如例1-1所示。還有一類偏重于顯示方式的描述,如現(xiàn)在已經(jīng)推出的擴展文本標(biāo)記語言(eXtensibleHyperTextMarkupLanguage,XHTML)、可縮放矢量圖形語言(ScalableVectorGraphic,SVG)以及本書第6章講到的可擴展樣式語言(eXtensibleStyleLanguage,XSL)等。特別要注意的是,這里對于顯示方式的描述不僅限于對文本的描述,還可以包括矢量圖形、圖像和聲音。比如<加大>的標(biāo)記在描述文本顯示時可能是要求字號變大,而在描述聲音時則是要求將音量加大。數(shù)據(jù)庫設(shè)計中不僅要定義描述一個實體所需要的字段,而且要定義字段的類型。譬如圖書的價錢必須是兩位小數(shù)的浮點格式,而且還要大于零;圖書的銷售量只能是正整數(shù)。在XML中,標(biāo)記語言中的標(biāo)記也需要包括標(biāo)記的語法,這個語法是通過第3章講到的文檔類型定義(DocumentTypeDefinition,DTD)和第4章講到的Schema來進行描述的。

對于一個瀏覽器來講,需要處理XML數(shù)據(jù)文檔、DTD(或Schema)及CSS(或XSL)這三方面的要素,根據(jù)這些數(shù)據(jù)的內(nèi)容和規(guī)定來進行處理和顯示。1.2.2XML的應(yīng)用

1.創(chuàng)建新的標(biāo)記語言

作為元標(biāo)記語言,XML可以為用戶定義適合本行業(yè)領(lǐng)域的標(biāo)記語言。如對例1-1描述的圖書信息如果加以深入的研究和開發(fā),完全可以編寫出應(yīng)用于表達圖書信息的一套標(biāo)記庫。

2.存儲數(shù)據(jù)

XML文檔是帶有一定語義的純文本格式的文件,可以用來存儲數(shù)據(jù),也可以方便地編寫應(yīng)用程序來存儲和讀取存儲的數(shù)據(jù)。由于XML對于硬件、軟件、應(yīng)用程序是獨立的,因此也可以使用除標(biāo)準(zhǔn)HTML瀏覽器以外的其他應(yīng)用程序來處理XML文檔數(shù)據(jù)。XML數(shù)據(jù)文檔配合DTD或Schema使用時,應(yīng)用程序完全可以將XML數(shù)據(jù)文檔作為數(shù)據(jù)源來使用,就像訪問數(shù)據(jù)庫一樣。XML良好的自我描述特性也使它成為保存歷史檔案的最佳選擇。

3.交換數(shù)據(jù)

MicrosoftSQLServer、Oracle、MicrosoftAccess等數(shù)據(jù)庫雖然提供了強有力的數(shù)據(jù)存儲和數(shù)據(jù)分析能力,但存儲的數(shù)據(jù)格式是不一樣的;而我們常用的字處理軟件Word、Acrobat等存儲數(shù)據(jù)也各不相同。XML的平臺獨立性可以將數(shù)據(jù)在兼容的系統(tǒng)或應(yīng)用程序中進行交換,并將數(shù)據(jù)轉(zhuǎn)換成XML文檔,從而能夠被不同類型的多種應(yīng)用程序閱讀,可大大降低引用的復(fù)雜性。XML也將成為在Internet上的企業(yè)之間交換金融信息的主要語言。

4.Web應(yīng)用

XML文檔將成為Web資源的重要組成部分,XML使得搜索引擎更為智能和準(zhǔn)確。XML在Web上的應(yīng)用主要有以下幾個方面:

(1)集成不同的數(shù)據(jù)源。

XML可以用來描述包含在不同應(yīng)用中的數(shù)據(jù),比如從Web頁面到數(shù)據(jù)庫記錄等。Web應(yīng)用的中間層服務(wù)程序?qū)⑦@些用XML表示的數(shù)據(jù)組合起來,然后交給客戶端或者下一步的應(yīng)用。XML還提供客戶端包含機制,可以將多個數(shù)據(jù)源的數(shù)據(jù)進行集成。

(2)本地計算。

XML數(shù)據(jù)傳送到客戶端后,客戶端可以利用本地的XML分析器對數(shù)據(jù)進行解析和進一步處理,這樣既完成了應(yīng)用系統(tǒng)所需的功能,又合理地分配了一部分服務(wù)器的處理負荷。例如,數(shù)據(jù)庫記錄可以直接傳輸?shù)娇蛻舳诉M行排序、二次篩選或運算等處理。

(3)數(shù)據(jù)的多種顯示。

XML將數(shù)據(jù)內(nèi)容與數(shù)據(jù)表現(xiàn)分離的優(yōu)點,決定了XML只描述數(shù)據(jù)的結(jié)構(gòu)和語義,顯示外觀則通過樣式單文件(StyleSheet)進行描述。因此,只需在顯示時應(yīng)用不同的樣式單,同一數(shù)據(jù)集即可實現(xiàn)多種顯示效果。

(4)網(wǎng)絡(luò)出版。

互聯(lián)網(wǎng)的高速發(fā)展及其海量的內(nèi)部信息使網(wǎng)絡(luò)已經(jīng)成為一種新的媒體。人們在網(wǎng)絡(luò)上發(fā)布各種信息時,信息的發(fā)布形式和發(fā)布語言多種多樣,其中基于XML的顯示技術(shù)和顯示語言發(fā)揮了重要的作用。例如,eBook、eNewspaper等電子出版物就利用了XML的優(yōu)秀特性。

(5)支持Web應(yīng)用的互操作和集成。

Web界面定義語言(WebInterfaceDefinitionLanguage,WIDL)是WebMethods公司定義的一個XML應(yīng)用,它是一個能夠用于Web資源和企業(yè)應(yīng)用接口的語言標(biāo)準(zhǔn)。通過它,Web應(yīng)用可以自動存取Web資源和企業(yè)應(yīng)用。

1.3XML文檔的編輯工具

開發(fā)XML有許多工具可以使用,下面介紹一些常用的工具。

?

Notepad:最直接、最簡單的文本編輯工具,在Windows附件中就可找到。

?

MicrosoftXMLNotepad:微軟專門為設(shè)計XML文檔提供的編輯軟件,可以借助它驗證XML文檔的有效性。

?

MicrosoftVisualStudio2005:該軟件是用來開發(fā)Web應(yīng)用程序的,不僅僅局限于XML,還可以開發(fā)ASP.NET、ASP、HTML、XSL樣式單等。

?

MicrosoftXMLTreeViewer:利用這個軟件可以把XML文檔的內(nèi)容用樹型結(jié)構(gòu)形式顯示出來。

?

MicrosoftXMLValidator:該軟件可以檢查XML文檔是否是“格式良好的”以及其有效性,并對錯誤發(fā)出警告。

?

MicrosoftXSLDebugger:樣式單文件的復(fù)雜性使開發(fā)人員在編寫時容易出現(xiàn)錯誤,這個軟件就是幫助用戶調(diào)試樣式單文件的,它能把復(fù)雜枯燥的調(diào)試過程用可視化界面顯示出來。

?

WordPerfect:一種對開發(fā)XML和SGML提供高級支持的文字處理器,具有所見即所得(WYSWYG)的開發(fā)環(huán)境,提供向?qū)?、自動化控件的插入和文檔的自動生成等功能。它是一款收費的商業(yè)產(chǎn)品,支持Windows95/98/2000和Linux平臺。

?

SixPack:它能為XML的解析和開發(fā)提供簡潔的界面,支持Macintosh平臺,并公開源代碼。

?

Xray:一種具有實時錯誤檢查的XML編輯器。它基于DTD或XMLSchema,允許用戶創(chuàng)建格式良好的XML文檔或驗證文檔的有效性,并且支持多文檔編輯,是一款免費軟件,支持Windows95/98/NT/2000平臺。

?

XMLSpy:它是所有XML編輯器中做得非常好的一個軟件,支持WYSWYG。該軟件支持Unicode、多字符集,也支持Well-formed和Validated兩種類型的XML文檔,亦支持NewsML等多種標(biāo)準(zhǔn)XML文檔的所見即所得的編輯,同時提供了強有力的樣式表設(shè)計。

1.4一個簡單的XML文檔實例

【例1-2】

案例說明:一個關(guān)于圖書信息的XML文檔存儲、校驗和顯示的實例。該實例有三個組成部分:其中XML數(shù)據(jù)文檔為“ch1-2.xml”,負責(zé)存儲包含兩本XML圖書信息的列表;XML語法文檔為“ch1-2.dtd”,負責(zé)描述數(shù)據(jù)文檔中的結(jié)構(gòu),并對數(shù)據(jù)文檔的有效性進行驗證;XML樣式文檔為“ch1-2.xsl”,負責(zé)描述XML數(shù)據(jù)文檔在瀏覽器中的顯示方式。上述三個文檔存儲在同一個目錄下。程序名稱:ch1-2.xml

<?xmlversion="1.0"encoding="UTF-8"standalone="no"?>

<!DOCTYPEBookListSYSTEM"ch1-2.dtd">

<?xml-stylesheettype="text/xsl"href="ch1-2.xsl"?>

<!--關(guān)于學(xué)習(xí)軟件開發(fā)的圖書信息列表-->

<BookList>

<Annotation>&Content;</Annotation>

<BookISBN="7-5606-0924-4/TP0851"> <Title>軟件工程</Title>

<Abstract>介紹軟件工程理論...</Abstract>

<Author>鄧良松</Author>

<Category>計算機</Category>

<Publisher>西安電子科技大學(xué)出版社</Publisher>

<PubDate>2001年6月</PubDate>

<Price>20.00</Price>

</Book>

<BookISBN="7-5606-0492-7/TP0229">

<Title>軟件系統(tǒng)開發(fā)技術(shù)(修訂版)</Title>

<Abstract>介紹軟件系統(tǒng)的開發(fā)技術(shù)...</Abstract>

<Author>潘錦平</Author>

<Category>計算機</Category>

<Publisher>西安電子科技大學(xué)出版社</Publisher>

<PubDate>2001年1月</PubDate>

<Price>12.30</Price>

</Book>

</BookList>程序名稱:ch1-2.dtd

<?xmlversion="1.0"encoding="UTF-8"?>

<!ENTITYContent"學(xué)習(xí)軟件開發(fā)的參考書">

<!ELEMENTAnnotation(#PCDATA)>

<!ELEMENTTitle(#PCDATA)>

<!ELEMENTAbstract(#PCDATA)>

<!ELEMENTAuthor(#PCDATA)>

<!ELEMENTPublisher(#PCDATA)><!ELEMENTPrice(#PCDATA)>

<!ELEMENTPubDate(#PCDATA)>

<!ELEMENTCategory(#PCDATA)>

<!ELEMENTBook((Title,Abstract,Author,Category,Publisher,PubDate,Price))>

<!ELEMENTBookList((Annotation,Book,Book))>

<!--"ISBN圖書分類號,唯一標(biāo)識圖書,定義為Book的屬性"-->

<!ATTLISTBook ISBNCDATA"7-5606-0492-7/TP0229">程序名稱:ch1-2.xsl

<?xmlversion=“1.0”encoding=“UTF-8”?>

<xsl:stylesheetv

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論