




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆科技学院XML技术综合性设计实验报告 院(系):电气与电子信息工程学院_ 专业班级:计科应08 学生姓名: 学 号: 课程名称:_ _ _XML程序设计 _报告题目: 面向图书馆管理信息的XML程序设计_ 完成日期: 2010 年 11 月 22 日 指导教师批改:_ _ _ _ 报告成绩: _ _ _ 指导教师: _ _ 摘要XML作为万维网联盟的一种语言,它在Internet上的数据交流很方便。且XML的威力在于它将用户界面和结构和数据的分离。该设计模拟一个图书馆管理系统,用XML建立一个书目单结构信息。用DTD、XSL进行与书目单的XML文件关联、然后用Java语言进行解析,并显示出来。同时计算图书的平均价格,检验数据的有效性。关键词:XML 书目单 E-R XSL DTD 目录摘要I目录II1系统概述11.1.设计内容11.2.设计要求12.需求分析32.1.系统功能需求32.1.1.书目单内容32.1.2.书目单规范性及有效性检查32.2.总体E-R图42.3.数据流图及描述63.总体设计93.1.系统总体流程图94.详细设计104.1.书目单树状结构104.1.1.树状图收拢104.1.2.图书馆展开104.1.3.书目展开(部分截图显示)114.1.4.管理员展开114.1.5.书目XML文件源代码124.2.XML文件的编写与规范性检查144.3.DTD文件编写与规范性检查144.3.1.DTD文件154.4.关联xsl文件并显示相应的信息164.4.1.图书馆信息显示164.4.2.书目信息显示174.4.3.出版社信息显示204.4.4.管理员信息显示224.5.Java语言解析XML文件244.5.1.图书馆信息解析244.5.2.书目信息解析244.5.3.出版社信息解析:254.5.4.管理员信息显示及计算图书的平均价格:254.5.5.类结构显示:264.5.6.解析代码:26总结28致谢29参考文献30II重庆科技学院XML技术综合性设计实验报告1系统概述1.1. 设计内容某图书馆欲模拟使用XML文件建立一个书目单描述图书馆的所有书目信息。选择合适的编译器,编写一个XML文件,文件包括如下信息: 该图书馆的基本信息:图书馆的名字、地点,容量,开放时间等。 书目a) 书目1i. 书目基本信息(书籍名称,单价,ISBN,书目类别,作者,书籍编号)ii. 入库信息(入馆时间,入馆数量,经办人)b) 书目2c) 书目3d) 书目n. 出版社信息出版社基本信息(名称、地点、标志、联系方式等),其中联系方式包括:电话、网址、传真、email等联系方式。出版社主要出版图书信息(书目类型、出版方向,丛书名称 管理员信息(编号、姓名、联系方式、管理的范围)1.2. 设计要求针对该XML文件,画出其相应的树状结构图。针对所编写的XML文件,编写其相应的DTD文件 ,并使用解析器验证其有效性,对验证结果抓图。针对所编写的XML文件,编写合适的XSL文件,将书目基本信息打印成表格,并用IE浏览器进行浏览并截图。使用JAVA编程语言,对XML文件进行解析: 显示该xml文件的所有节点、属性的名字; 同时显示该xml文件所有标记的文本数据; 计算书的平均单价并进行输出。要求:xml文件中应该包括文本内容、标记、属性、命名空间,混合标记等的内容dtd文件应该有相应的结果抓图xsl文件应用到规范中的常用技巧,例如模板调用、for-each、value-of、xsl标记等。解析器结果应该有抓图。形成的代码交老师验证。302. 需求分析2.1. 系统功能需求2.1.1. 书目单内容书目单包括图书馆基本信息,书目(书目1,书目2,书目n),出版社信息,管理员信息。图书馆基本信息。书目。出版社信息。管理员信息。2.1.2. 书目单规范性及有效性检查XML文件按照要求组织数据合理,并通过规范性检查。DTD文件按照要求编写,并通过有效性检查。XSL文件按照要求显示正确。JAVA文件达到要求,正确显示结果。2.2. 总体E-R图总体E-R图,如图2-2-a所示:学生管理员图书借阅姓名性别用户密码班级学号图书名称编号价格类别n.姓名编号管理范围联系方式职称管理图书名称图书号借还时间管理员密码管理员帐号图2-2-a总体E-R图图书馆E-R图,如图2-2-b所示:图书馆图书馆名字地点容量开放时间图2-2-b书目E-R图,如图2-2-c所示:书目书籍名称单价ISBN书目类别作者书籍编号人馆时间入馆数量经办人图2-2-c出版社E-R图,如图2-2-d所示:出版社名称地点标志联系方式图2-2-d管理员E-R图,如图2-2-e所示:管理员姓名编号联系方式管理范围2-2-e2.3. 数据流图及描述1数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。2数据的一致性与完整性由于系统的数据是共享的,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。顶层数据流图顶层数据流图,如图2-3-a所示:学生管理员图书馆管理系统图书订阅信息借阅信息符合借阅?图2-3 -a顶层数据流图顶层数据流图只是粗略的给出整个系统的数据流情况。为了更好的把“图书馆管理系统”中各个模块的具体数据流处理细节表示出来,可以在顶层图的基础上自顶向下继续分解,得到1层和2层数据流图。1层数据流图1层数据流图,如图2-3-b所示:学生学生借书取书学生信息借阅信息借阅信息2-3 -b 1层数据流图2层流程图2层数据流图,如图2-3-c所示:学生学生1.1提出借阅1.2前台扫描2.3打印借阅单2.1 核对借阅信息学生信息借阅信息通知,借阅信息借阅信息图书借阅信息2-3-C 2层数据流图借阅细化图借阅细化图,如图2-3-d所示:1.11学生及图书信息录入1.14学生管理1.12图书管理113借阅安排学生信息学生及借阅信息借阅信息学生基本信息表学生基本信息图书信息图书信息通知和借阅记录2-3-d 借阅图书细化图出票细化图出票细化图,如图2-3-e所示:2.2借阅2.1核对 借阅借阅记录借阅信息学生借阅信息正确图2-3-e 借阅单细化图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文件源代码 重庆科技学院图书馆 F117 10000 8:00-22:00 XML程序设计25.00078-7-302-20649-1程序设计张越平 耿祥义TP-2312008/01/0910王东 Java程序设计32.00078-7-302-20649-2程序设计叶亚核TP-2322008/01/0920王东 网页制作技术35.00078-7-302-20649-3网站制作赵伟 胡静TP-2352010/01/0920李铭 清华大学出版社北京京字00860089123-2323-3232TingH自动化工业计算机科学技术计算机科学 1230王路 图书馆1楼 4.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 TestValidate public static void main(String args) String fileName=null; try Scanner reader=new Scanner(System.in); 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-a图4-4-2-b相关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. Java语言解析XML文件4.5.1. 图书馆信息解析程序解析出了图书馆的信息,如图4-5-1所示:图4-5-14.5.2. 书目信息解析程序解析出了书目信息,如图4-5-2所示:图4-5-24.5.3. 出版社信息解析:程序解析出了出版社的信息,如图4-5-3所示:图4-5-34.5.4. 管理员信息显示及计算图书的平均价格:该程序满足了题目规定的要求,对图书进行平均价格计算:如图4-5-4所示:图4-5-44.5.5. 类结构显示:该图反映了用Java语言构造类DomTest和类GiveData对book.xml文件的解析。如图4-5-5所示:图4-5-54.5.6. 解析代码:import org.w3c.dom.*;import javax.xml.parsers.*;import java.io.*;public class DomTest public static void main(String args) GiveData give=new GiveData();tryDocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();DocumentBuilder domParser=factory.newDocumentBuilder();Document document=domParser.parse(new File(book.xml);NodeList nodelist=document.getChildNodes();give.output(nodelist);System.out.print(图书的平均价格:+give.average/give.m);catch(Exception e)System.out.println(e);class GiveDatadouble average=0,m=0;/String mess; public void output(NodeList nodelist)/递归调用 int size=nodelist.getLength(); for(int k=0;ksize;k+) Node node=nodelist.item(k); if(node.getNodeType()=Node.TEXT_NODE) Text textNode=(Text)node; String content=textNode.getWholeText(); System.out.print(content); Element parent=(Element)textNode.getParentNode(); boolean boo=(parent.getNodeName().equals(单价); if(boo=true) / content=textNode.getWholeText(); average=average+Double.parseDouble(content
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年部编版初中历史全6册知识记忆口诀
- 农业领域新质生产力探索
- 航空餐饮服务教学课件
- 2025年河南工勤一级技师护理员考试试题(附答案)
- 商业计划书制作模板适用于初创企业
- 2025年初中历史特岗教师招聘面试模拟题及答题思路解析
- 2025年金融风险管理师考试要点与模拟试题集
- 2025年自然资源和规划局公开招聘考试试题集与答案解析
- 2025年物资仓库财务管理知识模拟题集及答案
- 布鲁氏菌知识培训小结课件
- 留疆战士考试题库及答案
- oh卡牌理论-课件
- 经典分镜教程-电影分镜头画面设计机位图设计课件
- 合同工期管理台账
- 赏识你的学生
- 心衰病患者护理查房课件
- TSG11-2020 锅炉安全技术规程
- 哲学导论(完整版)
- 合成孔径雷达
- 金属封闭母线
- 北师大版数学四年级下册全册教案设计
评论
0/150
提交评论