XML综合案例(课程设计)

XML综合案例(课程设计)

嘿嘿,代码文件被本人误删了,全是当时的截图,可能有点难受,综合使用XML内容的各类知识,仅供参考。

1. 课程设计

课程设计要求
  • 1.选取某一场景,描述该场景下的实体、实体属性以及实体之间的关系;注意选取实体最好体现出分解层次,以便于呈现XML,XML本身遵循层次数据模型;该部分文本描述要详尽,并用表格呈现出来。
  • 2.采用XML对上述实体、实体属性及关系进行描述,要求体现出系统预定义实体,保证XML语法正确。
  • 3.依据实例化XML文档写出组织模板文件DTD和SCHEMA,要求DTD与SCHEMA要保持映射,同时证明XML文件为有效的文档,同时组织模板要具有较高的抽象层次和较宽泛的约束能力。
  • 4.提出4个查询题设,要求至少两个要结合XPATH标准函数,写出XPATH求解路径。
  • 5.利用XSLT显示模板将XML文件展示为表格,与1一致。
  • 6.利用JAVA或PYTHON或者JavaScript等工具对XML文件节点进行属性值读写操作。

1. 场景选取

以华中师范大学南湖图书馆为例,一个图书馆拥有一个馆长和多个图书管理员,一个图书馆有多个借阅者,借阅者可以是学生和老师,一个借阅者可以借阅多本图书,一本图书在不同时间点也可以由多个借阅者进行借阅。

1.1. 图书馆层次数据结构模型
image.png
1.2. 使用Excel展示其结构
image.png
2.3.EXCEL展示最终xslt转换的结构
image.png
2.4.涉及实体相关分析

2.4.1.实体
该模型所涉及的实体主要有图书馆、图书、借阅者、管理员、借阅情况。
** 凑合看看,本人截图搞的**


image.png

image.png

3.XML文档编写

3.1.XML-Text视图
image.png

image.png

image.png
3.2.XML-Browser视图

10**** 顶层结构

image.png

11**** 二级结构
image.png

12**** 三层结构
image.png

13**** 四层结构
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.结构分析

【1】由2.3涉及实体相关分析可以知道元素之间的隶属关系和各个节点内容的数据类型,这里对数据类型为枚举类型的数据进行枚举值的列出:


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)找出所有借书的学生节点:
相对路径:/Liburary/Borrower/Student
绝对路径:/child::Liburary/child::Borrower/child::Student


image.png

(2)找出Borrower中的所有子节点:/Liburary/Borrower/node()


image.png

(3)找出admin的所有子节点:/Liburary/Admin/*
(4)找出借阅者的所有子孙节点:
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)寻找倒数第一的老师节点
/Liburary/Borrower/Teacher[position()=last()]
image.png

(11)寻找倒数第二的学生节点:/Liburary/Borrower/Student[position()=last()-1]


image.png

(1)寻找学号中有1,2或者名字中有佳字的学生
image.png

7.XSLT转换

7.1.XSLT文件
image.png

image.png

image.png

image.png
7.2.转化的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.解析结果在浏览器中显示
image.png

image.png

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • Java基础常见英语词汇(共70个)['ɔbdʒekt] ['ɔ:rientid]导向的 ...
    今夜子辰阅读 3,360评论 1 34
  • Java 常见英语单词 (1.0 版本) 1. Java 基础常见英语词汇(70 个) OO: object-or...
    Nemo359阅读 2,248评论 0 0
  • 一、 XML 1.1 什么是XML 曾有一段时间,XML 是互联网上传输结构化数据的事实标准,突出的特点是服务器与...
    Upcccz阅读 404评论 0 2
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,748评论 1 45