面向对象数据库Xindice的应用系统毕业设计说明书.doc_第1页
面向对象数据库Xindice的应用系统毕业设计说明书.doc_第2页
面向对象数据库Xindice的应用系统毕业设计说明书.doc_第3页
面向对象数据库Xindice的应用系统毕业设计说明书.doc_第4页
面向对象数据库Xindice的应用系统毕业设计说明书.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

浙江工业大学本科毕业设计说明书(论文)本科毕业设计说明书(论文)题目: 面向对象数据库xindice的应用系统 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 面向对象数据库xindice的应用系统摘 要xml文档是以文本形式来描述的,它的自描述性使之非常适用于不同应用间的数据交换。为了交换xml的业务数据,就必须把xml文档存储在数据库中,并且把它和应用程序结合起来。xml一开始就建构在unicode之上,具有世界通用性,本地化的xml数据处理具有广阔的发展前景。论文中提到的演示系统是指校园信息管理系统。它是基于browser/server(浏览器/服务器)架构的。系统采用的数据库是用于存储xml文档的典型开放源码数据库xindice;采用了xml数据库查询技术xpath,xml数据库更新技术xupdate,xml文档转换技术xlst,以及jsp、servlet技术等;以tomcat作为web服务器。系统实现了校园信息管理中的常见功能,系统管理员可以对学生信息、教师信息、班级信息进行管理,也可以进行课程设置。系统使用者学生可以查看个人信息,可以进入选课系统进行选课,也可以修改个人账户。系统使用者教师可以查看个人信息,可以修改个人账户,也可以申请开设课程。演示系统实现了校园信息管理中的简单操作,系统利用面向对象数据库xindice以集合的方式来管理xml文档,而校园信息就存储于xml文档中;系统将我们常见的表之间的关系映射到xml的描述文档结构中,实现了面向对象数据库中的数据的级联删除操作。随着xml技术的发展,xml同数据库的结合将会实现更强大的功能,本应用系统具有一定的参考价值。关键字:xindice, xml, xpath, xupdate, xlstapplication system based on object-oriented database xindiceabstractxml is a file format which is described in text format. it is self-descriptive and very suitable for data exchange among different applications. to exchange xml business data, xml data should be stored in database, and they are often combined with applications. xml document is based on unicode, which is world-universal. xml data processing on relationship is a promising approach.the demo system for campus information management is based on browser/server (b/s) structure. the database of the campus information system is a typical open source database that is used to store xml document; xml database query technology - xpath, xml database update technology - xupdate, xml documents conversion technology xlst, jsp and servlet technology are implemented in the management system; and the system is hosted on tomcat as the application server.the system has realized common features for the management of campus information. the system administrator can manage student information, teacher information and class information, course information as well. student, one type of system users, is able to view personal information and enter into the elective system of course selection to do some operation such as select course operation. the student can also modify individual account. teacher, another type of system users, can retrieve personal information and modify individual accounts and can also apply for a new course. the manage system has also realized some simple operation in the campus information management. the xindice database is applied in the management system to store and manage the xml document in the way of collection and campus information is stored in the xml document. the system realizes mapping of the relations between tables and xml document structure and realize the operation of cascade of data deletion in the object-oriented database. with the development of xml technology, the combination between xml and database will be achieved with more powerful features, this application has some reference value.key words: xindice, xml, xpath, xupdate, xlst 目 录摘 要1abstract3第一章绪论11.1项目背景11.2研究现状21.3研究开发的目标和基本内容31.3.1研究开发的目标31.3.2研究开发的基本内容41.4论文概要说明5第二章应用技术概论72.1xindice数据库72.1.1xindice数据库简介72.1.2xindice系统结构82.1.3xindice存储实现方案82.2apache tomcat服务器92.3xml查询技术xpath92.3.1xpath介绍92.3.2xindice数据库对xpath的支持102.4xml更新技术xupdate122.5xml转换技术xslt15第三章演示系统介绍173.1系统整体架构173.2系统数据存储193.2.1数据库表设计193.2.2数据库表到xml文档结构的映射213.3系统数据流程26第四章技术应用324.1xindice数据库的搭建324.1.1搭建前的准备工作324.1.2安装xindice数据库334.1.3测试xindice数据库334.2xpath的应用344.2.1连接xindice数据库344.2.2处理xpath的结果集354.3xupdate的应用374.3.1xindice提供的xupdate接口374.3.2利用xupdate增加数据374.3.3利用xupdate删除数据384.4xlst的应用404.4.1动态生成xml404.4.2编写xsl样式表414.4.3xml中调用xslt424.5数据库查询分析43第五章总结45参考文献47致谢49附录50附录1 毕业设计文献综述50附录2 毕业设计开题报告50附录3 毕业设计外文翻译(中文译文与外文原文)50浙江工业大学本科毕业设计说明书(论文)第一章 绪论1.1 项目背景面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。对象关系映射(object relational mapping,简称orm1)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,orm是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形,这也同时暗示着额外的执行开销。目前流行的orm产品有apache ojb2、hibernate等。随着现代社会的发展,许多新的复杂的结构开始涌现如生物高分子等,关系数据库在处理这类复杂结构时已显得非常吃力,xml就非常适合处理这类复杂的结构。因为xml的最大优点是它对数据描述和数据传送能力,具备很强的开放性3。apache xindice4是一种本地xml数据库,可以在该数据库中保存、查询和修改xml文档。与关系数据库相比,本地数据库的优点是无须将xml映射到sql。该数据库使用xpath查询xindice数据库,使用xml:db xupdate来更新数据库。xindice实现了java xml:db api,用于在xindice数据库中添加、查询和更新xml文档。xindice数据库中的xml文档保存在集合中;一个集合可以包含一个或多个xml文档。xindice还提供一种命令行工具,该工具具有与xml:db api相同的功能。利用xml文档存储结构化的数据,在xindice中以集合的方式存储xml文档,可以实现一个小型的应用系统。演示系统中没有用到常见的关系数据库如:sql server、oracle,而是用到了xml数据库xindice,它直接存储xml文档,不存在映射的问题。由于使用了xml,又增强了数据表现力。1.2 研究现状目前xml数据库产品主要有db2 9,basex,ozone,myxmldb,exist,xindice。ibm db2 9作为第一个混合型的数据库服务器,它可以处理关系型数据同时也可以处理xml数据。特别是对 xml 数据的支持,可以说是数据库发展史上的一个重要里程碑;db2 9混合型数据库引擎可为在数据库中同时存储关系数据和 xml数据提供灵活性和高性能,因为数据库管理系统在每一个层面(从客户端到引擎,再到磁盘)都能很好的了解和支持这两种数据模式。xml数据继承了db2为关系数据提供的相同的备份与恢复、优化、可伸缩性和高可用性。db2 9对xml独特支持,保证了xml数据与生俱来的层次结构和灵活性模式,大大增强了企业适应信息变化的能力,提高了企业随需应变的水平。关系型与层次型数据的混合处理能力使企业信息的无缝集成成为可能。通过一个访问请求就可以同时支持关系型数据以及xml数据,从而大大提高生产效率。basex是一个xml数据库,用来存储紧缩的xml数据。它提供了高效的xpath和xquery的实现,还包括一个前端操作界面。basex 6.0实现了完整的xquery update规范、100%达到w3c的测试要求。引入一个增强的客户端服务器的体系架构,基于acid安全事务、用户和密码管理、事务日志等。扩展了xquery的全文特性、支持tf/idf排名、停止词列表和模糊查询。使用固定内存来提升了索引创建过程,改进了索引的结构和迭代查询处理。ozone是一个面向对象的数据库管理系统,完全用java实现ozone项目的目的是让开发者可以构建一个纯面向对象、纯java的数据库应用程序。ozone可以用来存储xml文档,可以用任一个xml工具来访问这些数据。myxmldb是一个在mysql上实现的xml数据库。它以blob形式存储文档,可以多达256m大小的文档。它支持xpath和xquery,并提供了xml的java实现xml:db api,具有图形用户界面。exist是一个开源的native xml数据库。它有依据索引的xquery处理程序,可以自动进行索引,扩展的全文本搜索,xupdate支持并且它与现存的xml开发工具可以紧密的结合在一起。exist-db支持很多网络技术标准,使它成为开发web应用程序的优秀平台。它支持xquery 1.0、xpath 2.0、xslt 1.0(using apache xalan)和xslt 2.0。xindice数据库起源于dbxml数据库。dbxml数据库是第一个开放源码的native-xml数据库。该项目在1999年7月启动,由tom bradford发起,kimbro staken负责管理。在2001年并入apache开放软件联盟并更名为xindice,现今xindice 数据库已是世界上最广泛使用的数据库之一5。现在xindice官方发布的稳定版本为v1.1,v1.2是一个开发中的版本。xindice是native-xml数据库。文档分为以数据为中心的文档和以文档为中心的文档6。native-xml数据库的观点认为在数据库中应当以xml原始的格式存取xml文档,数据库内部的数据模型是依据xml特性建立的7。native-xml数据库是一种专门的保存、检索和处理文档的数据库,它支持文档的结构,因此能保留它们的数据层次结构和意义8。当前xml文档的基本存储方式9可分为3类:文件系统、存储管理器和数据库管理系统。第3种更有效的存储方式是使用数据库管理系统来管理xml数据。根据数据库管理系统的不同,这种存储方式又可以分为基于关系的xml数据库系统、面向对象的xml数据库系统和“原生(native)”的xml10。xindice数据库既是面向对象数据库,又是原生xml数据库。当前xml主要应用领域体现在4个方面:企业间电子商务,知识管理,文档管理,实现企业的自动化处理11。xml具有如此广泛的应用,而xindice又是用于存储和管理xml文档的面向对象数据库,xindice必将有良好的发展前景。集成xquery功能的xindice数据库12在近几年也被设计出来,使用xindice数据库来查询xml数据变得更加容易。1.3 研究开发的目标和基本内容1.3.1 研究开发的目标在当前互联网络和xml技术如此发达的基础上,本系统拟在研究类似应用系统的设计实现上,提出自己的设计实现。作为数据表示的一个开放标准,xml语言给web应用乃至网络计算注入了新的活力13。网络发展的同时,xml技术也在发展。基于xml/web服务的跨平台的分布式技术给电子商务的系统构建、系统部署以及数据集成等带来了许多新的思路和挑战14。用于处理xml的数据库技术也显得尤为重要。xpath是一门在xml文档中查找信息的语言。xpath可用来在xml文档中对元素和属性进行遍历。xpath是w3c xslt标准的主要元素,并且xquery和xpointer同时被构建于xpath表达之上15。因此,xpath是很多高级xml应用的基础。xslt指xsl转换(xsl transformations),它使用xpath在xml文档中进行导航。xslt是xsl中最重要的部分。xslt用于将一种xml文档转换为另外一种xml文档,或者可被浏览器识别的其他类型的文档,比如html和xhtml。通常,xslt是通过把每个xml元素转换为(x)html元素来完成这项工作的。通过xslt,可以向输出文件中添加或移除元素和属性,也可以重新排列元素,执行测试并决定隐藏或显示哪个元素,等等。描述转化过程的一种通常的说法是,xslt把xml源树转换为xml结果树16。native-xml数据库是一种专门的保存、检索和处理xml文档的数据库,它支持xml文档的结构。xindice是一个java公开源代码的native-xml数据库17,它支持xml文档结构,能够保存xml数据的层次结构和意义。本应用系统的研究目标定位于利用xml一些常用技术和xindice数据库来实现一个小型的演示系统;将存储系统信息的xml文档存于xindice数据库中;应用xml中的一些关键技术如xlst、xpath、xupdate来对xml文档进行操作;将系统中对象之间的关系映射到xml文档结构中,即通过文档节点中的相关信息进行关联;利用xlst对同一个xml文档进行多种显示;对xml文档的查询结果进行排序显示;通过xpath查询xml文档获得系统重要数据信息、验证重要节点的存在,通过xupdate来更新xml文档节点,包括对节点的增加、修改和删除操作,利用相关信息节点的匹配来实现关系数据库下的数据级联删除操作。整个演示系统的使用就如使用关系数据库那样,能够很方便地对数据进行操作。此信息管理系统的开发,是为了探讨一种新的解决问题的方法,为将来的研究开发做铺垫。1.3.2 研究开发的基本内容 n xindice数据库的搭建u 搭建前的准备工作u xindice数据库的搭建步骤u 搭建完后的数据库测试n xml信息文档的创建和数据库的导入u 系统对象的提取及关系抽取u 将对象之间的关系映射到xml的描述结构中u 将xml文档导入xindice数据库n 查看xindice数据库中的xml文档数据u xpath的应用u xindice数据库中xpath的调用接口u xpath查询语句的研究u xpath查询结果的应用n xupdate的应用u xindice数据库中xupdate的调用接口u xupdate的应用分类u 利用xupdate更新xindice数据库中的xml文档数据n xlst的应用u xlst的转换过程u 利用xlst动态生成html1.4 论文概要说明第一章 绪论。主要介绍研究的背景、研究现状以及研究的目标和意义。对象关系映射(orm)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。使用orm技术将带来额外的执行开销。关系数据库在处理复杂的高分子结构时已显得非常吃力。目前xml数据库产品主要有db2 9,basex,ozone,myxmldb,exist,xindice。信息管理系统的开发,是为了探讨一种新的解决问题的方法,为将来的发展做铺垫。研究开发的基本内容是xindice数据库的使用和各种xml技术。第二章 应用技术概论。主要介绍了演示系统实现过程中用到的关键技术,如系统后台使用的数据库xindice、xml查询技术xpath、xml更新技术xupdate和xml转换技术xlst。第三章 演示系统介绍。主要介绍了演示系统的整体架构、数据存储和数据流程。系统整体架构使用三个角色:管理员、学生、教师的用例图来展示。系统数据存储详细讲到了怎样用xml描述文档来存储关系数据库中的表。第四章 技术应用。详细介绍了演示系统中用到的关键技术,包括各种技术在演示系统中是如何使用的以及为了使用这种技术所做的准备工作。第五章 总结。对整个毕业设计的完成过程做了总结,包括系统中用到技术的介绍和系统存在的不足。 50第二章 应用技术概论本章主要介绍了xindice数据库、apache tomcat服务器和xml的处理技术,包括xpath、xupdate、xlst等xml处理技术的介绍。 2.1 xindice数据库2.1.1 xindice数据库简介xindice数据库起源于dbxml数据库。dbxml数据库是第一个开放源码的native-xml数据库。该项目在1999年7月启动,由tom bradford发起,kimbro staken负责管理。在2001年并入apache开放软件联盟并更名为xindice,现今xindice数据库已是世界上最广泛使用的数据库之一。 xindice数据库有以下特点:文档集合(document collections):文档被存储在可以被作为整体来查询的集合中。在数据库中可以创建只包含相同类型文档的集合,也可以创建一个集合来存储所有的文档。xpath查询引擎:要查询文档集合,可以使用w3c定义的xpath。这提供了相当灵活性的机制,通过定位和限制返回结果树来查询文档。xml索引:为了提高在大量文档上的查询性能,可以定义关于元素和属性值的索引。这可以极大的加速查询响应时间。xml:db xupdate实现:当存储xml到数据库时,或许需要能够在不检索整个文档的情况下改变数据。xupdate是当需要做服务器端的数据更新时使用的机制。这是一种基于xml的语言,确定xml修改并允许这些修改像应用到单个文档一样应用于整个文档集合。java xml:db api实现:对于java程序员xindice提供了一个xml:db api实现。这个api将给xml数据库应用带来可移植性,就像jdbc相对于关系数据库一样。大部分基于xindice开发的应用将使用xml:db api。命令行管理工具:为了帮助系统管理员,xindice提供了一全套命令行驱动的管理工具。所有可以通过xml:db api做的事情,也可以从命令行搞定。xindice的主要特色为小型、实用。作为一个小型的xml文档管理数据库,其主要功能都已俱备,如xml文档的存取、索引、查询、修改、api等。但同非常完善的大型关系数据库相比,它还缺乏强有力的事务处理、并发操作、安全机制等功能5。2.1.2 xindice系统结构xindice服务器是设计用来存储xml文档集合的。集合可以按照层次结构来安排,与典型的unix或windows文件系统相似。在xindice中,数据存储基于一个亦可当文档集合使用的数据库实例。此数据库实例可以包含任意数目的子集合。在xindice的缺省安装情况下,此数据库实例称为“db”,而所有的集合路径以/db开始。如果想要重命名这个数据库实例也是可以的,虽然没有必要这样做。xindice数据库服务器可分为三层,分别为核心层、服务层和接口层,如图2.1所示。表2.1 xindice数据库系统结构图接口层command tool xml:db api corba服务层dom jaxp sax server核心层store indexer object query filer xupdate xpath在表2.1中,核心层实现数据库的基本功能,包括数据类型、b+树索引、对象管理、xpath查询、xupdate数据修改等。服务层实现作为xml数据库服务器应该具有的一些功能,如:dom、jaxp、sax、服务器组件等。接口层实现外界与xindice数据库进行数据交换和控制的接口,支持corba、xml:db api、xml-rpc、http、命令行管理等。系统还未实现图形用户界面下的数据库管理操作。2.1.3 xindice存储实现方案xindice数据库存储的基本概念是集合和资源。资源通常指xml文档,但也可以是一般文本或一段二进制代码。集合是包含资源的容器。这两个概念类似于关系数据库的表和记录,多个记录组成一张表,多个文档组成一个集合,多个表形成一个数据库,多个集合也构成一个数据库。但有两点不同,其一在于同一张表中的记录格式均一样,但同一集合中可以包含完全不同的文档;其二表与表是平等的,但集合可以是层次结构配置。集合的层次结构配置是指母集合下可有数个子集合,子集合下可有孙集合,这类似于文件系统。文档以压缩方式存入集合,集合以文件形式写入磁盘。对集合中的文档存取采用两种方式,一种是按名存取,另一种是按索引存取,即对元素和属性索引后,查询到该元素或属性后,将整个文档取出5。从外部可用两种方式对数据库进行操作,一种是命令行语言,另一种是xml:db api,即应用程序接口。2.2 apache tomcat服务器apache是世界上使用排名第一的web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用18。tomcat服务器是一个免费的开放源代码的web应用服务器,是sun公司的jsp/servlet的官方实现。它本身也可以作为独立万维网服务器使用,但它不以处理静态文件见长,所以一般都当作一个jsp/servlet引擎与其他web服务器软件配合使用19。因为tomcat技术先进、性能稳定,而且免费,因而深受java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的web应用服务器。2.3 xml查询技术xpath2.3.1 xpath介绍xpath是一门在xml文档中查找信息的语言。xpath可用来在xml文档中对元素和属性进行遍历。xpath是w3c xslt标准的主要元素,并且xquery和xpointer同时被构建于xpath表达之上。因此,xpath是很多高级xml应用的基础。xpath 1.0于1999年11月16日成为w3c推荐标准,xpath 2.0是在2007年1月23日被确立为w3c推荐标准。但在当前的浏览器中xpath 2.0是不被广泛支持的。xml在描述数据的定义和结构方面非常灵活、方便、高效,但它不能提供一种手段让用户定位到xml文档中结构化数据的指定位置。例如,一个存储了学生数据的xml文档,要想在其中找到某个学生的数据,如果没有其他的帮助,就要对每一个元素进行搜索,对于一个非常大的xml文档来说,这种搜索方法不仅效率低,而且极容易出错。xml路径语言(xpath)提供了一种语法,它可以非常高效地定位xml文档中的各个部位,选择文档的各组成成分,如元素、属性、内容等。xpath不像xml那样的结构化语言,它是基于字符串的表达式语言。主要用于其他的xml技术,例如xsl的一些元素的select/match/test等属性通常把xpath表达式当作属性值。2.3.2 xindice数据库对xpath的支持xindice支持xpath查询语言。查询可以通过客户端应用程序进行,也可以通过命令行的方式。在许多应用程序中,xpath只被应用在文档级别上而xindice数据库中的xpath查询应用在集合的级别上。这就意味着一次查询可以执行在多个文档上并且查询的结果集中也包含集合中多个文档的匹配节点。xindice数据库也支持在常用的xpath查询上创建索引来加速查询。xpath查询文档的实例存储在xindice数据库中的/db/addressbook集合下,其文档结构描述如下。图2.1 xml实例以下查询均基于图2.1的xml实例。xpath查询可以分为以下几类:(1) 查询整个xml文档查询语句:xindice xpath c /db/addressbook q “/personphone/type=cell”;执行结果:图2.2 xpath查询一个文档的结果(2) 查询一个元素查询语句:xindice xpath c /db/addressbook q “/person/phonetype=cell”;执行结果:图2.3 xpath查询一个元素的结果(3) 查询一个文本节点查询语句:xindice xpath c /db/addressbook q “/personfname=john/phone/text()” ;执行结果:图2.4 xpath查询一个文本节点的结果(4) 查询一个字符串查询语句:xindice xpath c /db/addressbook q “string (/personfname=john/phone)” ;执行结果:图2.5 xpath查询一个字符串的结果(5) 查询一个数字查询语句:xindice xpath c /db/addressbook q “count(/person/phone)” ;执行结果:图2.6 xpath查询一个数字的结果上面的xpath查询语句是用来统计xml文档中的电话号码个数。2.4 xml更新技术xupdatexupdate(xml更新语言xml update language)是一种指令语言,可以通过它来修改xml文档。xupdate定义了用于修改xml文档数据的更新工具。该语言由xml:db小组开发,该小组开发人员的兴趣在于开发xml数据库管理工具。xindice实现了xml:db xupdate机制,以更新xml文档。使用xindice命令xupdate操作更新xml文档分为以下几类:xupdate命令 描述xupdate:insert-after 在选择的节点后添加节点xupdate:update 更新选择节点xupdate:remove 移除选择的节点a) 使用xindice命令添加元素 例如,我们将更新catalog.xml文件,以便将journal元素添加到xml文档中。在xupdate配置文件xupdate.xml中指定了要更新的元素和属性。要添加journal元素的配置文件xupdate.xml如下:aug 2005ibatis daosunil patil使用以下命令更新xml文档:xindice xupdate -cxmldb:xindice:/localhost:8088/db/catalog -n catalog.xml -f c:/xindice/xupdate.xmlxupdate操作指定要更新的xml文档。参数-f指定配置文件xupdate.xml。这将更新xml文档,并显示以下消息:1 documents updatedb) 使用xindice命令删除和修改元素 再如,移除journal元素,并修改另一个journal元素中的title。下面以移除第一个journal元素,并修改第三个journal元素中的title为例。因为在更新第三个journal元素之前,移除了第一个journal元素,所以要更新的journal元素成为第二个journal元素。这时可以使用xupdate:remove移除某一元素和xupdate:update以更新一个元素。下面是用于移除和修改元素的配置文件xupdate.xml:maven with swing使用以下命令更新xml文档:xindice xupdate -cxmldb:xindice:/localhost:8088/db/catalog -n catalog.xml -f c:/xindice/xupdate.xml这将更新xindice数据库中的xml文档。c) 使用xml:db api添加元素 接下来,使用xml:db api更新xml示例文档。作为一个示例,在第三个journal元素后面添加一个journal元素。下面以xupdate字符串指定xupdate命令。string xupdate = + + + + ibatis dao + sunil patil + + + +;使用org.xmldb.api.modules.xupdatequeryservice通过xupdate更新数据库。从要更新的集合中创建xupdatequeryservice对象。使用xupdatequeryservice对象的update()方法更新数据库,如下所示:xupdatequeryservice queryservice =(xupdatequeryservice) collection.getservice(xupdatequeryservice,1.0);queryservice.update(xupdate);d) 使用xml:db api删除元素 类似地,可以使用xupdate:remove命令从数据库中的xml文档移除journal元素。为移除第一个journal元素,可以创建一个xupdate命令string。使用xupdate查询服务更新xml文档:xupdate = + +; queryservice.update(xupdate);e) 使用xml:db api修改元素 接下来,使用xupdate:update命令修改元素。修改第二个journal元素中article的title。此外,下面还使用xupdate查询服务创建一个了xupdate命令string来更新xml文档。xupdate = + + maven with swing +;queryservice.update(xupdate);2.5 xml转换技术xsltxsl指扩展样式表语言(extensible stylesheet language)。xslt指xsl转换,可以利用xslt实现xml文档格式的转换。xslt是xsl规范中的一部分。扩展样式表语言xsl是w3c规范,它包括两个标准:格式和转换。格式标准定义了一系列格式对象的格式语义,转换标准逐渐演变成一种语言,用来自动把一个xml文档转换成其它xml文档。这个语言就是扩展样式表转换语言xslt(extensible stylesheet language for transformations)。xslt作为xml文档到xml文档转换的有力工具,它允许直接处理xml文档的内容。举这样一个例子,一个系统中可能拥有一个巨大的xml文档,它保存最新棒球赛季的全部统计资料,但是另一个系统可能只对投手的统计资料感兴趣,为了取得投手数据,可以用支持xml解析器的编程来提取信息。这种方式可行,但涉及大量的编程任务,xslt就是设计用于解决类似这样问题的。xslt可以由xslt处理器阅读,xslt处理器处理xml文档,程序员需要做的只是创建一个xslt样式单,样式单规定了从一种文档转换成另一种文档的规则。通过xslt处理器实现转换的处理过程分为两步:首先从源文档树中提取数据,根据转换规则构造新类型结构的目标树,即xslt转换;然后目标树经过格式化处理,转换为其它格式输出,即格式化。xslt转换的重要思想是把xml文档视为一种树结构,转换的过程就是从源树生成结果树的过程。xslt转换通常涉及了三个文档20:源文档、目标文档和含有模板规则的文档(即xslt样式表)。xsl处理器负责实现转换过程,如图2.7所示图2.7 xslt转换原理我们可以利用xslt把xml的内容根据需求做不同的显示。第三章 演示系统介绍3.1 系统整体架构学生信息管理系统(即演示系统)主要包括管理员模块、学生模块、老师模块三大模块,每个模块下又包含具体的子模块。管理员模块下包括学生信息管理、教师信息管理、班级信息管理、课程设置、数据库查询分析。学生模块包括查看个人信息、选课系统、修改个人账户。教师模块包括查看个人信息、申请开设课程、修改个人账户。系统总共包括三个角色:管理员、学生、教师。其对应的用例图如下:图3.1 管理员用例图图3.2 学生用例图 图3.3 教师用例图3.2 系统数据存储3.2.1 数据库表设计根据系统需求,需设计九张表,其中包括了系统中各个角色完成相应活动所

温馨提示

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

评论

0/150

提交评论