版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 重慶科技學(xué)院</b></p><p><b> XML技術(shù)報(bào)告</b></p><p> 院(系):電氣與信息工程學(xué)院 班 級(jí): </p><p> 學(xué)生姓名: 學(xué) 號(hào): </p><p> 課程名
2、稱:_ _ XML技術(shù)_ ______ 報(bào)告題目: 面向圖書管理信息的XML程序設(shè)計(jì)___ _ </p><p> 完成日期: 2010年 11月 22日 </p><p> 指導(dǎo)教師評(píng)語: ______________ _________________________ </p>
3、<p> ______________________ _________________ </p><p> ______ _________________________________ </p><p> 報(bào)告成績:______ ________ __ 教師簽名:_
4、________ _______________ </p><p><b> 摘 要</b></p><p> 隨著印刷技術(shù)的發(fā)展,知識(shí)的不斷翻新,以前的四書五經(jīng)上的東西已經(jīng)再也不能夠滿足中國人類發(fā)展的需要。學(xué)生需要的更多的讀書來充實(shí)自己的知識(shí)庫,了解世界的最新信息,所以有必要為圖書館設(shè)定一套管理系統(tǒng),面向圖書館的信息的XML的程序設(shè)計(jì)被提了出來。這項(xiàng)設(shè)
5、計(jì)旨在針對(duì)各大高校的圖書館書籍信息的管理,為了使系統(tǒng)管理員更方便的操作書籍信息,達(dá)到書籍信息的快速查詢,添加,修改等。該文檔包含了豐富的XML知識(shí),其中有XML文件組織數(shù)據(jù)、DTD文件檢測(cè)XML文件有效性、XSL樣式表文件顯示數(shù)據(jù)格式、Java版的DOM解析器設(shè)計(jì)解析XML文件,該項(xiàng)設(shè)計(jì)將面向圖書管理信息的數(shù)據(jù)組織技術(shù)解析得非常透徹,清晰的設(shè)計(jì)思路能夠讓XML程序設(shè)計(jì)人員和讀者獲益匪淺。</p><p> 關(guān)鍵
6、詞:書籍信息,XML程序設(shè)計(jì)</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p><b> 目 錄II</b></p><p><b> 1需求分析1</b></p><p
7、> 1.1設(shè)計(jì)的目的1</p><p> 1.2設(shè)計(jì)的基本要求1</p><p><b> 2概要設(shè)計(jì)3</b></p><p> 2.1 根樹形結(jié)構(gòu)圖3</p><p> 2.2 子節(jié)點(diǎn)樹形結(jié)構(gòu)圖3</p><p> 2.2.1書籍詳細(xì)結(jié)構(gòu)圖3</p>
8、<p> 2.2.2 管理員信息結(jié)構(gòu)圖6</p><p><b> 3詳細(xì)設(shè)計(jì)7</b></p><p> 3.1 Java DOM解析器程序設(shè)計(jì)7</p><p> 3.1.1 自定義類設(shè)計(jì)7</p><p> 3.1.2 主函數(shù)設(shè)計(jì)8</p><p> 3.
9、1.3 程序流程圖8</p><p> 3.2 XSL樣式表調(diào)用設(shè)計(jì)10</p><p><b> 4系統(tǒng)測(cè)試11</b></p><p> 4.1 XML文件規(guī)范性測(cè)試11</p><p> 4.2 XSL樣式表文件顯示測(cè)試12</p><p> 4.3 XML有效性驗(yàn)證1
10、3</p><p> 4.4 Java DOM解析器測(cè)試13</p><p> 5 各模塊代碼文件14</p><p> 5.1 xml關(guān)聯(lián)文件14</p><p> 5.2 xsl關(guān)聯(lián)文件16</p><p> 5.3 DTD關(guān)聯(lián)文件21</p><p> 5.4 Jav
11、a程序源代碼22</p><p><b> 總 結(jié)24</b></p><p><b> 致謝25</b></p><p><b> 參考文獻(xiàn)26</b></p><p><b> 1需求分析</b></p><p>
12、;<b> 1.1設(shè)計(jì)的目的</b></p><p> 本套信息管理系統(tǒng)旨在為圖書館書籍信息提供更好的信息管理,使用xml語言描述圖書館內(nèi)書籍的詳細(xì)信息。</p><p> 1.2設(shè)計(jì)的基本要求</p><p> 1、 選用合適的編輯器,編寫一個(gè)XML文件,應(yīng)至少包括下述信息內(nèi)容: </p><p> 該圖書館
13、的基本信息:圖書館的名字、地點(diǎn)、容量、開放時(shí)間等。</p><p><b> 書目 </b></p><p><b> 書目1 </b></p><p> 書目基本信息(書籍名稱、單價(jià)、ISBN、書目類別、作者、書籍編號(hào))</p><p> 入庫信息(入館時(shí)間、入館數(shù)量、經(jīng)辦人)</p
14、><p><b> 書目2</b></p><p><b> 書目3</b></p><p><b> ……</b></p><p><b> 書目N</b></p><p><b> 出版社信息</b>
15、</p><p> 出版社基本信息(名稱、地點(diǎn)、標(biāo)志、聯(lián)系方式(電話、網(wǎng)址、傳真、email))</p><p> 出版社主要出版圖書信息(書目類型、出版方向,叢書名稱)</p><p> 管理員信息(編號(hào)、姓名、聯(lián)系方式、管理的范圍)</p><p> 2、針對(duì)該XML文件,畫出其相應(yīng)的樹狀結(jié)構(gòu)圖。</p><p
16、> 3、針對(duì)所編寫的XML文件,編寫其相應(yīng)的DTD文件 ,并使用解析器驗(yàn)證其有效性,對(duì)驗(yàn)證結(jié)果抓圖。</p><p> 4、針對(duì)所編寫的XML文件,編寫合適的XSL文件,將書目基本信息打印成表格,并用IE瀏覽器進(jìn)行瀏覽并截圖。</p><p> 5、使用JAVA編程語言,對(duì)XML文件進(jìn)行解析:</p><p> 1)顯示該xml文件的所有節(jié)點(diǎn)、屬性的名
17、字;</p><p> 2)同時(shí)顯示該xml文件所有標(biāo)記的文本數(shù)據(jù);</p><p> 3)計(jì)算書的平均單價(jià)并進(jìn)行輸出。</p><p> 1.3 xml程序代碼要求</p><p> 1、xml文件中應(yīng)該包括文本內(nèi)容、標(biāo)記、屬性、命名空間,混合標(biāo)記等的內(nèi)容。</p><p> 2、dtd文件應(yīng)該有相應(yīng)的結(jié)
18、果截圖。</p><p> 3、xsl文件應(yīng)用到規(guī)范中的常用技巧,例如模板調(diào)用、for-each、value-of、xsl標(biāo)記等。</p><p> 4、解析器結(jié)果應(yīng)該有抓圖。</p><p> 5、形成的代碼交老師驗(yàn)證。</p><p><b> 2概要設(shè)計(jì)</b></p><p>
19、本套xml文件系統(tǒng)的源文件中,包含一個(gè)xml文件,里面詳細(xì)的記錄了這套管理系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)模型,使得整個(gè)設(shè)計(jì)看起來相當(dāng)清晰。</p><p> 2.1 根樹形結(jié)構(gòu)圖</p><p> 由于本次程序設(shè)計(jì)是針對(duì)圖書館而設(shè)計(jì)的,所以根節(jié)點(diǎn)是圖書館,從實(shí)驗(yàn)的需求上面可以看見,下面所包含的分支節(jié)點(diǎn),他們分別是:名字、地點(diǎn)、容量、開放時(shí)間、書目、出版社信息和管理員信息等,如下圖所示:</p&g
20、t;<p> 2.2 子節(jié)點(diǎn)樹形結(jié)構(gòu)圖</p><p> 2.2.1書籍詳細(xì)結(jié)構(gòu)圖</p><p> 圖書館根節(jié)點(diǎn)包括5個(gè)詳細(xì)信息,其中書籍具有書籍基本信息以及入庫信息,如下圖所示:</p><p> 其中書籍基本信息有包括:書籍名稱、單價(jià)、ISBN、書目類別、作者和書籍編號(hào),如圖2.3所示:</p><p> 而“入
21、庫信息”有包括:入庫時(shí)間,如寬數(shù)量,經(jīng)辦人等。如下圖所示:</p><p> “出版社信息”包含的子節(jié)點(diǎn)有:出版社基本信息和出版社主要出版圖書信息,而“出版社基本信息”包含的子節(jié)點(diǎn)有:名稱、地點(diǎn)、標(biāo)志和聯(lián)系方式,“出版社主要出版圖書信息”包含的子節(jié)點(diǎn)有:書目類型、出版方向和叢書名稱,如圖2.5:</p><p> 2.2.2 管理員信息結(jié)構(gòu)圖</p><p>
22、 “管理員信息”包含的子節(jié)點(diǎn)有“管理員”,該子節(jié)點(diǎn)包含的子節(jié)點(diǎn)有:編號(hào)、姓名、聯(lián)系方式和管理范圍等,如下圖所示:</p><p><b> 3詳細(xì)設(shè)計(jì)</b></p><p> 3.1 Java DOM解析器程序設(shè)計(jì)</p><p> DOM解析器設(shè)計(jì)的主要目地是解析XML文件中的數(shù)據(jù)。使用JAVA編程語言,對(duì)XML文件進(jìn)行解析:<
23、;/p><p> 1、顯示該xml文件的所有節(jié)點(diǎn)、屬性的名字;</p><p> 2、同時(shí)顯示該xml文件所有標(biāo)記的文本數(shù)據(jù);</p><p> 3、計(jì)算書的平均單價(jià)并進(jìn)行輸出。</p><p> XMLInfo.java文件(見附錄)中,能夠顯示所有節(jié)點(diǎn)名、屬性名和文本數(shù)據(jù),同時(shí)輸出了所有書籍的平均價(jià)格。</p><
24、p> 3.1.1 自定義類設(shè)計(jì)</p><p> 在TestValidate.java文件中,自定義類為GiveData。</p><p> GiveData,包含私有成員:</p><p> private ArrayList<Integer> bookCount = new ArrayList<Integer>(); <
25、;/p><p> private ArrayList<Double> price = new ArrayList<Double>(); </p><p> bookCount是記錄每一類書的數(shù)量,而price是記錄每一類書的單價(jià)。</p><p> GiveData,包含方法:</p><p> public do
26、uble getAverage(); </p><p> public void showPrice();</p><p> public void output(NodeList nodeList);</p><p> getAverage()方法返回書籍的平均單價(jià),showPrice()方法在屏幕上顯示平均單價(jià),output( NodeList node
27、List) 函數(shù)是遞歸輸出和nodeList中保存的Node類型節(jié)點(diǎn)相關(guān)的數(shù)據(jù),當(dāng)節(jié)點(diǎn)類型是Element節(jié)點(diǎn)時(shí),輸出節(jié)點(diǎn)名字,當(dāng)節(jié)點(diǎn)類型是Text時(shí)就輸出節(jié)點(diǎn)中的數(shù)據(jù)。</p><p> 3.1.2 主函數(shù)設(shè)計(jì)</p><p> 1) 主函數(shù)中,先構(gòu)造一個(gè)GiveData類的對(duì)象giveData。</p><p> 2)DocumentBuilderFact
28、ory.newInstance</p><p> 3)factory.setIgnoringElementContentWhitespace(true)對(duì)輸出做空白處理。</p><p> 4)factory.newDocumentBuilder()實(shí)例化DocumentBuilder類的對(duì)象domParser 。</p><p> 5)domParser對(duì)象
29、的parse方法(參數(shù)為File類的對(duì)象)實(shí)例化Document的一個(gè)對(duì)象document。</p><p> 6)document對(duì)象的getDocumentElement()方法實(shí)例化Element的對(duì)象root,再將root所獲取的子節(jié)點(diǎn)放在NodeList的對(duì)象nodeList對(duì)象中。</p><p> 7)調(diào)用giveData的output()方法顯示XML文件信息,然后調(diào)用
30、giveData的showPrice()方法顯示書籍的平均單價(jià)。</p><p><b> 8)捕獲異常。</b></p><p> 3.1.3 程序流程圖</p><p> TestValidate.java文件中,主函數(shù)程序流程圖</p><p> 3.2 XSL樣式表調(diào)用設(shè)計(jì)</p><
31、p> 面向圖書管理信息的XML程序設(shè)計(jì)中包含了xsl_file.xsl文件(見附錄),能夠使書目基本信息非常漂亮地顯示在瀏覽器中。 </p><p> 首先在XSL編碼中添加一個(gè)首行為一列,第二行為六列(書籍名稱,單價(jià)(元/本),書目類別,作者,書籍編號(hào))的Table表,然后在第二行下添加代碼:</p><p> <xsl:for-each select="圖
32、書館/書目/書目基本信息"></p><p> <tr align="center"><xsl:apply-templates select="./*"/></tr></p><p> </xsl:for-each></p><p> xsl:for-eac
33、h循環(huán)調(diào)用模板。</p><p> 添加兩個(gè)非主模板,代碼如下:</p><p> <xsl:template match="書目基本信息"></p><p> <td bgcolor="#FCB829"><xsl:apply-templates select="./*"
34、/></td></p><p> </xsl:template></p><p> <xsl:template match="書目基本信息/*"></p><p> <td bgcolor="#FCB829"><xsl:value-of select="
35、;."/></td></p><p> </xsl:template></p><p> 第一個(gè)模板的作用是尋找“書目基本信息”下所有子節(jié)點(diǎn)標(biāo)記,第二個(gè)模板的作用是顯示子標(biāo)記的內(nèi)容。</p><p><b> 4系統(tǒng)測(cè)試</b></p><p> 4.1 XML文件規(guī)范性測(cè)
36、試</p><p> 用VS2005編寫完xml_file.xml文件后,點(diǎn)擊運(yùn)行,在瀏覽器中截圖如下。</p><p> 行xml_file.xml文件聲明和節(jié)點(diǎn)數(shù)據(jù)顯示如圖4.1。 </p><p> 圖4.1 聲明和節(jié)點(diǎn)信息顯示圖</p><p> “書目”節(jié)點(diǎn)數(shù)據(jù)顯示如圖7.2。</p><p> 圖
37、4.2 書目節(jié)點(diǎn)信息顯示圖</p><p> “出版社信息”節(jié)點(diǎn)數(shù)據(jù)顯示如圖4.3。</p><p> 圖4.3 出版社信息節(jié)點(diǎn)顯示圖</p><p> “管理員信息”節(jié)點(diǎn)數(shù)據(jù)顯示如圖4.4。</p><p> 圖4.4 管理員節(jié)點(diǎn)信息顯示圖</p><p> 4.2 XSL樣式表文件顯示測(cè)試</p&g
38、t;<p> XSL語言為XML提供顯示數(shù)據(jù)的外觀,按照要求將書目基本信息打印成表格,在VS2005下運(yùn)行xml_file.xml文件,顯示如圖4.5。</p><p> 圖4.5XSL樣式表顯示測(cè)試</p><p> 4.3 XML有效性驗(yàn)證</p><p> 將newxml.xml文件路徑輸入到驗(yàn)證XML文件有效性的Java程序中,其結(jié)果顯
39、示如圖4.6所示。</p><p> 圖4.6 XML有效性驗(yàn)證</p><p> 4.4 Java DOM解析器測(cè)試</p><p> 用Java語言編寫DOM解析器對(duì)XML文件進(jìn)行解析。顯示xml_file.xml文件的所有節(jié)點(diǎn)名、屬性名和文本數(shù)據(jù)的顯示圖如下。</p><p><b> 5 各模塊代碼文件</b&
40、gt;</p><p> 5.1 xml關(guān)聯(lián)文件</p><p> <?xml version="1.0" encoding="utf-8"?></p><p> <!DOCTYPE 圖書館 SYSTEM "dtd-file.DTD"></p><p>
41、 <?xml-stylesheet href="xsl_file.xsl" type="text/xsl"?></p><p><b> <圖書館></b></p><p><b> <圖書館基本信息></b></p><p> <圖
42、書館名字>科院圖書館</圖書館名字></p><p> <圖書館地點(diǎn)>大學(xué)城科技學(xué)院</圖書館地點(diǎn)></p><p> <開放時(shí)間>早上8:00-晚上21:00</開放時(shí)間></p><p> </圖書館基本信息></p><p><b> <
43、;書目></b></p><p> <書名>幸福像花兒一樣紅</書名></p><p> <書籍編號(hào)>0001</書籍編號(hào)></p><p> <作者>魯迅</作者></p><p> <單價(jià) 單位="元">55&
44、lt;/單價(jià)></p><p><b> <出版社信息></b></p><p> <名稱>人民出版社</名稱></p><p> <地點(diǎn)>北京</地點(diǎn)></p><p> <標(biāo)志>@</標(biāo)志></p><
45、;p><b> <聯(lián)系方式 ></b></p><p> <電話>13123456789</電話></p><p> <網(wǎng)址>WWW.hao123.com</網(wǎng)址></p><p> <傳真>45666655</傳真></p><
46、;p> <email>jhaskjabk@162.com</email></p><p><b> </聯(lián)系方式></b></p><p><b> </出版社信息></b></p><p><b> <入庫信息></b><
47、;/p><p> <入管時(shí)間>20080910</入管時(shí)間></p><p> <入管數(shù)量>1000</入管數(shù)量></p><p> <經(jīng)辦人>小小洪</經(jīng)辦人></p><p><b> </入庫信息></b></p>
48、<p><b> </書目></b></p><p><b> <書目></b></p><p> <書名>壞蛋是怎樣煉成的</書名></p><p> <書籍編號(hào)>0002</書籍編號(hào)></p><p>
49、 <作者>謝文東</作者></p><p> <單價(jià) 單位="元">111</單價(jià)></p><p><b> <出版社信息></b></p><p> <名稱>電子出版社</名稱></p><p> <
50、地點(diǎn)>上海</地點(diǎn)></p><p> <標(biāo)志>#</標(biāo)志></p><p><b> <聯(lián)系方式 ></b></p><p> <電話>13987564222</電話></p><p> <網(wǎng)址>WWW.haokan123
51、.com</網(wǎng)址></p><p> <傳真>89955258</傳真></p><p> <email>gangtie@162.com</email></p><p><b> </聯(lián)系方式></b></p><p><b> &
52、lt;/出版社信息></b></p><p><b> <入庫信息></b></p><p> <入管時(shí)間>20100101</入管時(shí)間></p><p> <入管數(shù)量>20000</入管數(shù)量></p><p> <經(jīng)辦人>
53、王五</經(jīng)辦人></p><p><b> </入庫信息></b></p><p><b> </書目></b></p><p><b> <書目></b></p><p> <書名>花兒問什么這樣紅</
54、書名></p><p> <書籍編號(hào)>0003</書籍編號(hào)></p><p> <作者>陽靜</作者></p><p> <單價(jià) 單位="元">66</單價(jià)></p><p><b> <出版社信息></b&g
55、t;</p><p> <名稱>哈爾濱出版社</名稱></p><p> <地點(diǎn)>哈爾濱</地點(diǎn)></p><p> <標(biāo)志>¥</標(biāo)志></p><p><b> <聯(lián)系方式 ></b></p><p>
56、 <電話>13555225559</電話></p><p> <網(wǎng)址>WWW.hao123.com</網(wǎng)址></p><p> <傳真>84684641</傳真></p><p> <email>jhaskjabk@162.com</email></p>
57、;<p><b> </聯(lián)系方式></b></p><p><b> </出版社信息></b></p><p><b> <入庫信息></b></p><p> <入管時(shí)間>20090110</入管時(shí)間></p&g
58、t;<p> <入管數(shù)量>300</入管數(shù)量></p><p> <經(jīng)辦人>小小黑</經(jīng)辦人></p><p><b> </入庫信息></b></p><p><b> </書目></b></p><p>
59、;<b> <管理員信息></b></p><p> <編號(hào)>110</編號(hào)></p><p> <姓名>劉真</姓名></p><p> <聯(lián)系方式> 固定電話="13246666555" 手機(jī)="1311111111"&l
60、t;/聯(lián)系方式></p><p> <管理范圍>一樓管理員</管理范圍></p><p><b> </管理員信息></b></p><p><b> <管理員信息></b></p><p> <編號(hào)>111</編號(hào)&g
61、t;</p><p> <姓名>劉歡</姓名></p><p> <聯(lián)系方式> 固定電話="13123654564" 手機(jī)="13856246236"</聯(lián)系方式></p><p> <管理范圍>二樓管理員</管理范圍></p>&l
62、t;p><b> </管理員信息></b></p><p><b> <管理員信息></b></p><p> <編號(hào)>112</編號(hào)></p><p> <姓名>魏世紅</姓名></p><p> <聯(lián)系
63、方式> 固定電話="15455451512" 手機(jī)="13545454545"</聯(lián)系方式></p><p> <管理范圍>三樓管理員</管理范圍></p><p><b> </管理員信息></b></p><p><b> <
64、;/圖書館></b></p><p> 5.2 xsl關(guān)聯(lián)文件</p><p> <?xml version="1.0" encoding="utf-8"?></p><p> <xsl:stylesheet version="1.0" xmlns:xsl=&
65、quot;http://www.w3.org/1999/XSL/Transform"></p><p> <xsl:template match="/"></p><p><b> <html> </b></p><p> <title>圖書館</title&g
66、t;</p><p> <body bgcolor="#FF66CC"></p><p> <head>圖書館</head></p><p><b> <tr></b></p><p> <tr>圖書館基本信息</tr>&
67、lt;/p><p> <td>圖書館名字</td></p><p> <td>圖書館地點(diǎn)</td></p><p> <td>開放時(shí)間</td></p><p><b> </tr></b></p><p>
68、 <table border="1" align="center"></p><p><b> <tr></b></p><p> <td>書名</td></p><p> <td>書籍編號(hào)</td></p>&l
69、t;p> <td>作者</td></p><p> <td>單價(jià)</td></p><p> <td>出版社信息</td></p><p><b> </tr></b></p><p> <xsl:for-each
70、select="//書目"></p><p><b> <tr></b></p><p> <xsl:apply-templates select="書名"/></p><p> <xsl:apply-templates select="書籍編號(hào)&quo
71、t;/></p><p> <xsl:apply-templates select="作者"/></p><p> <xsl:apply-templates select="單價(jià)"/></p><p> <xsl:apply-templates select="出版社信息&q
72、uot;/></p><p><b> </tr></b></p><p> </xsl:for-each></p><p><b> </table></b></p><p> <table border="1">&
73、lt;/p><p> <tr>管理員信息</tr></p><p><b> <tr></b></p><p> <td>編號(hào)</td></p><p> <td>姓名</td></p><p> <t
74、d>聯(lián)系</td></p><p> <td>管理范圍</td></p><p><b> </tr></b></p><p> <xsl:for-each select="//管理員信息"></p><p><b>
75、 <tr></b></p><p> <xsl:apply-templates select="編號(hào)"/></p><p> <xsl:apply-templates select="姓名"/></p><p> <xsl:apply-templates select
76、="聯(lián)系"/></p><p> <xsl:apply-templates select="管理范圍"/></p><p><b> </tr></b></p><p> </xsl:for-each></p><p><b&g
77、t; </table></b></p><p><b> </table></b></p><p><b> </body></b></p><p><b> </html></b></p><p> <
78、;/xsl:template></p><p> <xsl:template match="//書名"></p><p><b> <td></b></p><p> <xsl:value-of select="."/></p><p&g
79、t;<b> </td></b></p><p> </xsl:template></p><p> <xsl:template match="//書籍編號(hào)"></p><p><b> <td></b></p><p>
80、 <xsl:value-of select="."/></p><p><b> </td></b></p><p> </xsl:template></p><p> <xsl:template match="//作者"></p>&l
81、t;p><b> <td></b></p><p> <xsl:value-of select="."/></p><p><b> </td></b></p><p> </xsl:template></p><p>
82、; <xsl:template match="//單價(jià)"></p><p><b> <td></b></p><p> <xsl:value-of select="."/></p><p><b> </td></b><
83、/p><p> </xsl:template></p><p> <xsl:template match="//出版社信息"></p><p><b> <td></b></p><p> <xsl:value-of select="//出版社信
84、息/名稱"/></p><p> <xsl:value-of select="//出版社信息/地點(diǎn)"/></p><p> <xsl:value-of select="//出版社信息/標(biāo)志"/></p><p><b> </td></b><
85、/p><p> </xsl:template></p><p> <xsl:template match="//編號(hào)"></p><p><b> <td></b></p><p> <xsl:value-of select="."/&
86、gt;</p><p><b> </td></b></p><p> </xsl:template></p><p> <xsl:template match="//姓名"></p><p><b> <td></b>&l
87、t;/p><p> <xsl:value-of select="."/></p><p><b> </td></b></p><p> </xsl:template></p><p> <xsl:template match="//聯(lián)系&quo
88、t;></p><p><b> <td></b></p><p> <xsl:value-of select="."/></p><p><b> </td></b></p><p> </xsl:template>
89、</p><p> <xsl:template match="//管理范圍"></p><p><b> <td></b></p><p> <xsl:value-of select="."/></p><p><b> <
90、;/td></b></p><p> </xsl:template></p><p> </xsl:stylesheet></p><p> <?xml version="1.0" encoding="utf-8"?></p><p> &l
91、t;xsl:stylesheet version="1.0"</p><p> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></p><p> <?xsl-stylesheet herf="xsl_file.xsl" type="text/xsl&qu
92、ot;?></p><p> <xsl:template match="/"></p><p><b> <html></b></p><p> <title>圖書館</title></p><p> <body bgcolor=&q
93、uot;#FF66CC"></p><p> <table border="1" align="center"></p><p> <head>圖書館</head></p><p> <tr>圖書館基本信息</tr></p><
94、;p> <td>名字</td></p><p> <td>地點(diǎn)</td></p><p> <td>開放時(shí)間</td></p><p><b> </table></b></p><p> <table border
95、="1" align="center"></p><p> <tr> </p><p> <td>書名</td></p><p> <td>書籍編號(hào)</td></p><p> <td>作者&
96、lt;/td></p><p> <td>單價(jià)</td></p><p><b> </tr></b></p><p> <!--<xsl:for-each select="//書目"></p><p><b> &l
97、t;tr></b></p><p> <xsl:apply-templates select="//書名"/></p><p> <xsl:apply-templates select="//書籍編號(hào)"/></p><p> <xsl:apply-templates sel
98、ect="//作者"/></p><p> <xsl:apply-templates select="//單價(jià)"/></p><p><b> </tr></b></p><p> </xsl:for-each>--></p><p
99、><b> <tr></b></p><p> <xsl:apply-templates select="圖書館/書目"/></p><p><b> </tr></b></p><p><b> </table></b>
100、;</p><p> <table border="1" align="center"></p><p> <tr>管理員信息</tr></p><p><b> <tr></b></p><p> <td>編號(hào)&
101、lt;/td></p><p> <td>姓名</td></p><p> <td>聯(lián)系方式</td></p><p> <td>管理范圍</td></p><p><b> </tr></b></p><
102、;p> <xsl:apply-templates select="圖書館/管理員信息"/></p><p> </table> </p><p><b> </body></b></p><p><b> </html></b><
103、/p><p> <!--</xsl:template></p><p> <xsl:template match="書名/*"></p><p><b> <td></b></p><p> <xsl:apply-templates select=&
104、quot;."/></p><p><b> </td></b></p><p> </xsl:template></p><p> <xsl:template match="書籍編號(hào)/*"></p><p><b> <td
105、></b></p><p> <xsl:value-of select="."/></p><p><b> </td></b></p><p> </xsl:template></p><p> <xsl:template ma
106、tch="作者/*"></p><p><b> <td></b></p><p> <xsl:value-of select="."/></p><p><b> </td></b></p><p> <
107、;/xsl:template></p><p> <xsl:template match="單價(jià)/*"></p><p><b> <td></b></p><p> <xsl:value-of select="."/></p><p&g
108、t;<b> </td></b></p><p><b> --></b></p><p> </xsl:template></p><p> <xsl:template match="//圖書館基本信息"></p><p>&
109、lt;b> <tr></b></p><p> <xsl:apply-templates select="./*"/></p><p><b> </tr></b></p><p> </xsl:template></p><p&g
110、t; <xsl:template match="圖書館/圖書館基本信息"></p><p><b> <td></b></p><p> <xsl:value-of select="./圖書館名字"/></p><p><b> </td>
111、</b></p><p><b> <td></b></p><p> <xsl:value-of select="./圖書館地點(diǎn)"/></p><p><b> </td></b></p><p><b> &l
112、t;td></b></p><p> <xsl:value-of select="./開放時(shí)間"/></p><p><b> </td></b></p><p> </xsl:template></p><p> <xsl:temp
113、late match="//管理員信息"></p><p><b> <tr></b></p><p> <xsl:apply-templates select="./*"/></p><p><b> </tr></b></p&
114、gt;<p> </xsl:template></p><p> <xsl:template match="圖書館/書目"></p><p><b> <td></b></p><p> <xsl:value-of select="./書名"
115、/></p><p><b> </td></b></p><p><b> <td></b></p><p> <xsl:value-of select="./書籍編號(hào)"/></p><p><b> </td&
116、gt;</b></p><p><b> <td></b></p><p> <xsl:value-of select="./作者"/></p><p><b> </td></b></p><p><b> &l
117、t;td></b></p><p> <xsl:value-of select="./單價(jià)"/></p><p><b> </td></b></p><p><b> <tr/></b></p><p> </
118、xsl:template></p><p> <xsl:template match="圖書館/管理員信息"></p><p><b> <td></b></p><p> <xsl:value-of select="./編號(hào)"/></p>&
119、lt;p><b> </td></b></p><p><b> <td></b></p><p> <xsl:value-of select="./姓名"/></p><p><b> </td></b></p&
120、gt;<p><b> <td></b></p><p> <xsl:value-of select="./聯(lián)系方式"/></p><p><b> </td></b></p><p><b> <td></b>
121、</p><p> <xsl:value-of select="./管理范圍"/></p><p><b> </td></b></p><p><b> <tr/></b></p><p> </xsl:template>
122、</p><p> </xsl:stylesheet></p><p> 5.3 DTD關(guān)聯(lián)文件</p><p> <!ELEMENT 圖書館 (書目*,管理員信息*)></p><p> <!ELEMENT 書目 (書名,書籍編號(hào),作者,單價(jià),出版社信息,入庫信息)></p><
123、;p> <!ELEMENT 書名 (#PCDATA)></p><p> <!ELEMENT 書籍編號(hào) (#PCDATA)></p><p> <!ELEMENT 作者 (#PCDATA)></p><p> <!ELEMENT 單價(jià) (#PCDATA)></p><p> &l
124、t;!ELEMENT 出版社信息 (名稱,地點(diǎn),標(biāo)志?,聯(lián)系方式)></p><p> <!ELEMENT 名稱 (#PCDATA)></p><p> <!ELEMENT 地點(diǎn) (#PCDATA)></p><p> <!ELEMENT 標(biāo)志 ANY></p><p> <!ELEME
125、NT 聯(lián)系方式 (電話,網(wǎng)址,傳真,email?)></p><p> <!ELEMENT 電話 (#PCDATA)></p><p> <!ELEMENT 網(wǎng)址 (#PCDATA)></p><p> <!ELEMENT 傳真 (#PCDATA)></p><p> <!ELEMENT
126、 email (#PCDATA)></p><p> <!ELEMENT 入庫信息 (入管時(shí)間,入管數(shù)量,經(jīng)辦人)></p><p> <!ELEMENT 入管時(shí)間 (#PCDATA)></p><p> <!ELEMENT 入管數(shù)量 (#PCDATA)></p><p> <!ELEM
127、ENT 經(jīng)辦人 (#PCDATA)></p><p> <!ELEMENT 管理員信息 (編號(hào),姓名,聯(lián)系,管理范圍)></p><p> <!ELEMENT 編號(hào) (#PCDATA)></p><p> <!ELEMENT 姓名 (#PCDATA)></p><p> <!ELEMEN
128、T 聯(lián)系 (#PCDATA)></p><p> <!ELEMENT 管理范圍 (#PCDATA)></p><p> <!ATTLIST 單價(jià) 單位 CDATA "元"></p><p> <!ATTLIST 聯(lián)系 固定電話 CDATA #REQUIRED></p><p>
129、; <!ATTLIST 聯(lián)系 手機(jī) CDATA #REQUIRED></p><p> 5.4 Java程序源代碼</p><p> import javax.xml.parsers.*;</p><p> import org.xml.sax.helpers.*;</p><p> import org.xml.sax
130、.*;</p><p> import java.io.*;</p><p> import org.w3c.dom.*;</p><p> import java.util.Scanner;</p><p> public class TestValidate{</p><p> public static
131、 void main(String args[]){</p><p> String fileName=null;</p><p> try { Scanner reader=new Scanner(System.in);</p><p> System.out.print("請(qǐng)輸入要驗(yàn)證有效性的XML文件的名字:");</p>
132、;<p> fileName=reader.nextLine();</p><p> DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();</p><p> factory.setValidating(true);</p><p> DocumentBuilde
133、r domParser= factory.newDocumentBuilder();</p><p> MyHandler handler=new MyHandler();</p><p> domParser.setErrorHandler(handler);</p><p> Document document=domParser.parse(new Fi
134、le(fileName)) ;</p><p> if(handler.errorMessage==null)</p><p> System.out.println(fileName+"文件是有效的"); </p><p><b> else</b></p><p> System.out.
135、println(fileName+"文件不是有效的"); </p><p> } </p><p> catch(Exception e){</p><p> System.out.println(e);</p><p><b> }</b></p><
136、p><b> }</b></p><p><b> }</b></p><p> class MyHandler extends DefaultHandler{</p><p> String errorMessage=null;</p><p> public void error
137、(SAXParseException e) throws SAXException{</p><p> errorMessage=e.getMessage();</p><p> System.out.println("一般錯(cuò)誤:"+errorMessage); </p><p><b> }</b></p>
138、;<p> public void fatalError(SAXParseException e) throws SAXException{</p><p> errorMessage=e.getMessage();</p><p> System.out.println("致命錯(cuò)誤:"+errorMessage); }}</p>&l
139、t;p><b> 總 結(jié)</b></p><p> 經(jīng)過二周的努力,本學(xué)期XML程序設(shè)計(jì)按照老師的要求順利完成。使用XML文件編寫一個(gè)圖書館信息系統(tǒng),該文檔描述其圖書館的名字、地點(diǎn)、開放時(shí)間以及所有書目信息。包括下述信息內(nèi)容:書目、出版社信息、管理員信息。</p><p> 書目所有信息,我首先根據(jù)對(duì)圖書館書目信息的了解,畫出了各實(shí)體直接的層次關(guān)系。然后根
140、據(jù)層次關(guān)系圖寫出XML文件,編寫相應(yīng)的DTD文件和XSL文件。驗(yàn)證各個(gè)文件的有效性。最有使用JAVA編程語言對(duì)XML文件解析。</p><p> 在整個(gè)設(shè)計(jì)過程中感覺還是比較簡單的,不僅提供了直接在數(shù)據(jù)上工作的通用方法,而且XML的威力在于將用戶界面和結(jié)構(gòu)化數(shù)據(jù)組分離,允許不同來源數(shù)據(jù)的無縫集成和對(duì)同一數(shù)據(jù)的多種處理。XML是靈活的、可擴(kuò)展的、有良好的結(jié)構(gòu)和約束。這使得我們更加方便的應(yīng)用XML語言.</p
141、><p> 整個(gè)設(shè)計(jì)過程中的難點(diǎn)在于JAVA編程語言和JAVA編程軟件的應(yīng)用,這主要是因?yàn)閷?duì)軟件方向的知識(shí)沒留意學(xué)習(xí),認(rèn)為自己網(wǎng)絡(luò)方向沒必要學(xué)習(xí)編程。以后的學(xué)習(xí)過程中應(yīng)該擴(kuò)大學(xué)習(xí)范圍,不能僅限于自己的專業(yè)方向上。</p><p><b> 致謝</b></p><p> 通過對(duì)程序的編寫和實(shí)驗(yàn)報(bào)告的編寫,完成了本次實(shí)驗(yàn)報(bào)告。程序中有許多不足之
142、處,通過老師的幫助,認(rèn)真學(xué)習(xí)知識(shí)點(diǎn),掌握其要點(diǎn),老師給與認(rèn)真解答遇到的難題,使得此次程序得到了很大的改進(jìn),所以在此,感謝老師的幫助!</p><p> 同時(shí),在編寫程序的過程當(dāng)中還有不少給與我?guī)椭耐瑢W(xué),在此也非常感謝他們!</p><p><b> 參考文獻(xiàn)</b></p><p> [1]王震江 XML程序設(shè)計(jì) 中國鐵道工業(yè)出版社 2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告---書店圖書管理系統(tǒng)
- 圖書管理系統(tǒng)程序設(shè)計(jì)
- c語言程序設(shè)計(jì)報(bào)告-圖書管理系統(tǒng)
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)--圖書管理系統(tǒng)的設(shè)計(jì)
- 程序設(shè)計(jì)課程設(shè)計(jì)--圖書管理系統(tǒng)
- c課程設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)圖書管理系統(tǒng)統(tǒng)
- 基于c語言的圖書管理系統(tǒng)程序設(shè)計(jì)
- 圖書管理程序-高級(jí)語言程序設(shè)計(jì)實(shí)訓(xùn)
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告---圖書信息管理系統(tǒng)
- c語言程序設(shè)計(jì)大作業(yè)圖書管理系統(tǒng)
- 基于XML的程序設(shè)計(jì)自動(dòng)批改的研究.pdf
- 《xml技術(shù)》課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)報(bào)告
- 面向XML的安全中間件(XML加密).pdf
- java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)程序設(shè)計(jì)
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》人員信息管理系統(tǒng)
- 圖書管理系統(tǒng)面向?qū)ο蠓治雠c設(shè)計(jì)報(bào)告
- 面向查詢的XML文本摘要技術(shù).pdf
- 圖書信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告--c語言程序設(shè)計(jì)
- 圖書信息管理系統(tǒng)-《c語言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論