XML大作业-图书馆xml-dtd-xsl-xsd有效性检测-算平均值_第1页
XML大作业-图书馆xml-dtd-xsl-xsd有效性检测-算平均值_第2页
XML大作业-图书馆xml-dtd-xsl-xsd有效性检测-算平均值_第3页
XML大作业-图书馆xml-dtd-xsl-xsd有效性检测-算平均值_第4页
XML大作业-图书馆xml-dtd-xsl-xsd有效性检测-算平均值_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息工程学院2013-2014-1学期 XML技术与应用课程大作业专 业: 计算机科学与技术 班 级: 11计科1本 学生姓名: 沈维洁 夏振凯 王伟 学 号: 1111050321、1111050334 1111050126 2013年12月 XML技术与应用大作业分组报名表项目名称 基于XML的图书馆信息系统设计与实现项目功能 XML作为数据存储格式,已经渗透到了Internet和其他各个领域。结构文档XML的信息交换、提取、处理、查询的研究也日益受到重视。以XML文档作为存储数据的手段,可以很好地解决Web上的数据表达问题,同时利用数据绑定可以很容易地创建和维护XML文档。XML文档将成为数据交换和共享的通用平台。正是鉴于XML的良好特点,某图书馆拟使用XML文件制定一个书目单,该文档描述其图书馆内的所有书目信息团队成员姓名性别年级院、系、专业学号备注女11计算机科学与技术1111050321男11计算机科学与技术1111050334男11计算机科学与技术1111050126指导教师研究方向软件设计职称副教授团队联系方式联系人姓名联系电话42邮件地址邮编100091目录摘要I目录II1系统概述11.1. 设计内容11.2. 设计要求12. 需求分析32.1. 系统功能需求32.1.1. 书目单内容32.1.2. 书目单规范性及有效性检查33. 总体设计33.1. 系统总体流程图34. 详细设计44.1. 书目单树状结构74.1.1. 树状图收拢74.1.2. 图书馆展开74.1.3. 书目展开(部分截图显示)84.1.4. 管理员展开84.1.5. 书目XML文件源代码94.2. XML文件的编写与规范性检查114.3. DTD文件编写与规范性检查114.3.1. DTD文件124.4. 关联xsl文件并显示相应的信息144.4.1. 图书馆信息显示144.4.2. 书目信息显示154.4.3. 出版社信息显示174.4.4. 管理员信息显示194.5. Schema文件194.6. Java语言解析XML文件204.6.1. 图书馆信息解析204.6.2. 书目信息解析214.6.3. 出版社信息解析:214.6.4. 管理员信息显示及计算图书的平均价格:224.6.5. 类结构显示:234.6.6. 解析代码:23总结271系统概述1.1. 设计内容某图书馆欲模拟使用XML文件建立一个书目单描述图书馆的所有书目信息。选择合适的编译器,编写一个XML文件,文件包括如下信息: 该图书馆的基本信息:图书馆的名字、地点,容量,开放时间等。(1) 书目书目1 书目基本信息(书籍名称、单价、ISBN、书目类别、作者、书籍编号) 入库信息(入馆时间、入馆数量、经办人) 书目2书目3.书目N 出版社信息 出版社基本信息(名称、地点、标志、联系方式等),其中联系方式包括:电话、网址、传真、email等联系方式。 出版社主要出版图书信息(书目类型、出版方向,丛书名称) 管理员信息(编号、姓名、联系方式、管理的范围)1.2. 设计要求针对该XML文件,画出其相应的树状结构图。3、针对所编写的XML文件,编写其相应的DTD文件 ,并使用解析器验证其有效性。4、针对所编写的XML文件,编写其相应的Schema文件,并验证其有效性。5、针对所编写的XML文件,编写合适的XSL文件,将书目基本信息打印成表格,并用浏览器进行浏览。6、使用JAVA编程语言,对XML文件进行解析: 显示该xml文件的所有节点、属性的名字; 同时显示该xml文件所有标记的文本数据; 计算书的平均单价并进行输出。2. 需求分析2.1. 系统功能需求2.1.1. 书目单内容书目单包括图书馆基本信息,书目(书目1,书目2,书目n),出版社信息,管理员信息。图书馆基本信息。书目。出版社信息。管理员信息。2.1.2. 书目单规范性及有效性检查XML文件按照要求组织数据合理,并通过规范性检查。DTD文件按照要求编写,并通过有效性检查。Schema文件按照要求编写,并通过有效性检查。XSL文件按照要求显示正确。JAVA文件达到要求,正确显示结果。3. 总体设计3.1. 系统总体流程图书目单建立相应的XML文件书目管理员图书馆出版社DTD文件XSL 文件Java语言解析显示信息图3-1系统总体流程图4. 详细设计4.1. 书目单树状结构4.1.1. 树状图收拢如图4-1-1所示图4-1-1树状图收拢4.1.2. 图书馆展开如图4-1-2所示:图4-1-24.1.3. 书目展开(部分截图显示)如图4-1-3所示:图4-1-34.1.4. 管理员展开如图4-1-4所示:图4-1-44.1.5. 书目XML文件源代码及截图宁波大红鹰图书馆F1100008:00-22:00XML程序设计25.00078-7-302-20649-1程序设计张越平 耿祥义TP-1022013/12/1210沈维洁操作系统32.00978-7-5606-0496-1程序设计汤小丹 梁红兵TP-3322012/12/1320王伟Android移动应用设计与开发35.00978-7-115-29040-3网站制作黄宏程 胡敏TP-2352013/12/2320夏振凯宁波大红鹰出版社北京京字008123678123-2323-3232TingH自动化工业计算机科学技术计算机科学3214沈维洁夏振凯王伟图书馆1楼666666188152966664.2. XML文件的编写与规范性检查检查有效性通过如图4-2图4-24.3. DTD文件编写与规范性检查import javax.xml.parsers.*;import org.xml.sax.helpers.*;import org.xml.sax.*;import java.io.*;import org.w3c.dom.*;import java.util.Scanner;public class Test_YouXiaoXing public static void main(String args) String fileName=null; try Scanner reader=new Scanner(System.in); System.out.print(夏振凯 沈维洁 王伟 小组 XML); System.out.print(请输入您要验证有效性的XML文件的名字:); fileName=reader.nextLine(); DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); factory.setValidating(true); DocumentBuilder domParser= factory.newDocumentBuilder(); MyHandler handler=new MyHandler(); domParser.setErrorHandler(handler); Document document=domParser.parse(new File(fileName) ; if(handler.errorMessage=null) System.out.println(fileName+文件是有效滴!); else System.out.println(fileName+文件不是有效滴!); catch(Exception e) System.out.println(e); class MyHandler extends DefaultHandler String errorMessage=null; public void error(SAXParseException e) throws SAXException errorMessage=e.getMessage(); System.out.println(一般性错误:+errorMessage); public void fatalError(SAXParseException e) throws SAXException errorMessage=e.getMessage(); System.out.println(致命性错误:+errorMessage); 4.3.1. DTD文件4.4. 关联xsl文件并显示相应的信息4.4.1. 图书馆信息显示如图4-4-1所示:图4-4-1相应的代码图书馆信息名称地点容量开放时间4.4.2. 书目信息显示如图4-4-2所示:图4-4-2相关XSL代码书目信息书籍名称单价ISBN书目类别作者书籍编号入馆时间入馆数量经办人4.4.3. 出版社信息显示出版社信息表,如图4-4-3所示:图4-4-3相关代码: 出版社信息 出版社基本信息 主要出版图书 出版社名称 出版社地点 标志 联系方式 书目类型 出版方向 丛书名称 电话: 网址: 传真: E-Mail: 4.4.4. 管理员信息显示管理员表信息,如图4-4-4所示:图4-4-4相应的XSL代码: 管理员信息 编号 姓名 联系方式 管理范围 电话: 手机: 4.5. Schema文件4.6. Java语言解析XML文件4.6.1. 图书馆信息解析程序解析出了图书馆的信息,如图4-5-1所示:图4-5-14.6.2. 书目信息解析程序解析出了书目信息,如图4-5-2所示:图4-5-24.6.3. 出版社信息解析:程序解析出了出版社的信息,如图4-5-3所示:图4-5-34.6.4. 管理员信息显示及计算图书的平均价格:该程序满足了题目规定的要求,对图书进行平均价格计算:如图4-5-4所示:图4-5-44.6.5. 类结构显示:该图反映了用Java语言构造类DomTest和类Qm_dom对book.xml文件的解析。如图4-5-5所示:图4-5-54.6.6. 解析代码:import java.io.*;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.w3c.dom.Text;public class Qm_dom public static void main(String args) throws Exception DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();Document document = db.parse(new File(book_dtd.xml);/ 图书馆NodeList list1 = document.getElementsByTagName(图书馆);System.out.println(图书馆);for (int i = 0; i list1.getLength(); i+) Element element = (Element) list1.item(i);String content = element.getElementsByTagName(图书馆名字).item(0).getFirstChild().getNodeValue();System.out.println(t图书馆名字: + content);content = element.getElementsByTagName(地点).item(0).getFirstChild().getNodeValue();System.out.println(t地点: + content);content = element.getElementsByTagName(容量).item(0).getFirstChild().getNodeValue();System.out.println(t容量: + content);content = element.getElementsByTagName(开放时间).item(0).getFirstChild().getNodeValue();System.out.println(t开放时间: + content);System.out.println(-);System.out.println(-);/ 书目PingJun give = new PingJun();NodeList list = document.getElementsByTagName(书目基本信息);/ NodeList list2=document.getElementsByTagName(书目基本信息);for (int i = 0; i list.getLength(); i+) Element element = (Element) list.item(i);System.out.println(书本基本信息);String content = element.getElementsByTagName(书籍名称).item(0).getFirstChild().getNodeValue();System.out.println(t书籍名称: + content);content = element.getElementsByTagName(单价).item(0).getFirstChild().getNodeValue();System.out.println(t单价: + content);content = element.getElementsByTagName(ISBN).item(0).getFirstChild().getNodeValue();System.out.println(tISBN: + content);content = element.getElementsByTagName(书目类别).item(0).getFirstChild().getNodeValue();System.out.println(t书目类别: + content);content = element.getElementsByTagName(作者).item(0).getFirstChild().getNodeValue();System.out.println(t作者: + content);co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论