xml大作业图书馆xmldtdxslxsd有效性检测算平均值.docx
《xml大作业图书馆xmldtdxslxsd有效性检测算平均值.docx》由会员分享,可在线阅读,更多相关《xml大作业图书馆xmldtdxslxsd有效性检测算平均值.docx(37页珍藏版)》请在冰豆网上搜索。
xml大作业图书馆xmldtdxslxsd有效性检测算平均值
信息工程学院
2013-2014-1学期
XML技术与应用课程大作业
专业:
计算机科学与技术
班级:
11计科1本
学生姓名:
沈维洁夏振凯王伟
学号:
21、34
26
2013年12月
XML技术与应用大作业分组报名表
项目名称
基于XML的图书馆信息系统设计与实现
项目功能
XML作为数据存储格式,已经渗透到了Internet和其他各个领域。
结构文档XML的信息交换、提取、处理、查询的研究也日益受到重视。
以XML文档作为存储数据的手段,可以很好地解决Web上的数据表达问题,同时利用数据绑定可以很容易地创建和维护XML文档。
XML文档将成为数据交换和共享的通用平台。
正是鉴于XML的良好特点,某图书馆拟使用XML文件制定一个书目单,该文档描述其图书馆内的所有书目信息
团队成员
姓名
性别
年级
院、系、专业
学号
备注
女
11
计算机科学与技术
21
男
11
计算机科学与技术
34
男
11
计算机科学与技术
26
指导教师
研究
方向
软件设计
职称
副教授
团队
联系
方式
联系人
姓名
联系电话
42
邮件
地址
邮编
100091
1系统概述
1.1.设计内容
某图书馆欲模拟使用XML文件建立一个书目单描述图书馆的所有书目信息。
选择合适的编译器,编写一个XML文件,文件包括如下信息:
1该图书馆的基本信息:
图书馆的名字、地点,容量,开放时间等。
(1)书目
书目1
书目基本信息(书籍名称、单价、ISBN、书目类别、作者、书籍编号)
入库信息(入馆时间、入馆数量、经办人)
书目2
书目3
……..
书目N
2出版社信息
出版社基本信息(名称、地点、标志、联系方式等),其中联系方式包括:
电话、网址、传真、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-2
4.1.3.书目展开(部分截图显示)
如图4-1-3所示:
图4-1-3
4.1.4.管理员展开
如图4-1-4所示:
图4-1-4
4.1.5.书目XML文件源代码及截图
DOCTYPE书目单SYSTEM"">
<书目单>
<图书馆>
<图书馆名字>宁波大红鹰图书馆图书馆名字>
<地点>F1地点>
<容量>10000容量>
<开放时间>8:
00-22:
00开放时间>
图书馆>
--书目(书籍名称,单价,ISBN,书目类别,作者,书籍编号)-->
<书目>
<书目基本信息>
<书籍名称>XML程序设计书籍名称>
<单价>单价>
078-7-302-20649-1
<书目类别>程序设计书目类别>
<作者>张越平耿祥义作者>
<书籍编号>TP-102书籍编号>
书目基本信息>
<入库信息>
<入馆时间>2013/12/12入馆时间>
<入馆数量>10入馆数量>
<经办人>沈维洁经办人>
入库信息>
书目>
<书目>
<书目基本信息>
<书籍名称>操作系统书籍名称>
<单价>单价>
978-7-5606-0496-1
<书目类别>程序设计书目类别>
<作者>汤小丹梁红兵作者>
<书籍编号>TP-332书籍编号>
书目基本信息>
<入库信息>
<入馆时间>2012/12/13入馆时间>
<入馆数量>20入馆数量>
<经办人>王伟经办人>
入库信息>
书目>
<书目>
<书目基本信息>
<书籍名称>Android移动应用设计与开发书籍名称>
<单价>单价>
978-7-
<书目类别>网站制作书目类别>
<作者>黄宏程胡敏作者>
<书籍编号>TP-235书籍编号>
书目基本信息>
--入库信息-->
<入库信息>
<入馆时间>2013/12/23入馆时间>
<入馆数量>20入馆数量>
<经办人>夏振凯经办人>
入库信息>
书目>
--出版社(出版社基本信息*,主要出版方向*)-->
<出版社>
--出版社(出版社基本信息*,主要出版方向*)-->
<出版社>
--出版社基本信息(出版社名称,出版社地点,标志,联系方式)-->
<出版社基本信息>
<出版社名称>宁波大红鹰出版社出版社名称>
<出版社地点>北京出版社地点>
<标志>京字008标志>
<联系方式>
<电话>123678电话>
<网址>网址>
<传真>传真>
联系方式>
出版社基本信息>
--主要出版方向(书目类型,出版方向,丛书名称)-->
<主要出版方向>
<书目类型>自动化工业书目类型>
<出版方向>计算机科学技术出版方向>
<丛书名称>计算机科学丛书名称>
主要出版方向>
出版社>
--管理员(编号,姓名,管理范围,联系方式)-->
<管理员>
<编号>3214编号>
<姓名>沈维洁夏振凯王伟姓名>
<管理范围>图书馆1楼管理范围>
<联系>
<管理员电话>666666管理员电话>
<手机>手机>
联系>
管理员>
书目单>
4.2.XML文件的编写与规范性检查
检查有效性通过如图4-2
图4-2
4.3.DTD文件编写与规范性检查
import.*;
importclassTest_YouXiaoXing{
publicstaticvoidmain(Stringargs[]){
StringfileName=null;
try{Scannerreader=newScanner;
"夏振凯沈维洁王伟小组XML");
"请输入您要验证有效性的XML文件的名字:
");
fileName=();
DocumentBuilderFactoryfactory=();
(true);
DocumentBuilderdomParser=();
MyHandlerhandler=newMyHandler();
(handler);
Documentdocument=(newFile(fileName));
if==null)
"文件是有效滴!
");
else
"文件不是有效滴!
");
}
catch(Exceptione){
}
}
}
classMyHandlerextendsDefaultHandler{
StringerrorMessage=null;
publicvoiderror(SAXParseExceptione)throwsSAXException{
errorMessage=();
"一般性错误:
"+errorMessage);
}
publicvoidfatalError(SAXParseExceptione)throwsSAXException{
errorMessage=();
"致命性错误:
"+errorMessage);
}
}
4.3.1.DTD文件
ELEMENT书目单(图书馆,书目*,出版社*,管理员*)>
ELEMENT图书馆(图书馆名字,地点,容量,开放时间)>
ELEMENT图书馆名字(#PCDATA)>
ELEMENT地点(#PCDATA)>
ELEMENT容量(#PCDATA)>
ELEMENT开放时间(#PCDATA)>
ELEMENT书目(书目基本信息,入库信息)>
ELEMENT书目基本信息(书籍名称,单价,ISBN,书目类别,作者,书籍编号)>
ELEMENT书籍名称(#PCDATA)>
ELEMENT单价(#PCDATA)>
ELEMENTISBN(#PCDATA)>
ELEMENT书目类别(#PCDATA)>
ELEMENT作者(#PCDATA)>
ELEMENT书籍编号(#PCDATA)>
ELEMENT入库信息(入馆时间,入馆数量,经办人)>
ELEMENT入馆时间(#PCDATA)>
ELEMENT入馆数量(#PCDATA)>
ELEMENT经办人(#PCDATA)>
ELEMENT出版社(出版社基本信息*,主要出版方向*)>
ELEMENT出版社基本信息(出版社名称,出版社地点,标志,联系方式)>
ELEMENT出版社名称(#PCDATA)>
ELEMENT出版社地点(#PCDATA)>
ELEMENT标志(#PCDATA)>
ELEMENT联系方式(电话,网址,传真,E-Mail)>
ELEMENT电话(#PCDATA)>
ELEMENT网址(#PCDATA)>
ELEMENT传真(#PCDATA)>
ELEMENTE-Mail(#PCDATA)>
ELEMENT主要出版方向(书目类型,出版方向,丛书名称)>
ELEMENT书目类型(#PCDATA)>
ELEMENT出版方向(#PCDATA)>
ELEMENT丛书名称(#PCDATA)>
ELEMENT管理员(编号,姓名,管理范围,联系)>
ELEMENT编号(#PCDATA)>
ELEMENT姓名(#PCDATA)>
ELEMENT管理范围(#PCDATA)>
ELEMENT联系(管理员电话,手机)>
ELEMENT管理员电话(#PCDATA)>
ELEMENT手机(#PCDATA)>
4.4.关联xsl文件并显示相应的信息
4.4.1.图书馆信息显示
如图4-4-1所示:
图4-4-1
相应的代码
stylesheetversion=""xmlns:
xsl=""xmlns:
fo="">
templatematch="/">
--
ThisisanXSLTtemplatefile.Fillinthisareawiththe
XSLelementswhichwilltransformyourXMLtoXHTML.
-->
图书馆信息
|
名称
地点 | 容量 | 开放时间 |
value-ofselect="书目单/图书馆/图书馆名字"/>
value-ofselect="书目单/图书馆/地点"/>
|
value-ofselect="书目单/图书馆/容量"/>
| value-ofselect="书目单/图书馆/开放时间"/>
|
template>
stylesheet>
4.4.2.书目信息显示
如图4-4-2所示:
图4-4-2
相关XSL代码
stylesheetversion=""xmlns:
xsl="">
templatematch="/">
书目信息
apply-templatesselect="书目单/书目"/>
template>
templatematch="书目">
书籍名称 |
单价 | ISBN | 书目类别 | 作者 | 书籍编号 | apply-templatesselect="书目基本信息"/>
入馆时间 |
入馆数量 | 经办人 | apply-templatesselect="入库信息"/>
template>
templatematch="书目基本信息">
value-ofselect="书籍名称"/>
value-ofselect="单价"/>
value-ofselect="ISBN"/>
value-ofselect="书目类别"/>
value-ofselect="作者"/>
value-ofselect="书籍编号"/>
template>
templatematch="入库信息">
value-ofselect="入馆时间"/>
value-ofselect="入馆数量"/>
value-ofselect="经办人"/>
template>
4.4.3.出版社信息显示
出版社信息表,如图4-4-3所示:
图4-4-3
相关代码:
stylesheetversion=""
xmlns:
xsl="">
templatematch="/">
出版社信息
|
出版社基本信息
主要出版图书
|
出版社名称
出版社地点
标志
联系方式
书目类型
出版方向
丛书名称
|
value-ofselect="书目单/出版社/出版社基本信息/出版社名称"/>
| value-ofselect="书目单/出版社/出版社基本信息/出版社地点"/>
| value-ofselect="书目单/出版社/出版社基本信息/标志"/>
| value-ofselect="书目单/出版社/出版社基本信息/联系方式/电话"/> value-ofselect="书目单/出版社/出版社基本信息/联系方式/网址"/> value-ofselect="书目单/出版社/出版社基本信息/联系方式/传真"/> value-ofselect="书目单/出版社/出版社基本信息/联系方式/E-Mail"/> | value-ofselect="书目单/出版社/主要出版方向/书目类型"/>
| value-ofselect="书目单/出版社/主要出版方向/出版方向"/>
| value-ofselect="书目单/出版社/主要出版方向/丛书名称"/>
|
template>
stylesheet>
4.4.4.管理员信息显示
管理员表信息,如图4-4-4所示:
图4-4-4
相应的XSL代码:
stylesheetversion=""xmlns:
xsl="">
templatematch="/">
--
ThisisanXSLTtemplatefile.Fillinthisareawiththe
XSLelementswhichwilltransformyourXMLtoXHTML.
-->
管理员信息
|
编号 | 姓名 | 联系方式 |
展开阅读全文
相关搜索
|