XML綜合案例(課程設(shè)計)

XML綜合案例(課程設(shè)計)

嘿嘿,代碼文件被本人誤刪了,全是當時的截圖,可能有點難受,綜合使用XML內(nèi)容的各類知識,僅供參考。

1. 課程設(shè)計

課程設(shè)計要求
  • 1.選取某一場景,描述該場景下的實體、實體屬性以及實體之間的關(guān)系;注意選取實體最好體現(xiàn)出分解層次,以便于呈現(xiàn)XML,XML本身遵循層次數(shù)據(jù)模型;該部分文本描述要詳盡,并用表格呈現(xiàn)出來。
  • 2.采用XML對上述實體、實體屬性及關(guān)系進行描述,要求體現(xiàn)出系統(tǒng)預定義實體,保證XML語法正確。
  • 3.依據(jù)實例化XML文檔寫出組織模板文件DTD和SCHEMA,要求DTD與SCHEMA要保持映射,同時證明XML文件為有效的文檔,同時組織模板要具有較高的抽象層次和較寬泛的約束能力。
  • 4.提出4個查詢題設(shè),要求至少兩個要結(jié)合XPATH標準函數(shù),寫出XPATH求解路徑。
  • 5.利用XSLT顯示模板將XML文件展示為表格,與1一致。
  • 6.利用JAVA或PYTHON或者JavaScript等工具對XML文件節(jié)點進行屬性值讀寫操作。

1. 場景選取

以華中師范大學南湖圖書館為例,一個圖書館擁有一個館長和多個圖書管理員,一個圖書館有多個借閱者,借閱者可以是學生和老師,一個借閱者可以借閱多本圖書,一本圖書在不同時間點也可以由多個借閱者進行借閱。

1.1. 圖書館層次數(shù)據(jù)結(jié)構(gòu)模型
image.png
1.2. 使用Excel展示其結(jié)構(gòu)
image.png
2.3.EXCEL展示最終xslt轉(zhuǎn)換的結(jié)構(gòu)
image.png
2.4.涉及實體相關(guān)分析

2.4.1.實體
該模型所涉及的實體主要有圖書館、圖書、借閱者、管理員、借閱情況。
** 湊合看看,本人截圖搞的**


image.png

image.png

3.XML文檔編寫

3.1.XML-Text視圖
image.png

image.png

image.png
3.2.XML-Browser視圖

10**** 頂層結(jié)構(gòu)

image.png

11**** 二級結(jié)構(gòu)
image.png

12**** 三層結(jié)構(gòu)
image.png

13**** 四層結(jié)構(gòu)
image.png

14**** Browser視圖下的xml文件
image.png

3.3.XML-Grid視圖
  • Grid視圖下的xml文件


    image.png
  • 頂層grid視圖


    image.png
  • 二級Grid視圖


    image.png
  • 三級Grid視圖


    image.png

4.DTD文檔編寫

4.1.結(jié)構(gòu)分析

【1】由2.3涉及實體相關(guān)分析可以知道元素之間的隸屬關(guān)系和各個節(jié)點內(nèi)容的數(shù)據(jù)類型,這里對數(shù)據(jù)類型為枚舉類型的數(shù)據(jù)進行枚舉值的列出:


image.png
4.2.DTD文檔編寫
DTD文檔.png

DTD良好性驗證.png

dtd和XML驗證格式良好

5.Schema文檔編寫

5.1.SCHEMA 文件
image.png

image.png

image.png

image.png

image.png

image.png
5.2.使用 SCHEMA進行語法約束的XML文檔通過有效性檢驗
image.png

6.XPATH

(1)找出所有借書的學生節(jié)點:
相對路徑:/Liburary/Borrower/Student
絕對路徑:/child::Liburary/child::Borrower/child::Student


image.png

(2)找出Borrower中的所有子節(jié)點:/Liburary/Borrower/node()


image.png

(3)找出admin的所有子節(jié)點:/Liburary/Admin/*
(4)找出借閱者的所有子孫節(jié)點:
image.png

(6)找出第一個借書的學生的姓名:

/child::Liburary/child::Borrower/child::Student[1]/sname/text()


image.png

image.png

(7)找出第一個學生借的名字中含有“Vue”的書本名稱:/Liburary/Borrower/Student[1]/BookBorrowing/BorrowingBooks/Book/bname[contains(text(),"Vue")]
image.png

(8)找出所有書的價格:
image.png

(9)找出所有老師所借閱的價格大于100和老師所借閱的價格大于30的書籍:
/Liburary/Borrower//Teacher/BookBorrowing/BorrowingBooks/Book[price>100]/bname/text()|//Student/BookBorrowing/BorrowingBooks/Book[price>50]/bname/text()
image.png

(10)尋找倒數(shù)第一的老師節(jié)點
/Liburary/Borrower/Teacher[position()=last()]
image.png

(11)尋找倒數(shù)第二的學生節(jié)點:/Liburary/Borrower/Student[position()=last()-1]


image.png

(1)尋找學號中有1,2或者名字中有佳字的學生
image.png

7.XSLT轉(zhuǎn)換

7.1.XSLT文件
image.png

image.png

image.png

image.png
7.2.轉(zhuǎn)化的XML文件
image.png

image.png

image.png
7.3.在瀏覽器中瀏覽
image.png

8.XML解析——使用JavaScript

8.1.代碼文檔
image.png

image.png

image.png

image.png

image.png
8.2.將xml文檔和HTML文件部署到本地服務器上
image.png
8.3.解析結(jié)果在瀏覽器中顯示
image.png

image.png

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,728評論 18 399
  • Java基礎(chǔ)常見英語詞匯(共70個)['?bd?ekt] ['?:rientid]導向的 ...
    今夜子辰閱讀 3,485評論 1 34
  • Java 常見英語單詞 (1.0 版本) 1. Java 基礎(chǔ)常見英語詞匯(70 個) OO: object-or...
    Nemo359閱讀 2,632評論 0 0
  • 一、 XML 1.1 什么是XML 曾有一段時間,XML 是互聯(lián)網(wǎng)上傳輸結(jié)構(gòu)化數(shù)據(jù)的事實標準,突出的特點是服務器與...
    Upcccz閱讀 430評論 0 2
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,819評論 1 45

友情鏈接更多精彩內(nèi)容