基于PocketPC移动MIS个人图书管理系统开发.doc_第1页
基于PocketPC移动MIS个人图书管理系统开发.doc_第2页
基于PocketPC移动MIS个人图书管理系统开发.doc_第3页
基于PocketPC移动MIS个人图书管理系统开发.doc_第4页
基于PocketPC移动MIS个人图书管理系统开发.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

基于PocketPC移动MIS个人图书管理系统开发摘要随着科学技术的不断进步,电子产品得到普及,其中以质量小,重量轻,携带方便的掌上电子产品越来越受到人们的关注。从个人电子助理PDA到现在的Pocket PC, Palm PC机,掌上电脑已在社会上各行各业得到了广泛的应用。如何将掌上电脑应用在个人的图书管理中来减少个人的查阅、收集图书的不便,提高效率,是本文的主要研究内容。本文就掌上电脑在个人图书管理上的应用进行了一些探讨,证明了现实性和可行性,并开发了个人图书管理系统。当前,个人图书资源过于庞杂,内容质量参差不齐,许多人利用时常感力不从心,不得要领。包括在PC机上的众多的个人图书管理工具,提供的大都是一个范围较大的、携带不便的工具。它所提供的各种个性化服务,从其原理上讲仍是基于机械性的匹配,难以满足个人的真正需求。本文主要研究基于Pocket PC平台的个人图书管理系统。该系统应用C#进行开发,用XML作为数据存储方式的Pocket PC编程,主要为用户提供用户登录、添加图书、编辑图书、和删除图书等几部分功能对图书进行管理。本图书管理系统主要展示用XML作为数据存储方式的Pocket PC编程,功能模块相对来说比较简单。以此解决了用户为自己临时找资料,收集书籍所带来的烦恼。关键词掌上电脑;Pocket PC; XML;个人图书管理Development of Basing on Pocket PC mobile MIS in Book Management SystemAbstractAlong with the development of science, E-product is getting popular. Potable Palm E-product has attracted more and more attention which is of light weight. From personal assistant E-product PDA to Pocket PC and Palm PC, Palm PC technology has great application in varied aspects. The main content is about how to apply it to personal books management to improve the convenience of individual access and book collection. This article does some research on the Pocket PC in the personal book management application. The practicality and feasibility are proved through efforts and personal book management system is developed.Now, many people are lost in the tremendous book resources whose contents and quality varied a lot. Though many personal book management tools are setup in PC, most of them are large and inconvenient. Through variety of personalized services is provided, basically, they are still based on the mechanical matching; it is difficult to meet the satisfaction of individuals.The article discusses the personal book management system on the Pocket PC platform. The system uses C # for development, XML as a data storage means of the Pocket PC Programming which provided basic functions for users on the book management. For example, a user could login and add, edit or delete books. The book management system uses display XML data storage as a way of Pocket PC programming whose functional module is relatively simple. This solves the problems of the user to research and collect books.Keywords PDA ; Pocket PC; XML; Personal book management不要删除行尾的分节符,此行不会被打印目录摘要IAbstractII第1章 绪论11.1 课题背景11.2 个人图书管理系统的现状及发展趋势11.3 课题的研究意义21.4 论文研究的内容及结构3第2章 个人图书管理嵌入式MIS系统相关技术42.1 Windows CE 概述42.1.1 Windows CE 操作系统42.1.2 Windows CE 特性52.2 XML 技术介绍62.2.1 XML的诞生62.2.2 什么是XML72.2.3 HTML与XML之间的不同72.2.4 XML的优点82.2.5 XML文档92.2.6 XML存取数据的方式102.2.7 XML语法122.3 本章小结16第3章 个人图书管理系统的需求分析和总体设计173.1 个人图书管理系统的总体结构设计173.2 系统的静态视图用例图183.3 系统的动态视图193.3.1 系统各功能模块时序图193.3.2 系统各功能模块协作图223.3.3 系统的状态图233.3.4 系统的活动图243.4 本章小结25第4章 数据文件设计和系统概要设计264.1 数据文件设计264.1.1 ADO.NET简介264.1.2 ADO.NET 核心组件264.1.3 XML 和 ADO.NET274.1.4 本系统应用的XML数据274.2 个人图书管理系统概要设计294.2.1 个人图书管理系统的功能概要294.2.2 个人图书管理系统所属类一览304.2.3 个人图书管理系统的程序流程314.3 接收信息用户登陆324.4 用户选择系统功能334.5 数据处理功能334.6 个人图书管理系统设计应用控件334.7 本系统的类设计344.7.1 DataSet类354.7.2 DataTable类364.7.3 FileInfo类364.7.4 Directory类374.7.5 ListView类374.7.6 ListViewItem类384.7.7 DataRow类384.7.8 DataColumn类384.7.9 OpenFileDialog类394.7.10 SaveFileDialog类394.7.11 XmlTextWriter类394.7.12 LogonForm类404.7.13 EditbookForm类414.7.14 AddbookForm类414.7.15 MainForm类424.8 本章小结42第5章 个人图书管理系统的详细设计和实现435.1 用户登陆窗体的设计和实现435.2 添加图书窗体的设计和实现445.3 编辑图书窗体的设计和实现465.4 主窗体的设计和实现485.5 主窗体中主菜单设计和实现515.6 本章小结54结论55致谢56参考文献57附录58千万不要删除行尾的分节符,此行不会被打印。在目录上点右键“更新域”,然后“更新整个目录”。打印前,不要忘记把上面“Abstract”这一行后加一空第1章 绪论1.1 课题背景当今时代是飞速发展的的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。并且能随身携带又能和计算机之间相互交换信息的移动MIS系统备受人们瞩目,本系统是为了更加方便人们尤其是那些收藏书友们而设计的。随着计算机技术、电子技术、通信技术以及数据传输和采集等技术的发展,集记事本、计算器、电话本、网络、多媒体等功能于一身PDA(PersonalDigitalAssistant),即“个人数字助理”应运而生。它满足了信息社会中人们更方便的获取和处理信息的需求,并以其独特的优点很快成为人们关注的焦点。美国BYTE杂志曾为PDA下过这样的定义:PDA是一个面向广大专业用户的计算和通信设备,它不仅为用户提供可使用的各种通用软件,而且可以使用笔对这些软件进行操作和控制,并且便于携带,适合在各种场合使用。1993年,Apel公司推出了第一台真正意义上的PDANeotwnMesagsPead。它拥有自己的操作系统和应用程序,拥有手写识别功能、一个Modem用于连接Intemet,还有一个红外线接口。同时,它还可以与PC和Mac同步。这款PDA是具有划时代意义的产品。后来由于市场策略失误,Apple公司放弃了Newton项目。在这之后,很多公司都推出自己的PDA产品和专用操作系统,Palm成为其中的佼佼者,他们的Palm0S一直以来都占有一半以上的市场份额。微软公司也相应的推出了Windosw CE系列操作系统与PalmOS抗衡,其最新版本是PocketPC2003。由于习惯于使用Windows 环境的用户比较容易接受WindowsCE,而且Windows 的应用软件开发商也可以方便的将软件移植到WindowsCE,因此Windows CE的应用越来越广泛。厂家在预装了Windows CE之后,将此类产品称为掌上电脑,于是掌上电脑这个词正式出现。掌上电脑是PDA产品中功能最强大的1。1.2 个人图书管理系统的现状及发展趋势在个性化品格张扬的今天,个人图书管理已经在图书管理界悄然出现,并有逐渐风行的趋势。个人图书管理,把选择信息、创造知识和组织知识的自由完全交还给个人,实现了完全的“个人制造”,它是提供真正个性化服务的有效途径。并且现在最流行的是个人数字图书馆.但是它是不能移动,随身携带,不能在有机会时把收集到的书籍及时的记录下来。因而移动的MIS系统的开发是它的发展方向,这样就更加能及时,方便快捷的把收集到的书籍记录下来,使学习的自主性、个性化更为突出。现代掌上电脑的特点包括:体积小、便于随身携带,集通信功能、个人信息处理和计算功能于一体。计算处理能力在60到360MIPS之间,有一定的内部RAM,屏幕显示分辨率320x240 或更高,支持压感式触摸屏、PCMcIA,重量一般小于50克,这些特点决定了它极其适于移动使用2。从功能上看,掌上电脑集成的应用程序有:字处理,电子表格,地址薄,字典,时钟,计算器,游戏等,另外还与PC机进行信息同步的能力,可以通过红外与其它设备进行信息交流和处理工作。掌上电脑的发展有两大趋势:多媒体应用和移动计算。其发展方向是集通讯、信息获取与处理等功能于一体的无线联网设备。这一类将手机与掌上电脑功能集于一身的产品己经出现,本文中所实现的这款便携式系统就是这样一个终端设备。1.3 课题的研究意义e时代的呼唤。历史上,为数不少的私人藏书楼在保存文化典籍、传播文化、辅助培养人才等方面发挥了重大的作用。文献计量学的统计也表明,在作者所引文献中,个人藏书的被引率往往是最高的。基于e时代的网络环境,人们可以从网上下载与自己工作、生活、研究相关的各种信息。但是,信息日积月累,下载的多了,在客观上就需要进行有效的管理。而个人图书管理系统正是实现个人数字化信息收藏和对个人收藏的数字化信息进行管理的工具。个人移动图书管理实现了真正意义上的个性化服务。当前,网上资源过于庞杂,内容质量参差不齐,用户利用时常感力不从心,不得要领。包括公共数字图书馆在内的众多的因特网信息资源检索工具,提供的大都是一个范围较大的、比较粗放的工具。它所提供的各种个性化服务,从其原理上讲仍是基于机械性的匹配,只能说是处于个性化服务的初级阶段,难以满足个人的真正需求。针对以上问题,设计并实现了本个人移动图书管理系统。采用Visual S.2005编程工具,运用面向对象的程序设计思想。基于Windows CE平台,使用C#编程技术,利用XML存储数据,实现了个人图书的管理。解决了用户为自己临时找资料,收集书籍所带来的烦恼。1.4 论文研究的内容及结构本文主要研究基于Windows CE下移动图书管理系统的基本功能和对管理系统的开发过程。本系统应用C#进行开发,用XML作为数据存储方式的Pocket PC编程,主要为用户提供添加图书、编辑图书、和删除图书等几部分功能对图书进行管理。本系统应用新颖的存储方法XML 好处在于克服了 HTML的局限性,易于编辑,易于管理。本论文的内容结构安排如下:第一章“绪论”,简要介绍了个人移动图书管理系统的背景、现状及未来的发展趋势,给出了课题主要研究内容和论文的组织结构。第二章“基于个人图书管理嵌入式MIS系统相关技术”,介绍了本个人移动图书管理系统中涉及到的技术,其中包括Windows CE操作系统,C#程序设计,XML数据存储等技术。第三章“个人移动图书管理系统需求分析及总体结构框架设计”, 了解相关同类产品提供的功能以及现有情况下所提出的新需求,了解图书管理的流程。简要的概述了系统总体的结构框架及功能模块的设计。第四章“数据库设计及概要设计”,本章详细的阐述了本次设计中整个系统的功能和各个功能模块的概要及其内部构成。体现了主要的设计流程,并且详细的解说了数据库的构架。第五章“个人移动图书管理系统详细设计和实现”,本章详细的阐述了各个功能模块的功能接口,细化了系统的内部结构和各模块的功能。结论部分对全文进行了总结。第2章 个人图书管理嵌入式MIS系统相关技术2.1 Windows CE 概述2.1.1 Windows CE 操作系统Microsoft Windows CE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200K的ROM。Windows CE 3.0 提供对ActiveX控件、MSMQ、组件对象模型(COM)接口、活动模板库(ATL)、和微软基础类(FC)库的支持。不论是使用串行口、红外接口还是网络线路,ActiveSync都能为桌面系统和嵌入式设备之间提供方便简单的连接。Windows CE 3.0 内建有对安全性和多媒体的支持,包括DirectXAPI以及包括TCP/IP, SNMP和TAPI在内的通信协议。其他一系列完整的应用程序,比如Pocket Internet Explorer, Pocket Outlook和Pocket Word,可以使你扩展并优化当前的系统,同时也可以扩展你自己的应用程序的功能。Windows CE支持的处理器系列有:MIPS3900/4xxx/52xx(MIPS32), SH3, SH4, 486, Pentium, PPC, ARM, StrongARM等3。Windows CE支持多种外围硬件、设备和网络系统,包括键盘、鼠标、触摸屏、串行端口、以太网连接、调制解调器、通用串行总线(USE)设备、音频设备、并行端口、打印机设备和存储设备(例如PCMCIA-P)。Windows CE. NET是Windows CE 3.0的后继产品。Windows CE. NET为嵌入式市场重新设计,为快速建立下一代智能移动和小内存占用的设备提供了一个健壮的实时操作系统。Windows CE. NET 具备完整的操作系统特性集和端对端的开发环境,他包括了创建一个基本Windows CE 定制设备所需的一切,如强大的联网能力、强劲的实时性和小内存体积占用以及丰富的多媒体和Web浏览功能。在Windows CE. NET中发现了大新增特性和改进特性,其中包括:无线技术,如蓝牙、设备仿真,该特性使用户可以对完整的设备环境进行仿真而无需任何额外的硬件投资;平台向导,使用户可以从众多的预置设备中进行选择,以便跳跃式地开发流程;此外,还有丰富的多媒体和Web浏览功能如Microsoft Internet Explorer 6.0和Windows Media编解码器和控件。这个端对端的工具组能在最新的硬件设备上快速的建立应用程序。2.1.2 Windows CE 特性1适合PDA应用程序开发的嵌入式Windows CE操作系统特性内存需求空间小而整体的效率高。这是一般的嵌入式系统核心基本要求,在PDA上的只读内存(ROM)有限,因此完整的操作系统都会在几百Kbyte以内,加上附加的基本应用程序大小(如输入法、记事本、时钟、同步软件等)大概在1M byte左右,在加入中文字体就另当别论了。良好的省电功能。就像手机一样,PDA上面的电池容量通常不高,能待机越久者越有优势。只要硬件有支持省电功能,则操作系统就可以且应该提供这种服务。与PC的沟通功能。PDA能与外界沟通信息附加值才会高,例如传送address book, E-mail或下载电子书等。为了达到这个目的,大部分会通过串行端口或是红外进行传输。开放应用程序编写环境与动态载入应用程序。动态载入应用程序就是通过与PC的同步传输,将应用程序下载到PDA上。上面介绍的Windows CE显然具备了这几大特性。2中断处理 嵌入式软件开发者可能最关心Windows CE消息的处理规则如何影响外部系统接口时序的。Windows CE通过细心设计和准确的衡量以保证其中断时序以及其它相关特性与嵌入式的系统设计是适用的。嵌入式应用程序经常有时间临界的设备接口需要,需要发现并且在一最小规定的时间之内对设备和系统事件作出反应。为了支持这样应用程序,Windows CE包括高度优化中断传送,优先级和服务系统。在Windows CE内核中,中断处理分成两个明显的部分:中断服务程序(ISR)以及中断服务线索(IST)。这个系统的目的是使ISR尽可能小和快。在硬件的层次上,中断要求(IRQ)线索路与一特定的软件ISR联系,当被触发时,给定的ISR除了通知内核IST的位置外,还做少量操作。一般IST被初始化(尽管没必要完成),系统便准备好接受下一中断并且处理下一中断。每一个中断有一个优先级与他们相联系。Windows CE为确定的线索时序,利用子优先级的时间片段算法4。与每一ISR被联系的IST是正常的线索,因此为IST设置优先级以满足应用程序的时序需要是程序软件开发者的责任。这种将ISR和IST在中断程序中分开处理最终结果是,典型的中断等待时间被大大地减少了,在中断程序中发生不可接受的延迟的可能性也大大减少。3Windows CE 的存储结构像其它的32位Windows平台一样,Windows CE操作系统也有虚拟内存的特性。内存总在某一时间被分配给应用程序一页,页的大小由系统设计者决定(并在操作系统为目标硬件平台创建时被指定)。例如在手持电脑(PDA),内存大小是典型的1KB或者4KB。在初始化期间(导入),Windows CE创造一个独立的被所有程序共享的4GB虚拟地址空间。当程序引用一个虚拟地址时,它被内核记录在物理的内存上。这使得应用序软件开发者不必去考虑目标系统内存的物理的布局。虽然所有程序共享单一地址空间,但是应用程序可避免相互误用。Windows CE通过改变每页的保护来保护程序内存,而不是分配给每一程序不同地址空间。作为应用程序开发者,你可能不会太在乎目标系统的内存的物理的结构。内存可以全部是随机存取内存,或者它可能包括闪存卡或者硬盘驱动器Windows CE操作系统为你管理内存资源,同时WIN32 API向你提供必要的分配、使用和释放的内存的接口。不同于其它的32位Windows操作系统,Windows CE操作系统的代码在只读内存中,并且在那个只读内存中原地执行。依据你的产品需要,你也能选择在只读内存中放置应用程序代码。例如,Pocket Word, Pocket Excel和其它应用程序程序,包括在手持电脑只读内存中被提供的。存储在ROM中的程序组在Windows CE 下当地执行,所以嵌入式系统的设计者能够只占用很少的RAM用于堆栈存储的需要。相应地,你的嵌入式应用程序可以利用RAM既作为程序的内存又可作临时存储空间5。为了进一步的增加应用程序软件的性能,Windows CE采用按需求将内存分页,操作系统仅仅需要解压缩并且装入基于RAM的一小部分程序准备执行。ROM和基于RAM的程序的灵活性与速度意味着基于Windows CE的设备能够被构造成各种内存结构形式。2.2 XML 技术介绍2.2.1 XML的诞生XML和HTML一样,都来自SGML即标准通用标记语言的一个子集。SGML是一种用标记来描述文档资料的通用语言,它包含了一系列的文档类型定义(简称DTD),在DTD中定义了标记的含义,因而SGML的语法是可以扩展的。但是SGML十分庞大,既不容易学,也不容易使用,在计算机上实现也十分困难。鉴于这些因素,Web的发明者提出了HTML语言,使它能够在计算机网络上应用。HTML只使用了SGML中的很小一部分标记。为了便于在计算机上实现,HTML规定的标记是固定的,即HTML语法是不可扩展的,它不需包含DTD.HTML这种固定的语法使它易学易用,在计算机上开发HTML的浏览器也十分容易。但是,随着Web的应用越来越广泛和深入,HTML渐渐显得力不从心,HTML过于简单的语法严重地阻碍了用它来表现复杂的形式。为满足不断增长的需要,就要从根本上解决 HTML先天的不足,即要使它的标签可以扩展,使它的标签可以代表有意义的数据。为了达到这样的目的,一种方法是直接使用 SGML 作为 Web 语言,这固然能解决HTML遇到的困难,但是SGML 太庞大了。正是在这种形势下,Web 标准化组织 WK 建议使用一种精简的适于目前WEB发展的版本。2.2.2 什么是XMLXML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML6。XML要比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理Web数据的通用方法。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容,因此结合HTML和XML可以实现数据与页面框架的分离,使得WEB应用程序更易扩展和移植。2.2.3 HTML与XML之间的不同XML从根本上有别于HTML,比HTML强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文档中的资料,允许嵌套的信息结构,以形成更复杂的文档。HTML只是Web显示数据的通用方法,而XML提供了一个直接处理Web数据的通用方法。借助于XML,可以在文档中指定动态变化的数据,创建用于多种目的的数据源,实现服务器或客户机上应用程序的互操作性。HTML着重描述Web页面的显示格式,而XML着重描述的是Web页面的内容,因此结合HTML和XML可以实现数据与页面框架的分离,使得Web应用程序更易扩展和移植。XML与HTML的主要区别如表2-1所示。 表2-1 XML于HTML区别比较内容HTMLXML可扩展性不具有扩展性是元素标语言,可定义新的置标语言侧重点侧重于如何表现信息侧重于如何结构化地描述信息语法要求不要求标记的嵌套,配对等,不要求标记之间有一定的顺序求标 记之间具有一定的顺序严格要求嵌套,配对,并遵循DTD的树形结构可读性难于阅读,维护结构清晰,便于阅读,数据和现实内容描述与显示方式整合为一内容与显示方式相分离保值性不具有保值性具有保值性编辑及浏览工具已有大量的编辑,浏览工具编辑浏览工具商不成熟2.2.4 XML的优点1良好的可扩展性 XML 允许各个不同行业根据自己独特的需要制定自己的标记。实际上,许多不同的行业、机构都利用XML定义了自己的置标语言。比如:化学置标语CML(Chemistry Markup Language),数学置标语言Math以MathematicalMarkup Language。2内容与形式的分离。XML不允许自定义标记,而且这些标记不必仅限于对显示格式的描述。XML允许根据各种不同的规则来制定标记。用 HTML语言描述文档,至少存在以下三个问题:显示方式内嵌于数据中。如果要改变数据的表示形式,则不得不重新编码所有的HTML 文件。在数据中寻找信息非常困难。因为它所携带的信息不是语义上的描述,而是显示上的描述。数据的自身逻辑不得不让位于HTML语言规范的逻辑。任何一个不是单纯为了显HTML文件的应用程序,在处理HTML文件中的数据时,都要做大量的额外工作。在 XML中,上述问题得到了很好的解决。显示样式与数据的分离。显示样式从数据文档中分离出来,放在样式文件中。这样,如需改动信息的表示方式,只要改动样式单文件,无需改动信息本身。在XML中,数据搜索可以简单高效执行。搜索引擎不必遍历整个XML文档,只需找一下相关标记下的内容。XML是自我描述语言,这大大方便了XML的处理应用程序的开发。3遵循严格的语法要求XML非常注重准确性,如果语法有丝毫差错,分析器都会停止对它的进一步处理。因此具有较好的可读性和可维护性,而且也大大减轻了浏览器开发人员的负担,同时提高了浏览器的时间空间效率。4便于不同系统之间信息的传输要想在这些不同的平台,不同的数据库软件之间传输信息,不得不使用一些特殊的软件,非常不便。有了XML,各种不同系统之间可以采用XML作为交流媒介。它不仅简单易读,而且可以标注各种文字、图象甚至二进制信息7。这使得XML成为一种非常理想的网际语言。5数据的多样显示由于 XML的内容与表现形式是分开的,这样对于相同的XML文件,可以根据自己的需要编写不同的样式表(如XSL样式表)来显示其中的数据。6数据本地处理XML格式后的数据发送给客户后,客户可以用应用软件解析数据并对数据进行编辑和处理。使用者可以用不同的方法处理数据,而不仅仅是显示它。这样客户端不再是服务器单纯的一个显示终端,而具有了工作站的意义。XML文档对象模型允许用脚本或其他编程语言处理数据。数据计算不需要回到服务器就能进行。这样就可以利用一些简单的脚本语句,使用简单灵活开放的格式,创建功能强大的Web应用软件。7良好的压缩性能由于XML中描述的数据结构是重复出现的,使得相同的标签重复出现,所以可以把这些重复出现的标签只传送一次,从而大大降低数据的传送量。2.2.5 XML文档W3C提出的标准超文本标记语言XML(Extensible Markup Language),是一种用于Internet上交换和表示数据的格式。一个XML文档由嵌套的元素层次结构构成。每个文档有一个唯一的根节点。一个元素有一个标记(tag),描述该元素的含义。一个元素由从起始标记到终止标记的区域构成。该区域可以是嵌套的子元素,也可以是属性或文本串值。下面显示了一个描述一个研究项目信息的XML文档样例。XMLM.Frankli nFM.FanklinQueryXML.2001J.Smithdata miningJ.SmithAnAlgorithm.1999该文档介绍了以项目project元素为根的一个XML文档。从文档中,我们可以看出XML文档的如下几个特点:首先,一个元素可以由其一个或多个子元素描述。在后边的章节中,我们有时也将这两种元素分别称为复合元素和原子元素;其次,XML数据是半结构化的数据,一个元素可以有多个标记相同的子元素,且标记相同的子元素可能具有不同的结构,如:project有两个异构的member子元素。一个XML文档可以解析(parse)为一棵树。DOM模型(/DOM/)定义了一个XML文档在内存中的树型表示方式和遍历文档的基本操作的接口。应用程序可以通过DOM接口方便地处理XML文档。良构型XML文档良构是XML文档基本的要求,良构型文档必须符合某些一致性约束并且不引用任何外部的DTD一个符合XML的标记规范的文档被称为良构(Well-formed)的文档。一个良构XML文档可以没有DTD定义。良构型文档不必遵守其内部的DTD,尽管它可能自身带有DTD。文档作者几乎可以使用任意风格来标注文档就可以生成良构型XML文档,只需要满足标注封闭和标注嵌套。良构型XML文档可读性较一般的纯文本(Plain Text)要差一些,因为它加了许多标注。然而正是由于这些标注,才体现了XML文档的结构。XML将其余的功能如文档显示、浏览等留给其它的标准或工具来实现,比如XSL就是配合XML完成文档在浏览器端的显示。有效型XML文档有效型XML文档是良构的,且必须满足正确性约束。有效型文档标注的结构必须符合某个和文档关联的DTD,它必须在内部包含DTD或者显式地指明它所引用的外部DTD文件。DTD可以是预先定义的,在创建和操纵整个有效型XML文档过程中都必须符合该DTD。这样做的好处在于,文档DTD可以按照不同领域来划分和制定,各个领域有自身的一组标准的DTD来规范其领域内所有的XML文档。一个符合于某个给定的DTD定义的文档被称为有效(valid)的文档8。2.2.6 XML存取数据的方式关于关系数据库的存储管理的问题在过去的20年中已经完全的研究,各种主要的文件组织技术也发展的很成熟。存储管理的问题可以一分为二。首先是物理层的存储,其次是在所支撑的数据结构层即访问结构层,也就是索引结构上的存储。这两部分不能分开来考虑,否则就达不到当今数据库管理系统的高性能的要求。为了有效地处理XML数据,研究者们已经提出了各种XML查询语言和存储模型。数据库厂商也纷纷推出了自己的XML数据库产品。图2-1描述了处理XML数据的基本方式。根据存储方式的不同,我们可以将处理(管理)XML数据的基本方式分为4种类型:文件系统、半结构化数据仓库、数据库管理系统和原生的XML数据库。 图2-1 处理XML数据方式使用文件系统来存储和检索XML数据是管理XML的最直接的方式。基于文件的XML系统将XML直接存储为文本文件,由于文件系统本身不具备查询处理XML数据的能力,在处理查询时需要将XML文档解析(parse)为内存中的DOM树结构。基于文件的XML系统简单而容易实现,无需使用底层的数据库或对象存储管理,同时,由于XML文档被直接存储为文本文件,这种存储方式无需存储转换和重构查询结果。然而,这种存储方式在查询处理方面有明显的弱点,首先,该方法在每次浏览和查询文档时都要重复地解析文档。其次,整个文档在查询处理过程中都要驻留内存9。尽管我们可以在内存中为文档建立索引,通过索引来定位查询所需的部分,维护这种索引的代价仍十分昂贵。由于XML数据与半结构化数据十分相似,利用半结构化数据仓库来管理XML数据似乎是一种比较自然的方式。在这种方法中,XML数据被聚簇存储为有向图。斯坦福大学的Lore项目在这方面作了初步的尝试,然而,当前的半结构化数据库技术尚不成熟,利用半结构化数据仓库(如:Lore或Strude)处理XML查询的性能仍然难以让人满意。另一种更有效的存储方式即使用数据库管理系统来管理XML数据。根据数据库管理系统的不同,这种存储方式又可以分为基于关系的XML数据库系统和基于面向对象的XML数据库系统。在这两种方式中,由于当前的面向对象数据库系统的性能仍不足以支持对大规模数据的复杂查询。基于关系数据库的XML存储管理是一种更有前景的方式。按照将XML数据转存为关系的映射方式的不同,数据存储分为两类:第一类方法将XML文档树中的节点和边映射为关系模式,得到的存储模式与XML文档的结构无关,我们将其称作独立于文档我们又可以将基于关系的XML (document-independent)的关系存储;第二类方法根据XML的结构(DTD或XML Schema)来生成关系模式,不同的文档具有不同的存储模式,我们将其称作依赖于文档(document-dependent)的关系存储。Yoshikawa等也将这两种方式分别称为基于模型(DOM)的存储和基于结构的存储方法。利用数据库系统,特别是关系数据库系统,来处理XML数据的方式具有如下的优点:一方面,当前的关系数据库的技术已十分成熟,商用的关系数据库系统都具有高性能的查询引擎,良好的可扩展性、安全性和健壮性,因此,利用关系数据库系统管理XML数据可以重用数据库的查询优化器和事务处理机制,能够保证XML数据的一致性和完整性;另一方面,目前大量的WEB数据主要存放在关系数据库中,XML一关系系统便于在关系数据库上建立适于二者的应用,使关系数据库进入Web领域成为可能。但是,由于数据模型上的差异,利用数据库系统来管理XML数据也给数据库技术带来了许多新的挑战10。近来,基于关系的XML数据处理技术受到了研究者和数据库厂商的关注,在这方面己经有了许多工作和成果。此外,由于前些年面向对象数据库兴起,使得对于XML数据的处理有了面向对象的方法,比较有代表性的是Xbase。最后一种存储管理XML数据的方法为“原生(native)”的XML数据库系统。原生的XML数据库的主要特点如下:以某种逻辑的模型(如:XPath模型或DOM 模型)为基础来存储和检索XML数据;以文档作为数据处理的基本单位;不要求有某种特定的物理存储模型,可以建立在数据库系统、对象管理器(如:Shore)或文件系统之上。近来出现了一些这样的数据库系统,如:Tamino。与其它的存储方式相比,原生的XML数据库可以完整地保留XML文档的信息,存储映射时不需要DTD结构。同时,原生的XML数据库采用基于XML的查询界面,如:XPath或DOM 适合于XML本身的特点。然而,原生的XML数据库缺乏细粒度的数据处理能力,不适合于处理数据集中(data-central)的XML文档。同时,这样的系统还不成熟,数据处理的效率也差强人意。2.2.7 XML语法1标记语法 XML标记负责提供和描述一个XML文件或数据包(也就是大家所熟知的XML实体)的内容结构11。他们由界定内容的不同部分的标记(tag)组成,负责提供到特殊符号和文本的引用,或者将特殊指令传递给引用软件,以及把注释传递给文档编辑器。XML元素的结构与HTML基本相同,XML也同样使用尖括号来界定标记以小于号“”结尾,但是二者的相同点也就仅此而已。下面分别是一个HTML和XML语句的例子。Click hereMichacl Cader与HTML不同,几乎所有的XML标记都是大小写敏感的,其中包括元素的标记名和属性值;也就是说Person与person是不同的。之所以敏感,主要是满足XML国际化的设计目标和简化处理过程的需要。大多数费英语语言并不把字母表分成若干种写法,(即使是罗马文字)许多字母可能也没有对应的大写或是小写。例如希腊字母“西格玛”只有一个大写形式,但却有两个小写形式;阿拉伯语泽对每一个字母使用多种形势的写法等。合并写法会存在许多缺陷,尤其是对于ASCII码更是如此,而XML的设计者们大多选择避免这些问题。字符:由于XML是要在全球的范围内使用的,所以不能巨响于7位的ASII码字符集。XML指定的字符在16位的Unicode字符集中定义。这些都是相对较新的标准,而且当今世界还有许多文字没有编入统一码当中。但是,由于他被设计成为大多数现存字符编码的超集,所以一流的内容统一码也是简单直观的。例如,把ASCII码转换成统一码只需要把16位字符的前8位填充0即可。命名:在XML中使用的结构几乎总是被命名的,所有XML命名都要遵循一下规则。以字母、下滑线“_”或冒号“:”开头,后面跟着的是有效命名字符。有效命名字符除了前面的内容,还包括数字、连字符“-”、句点“.”。在实际应用当中不应该使用冒号,除非是用命名空间的分隔符。记住字母并非局限于ASCII码是非常重要的,因为不说英语的人可以把自己的语言用在标记当中。名称首字符后可以连接一个或多个字母、数字、破折号、下划线、句号。在命名方面另一个限制是他们不能由字符串“XML”、“Xml”或是任何以此顺序排列的这三个字母的各类组合开头。W3C保留对以这三个字母开头的命名的使用权。下面是合法的命名:BookBOOKWorox; Bool_CatalogATConseil_European_Pour_Recherche_Nucleaire_(CERN)2元素 元素是XML标记的基本组成部分,他们可以包含其他的元素、字符数据、字符引用、实体引用、注释或CDATA部分这些是合在一起被称作元素内容。所有的XML数据(除了注释和空白)都必须包容在其他元素中。元素使用标记(tag)进行分隔由一对尖括号“” 围住类型名。每一个元素都必须有一个起始和一个结束标记,这与要求比较轻松的HTML不同,后者的借宿标记可以省略。这项规则唯一的列外是没有任何内容的元素,即空元素。元素由单部分组成;起始标记、内容、结束标记。一个元素的开始的分隔符被称作起始标记。起始标记是一个包含尖括号里的元素类型名。也可以把起始标记看做是“打开”了一个元素,就像是打开了一个文件或通信链路一样。下面是一些合法的起始标记:一个元素最后的分隔符被称作结束标记。结束标记由一个反斜杠和元素类型名组成,被围在一对尖括号中。每一个拘束标记都必须与一个起始标记想匹配,可以把结束标记理解为关闭了一个由起始标记打开的元素。下面是一些合法的结束标记,他们与前面列举的起始标记相对应。所以,带有完整的起始标记、借宿标记的元素应该是如下形式。包含的内容空元素可能不包含任何内容。比如说线准确地致命文档中的某些特定位置,可以只加入起始标记和结束标记而不在其中包含任何内容。XML指定空元素可以用缩略形式表示,他是起始和结束标记的混合体。他既短小精悍,而且还能明确指出该元素既不会有内容,也不允许有内容。3根元素 格式正规的XML文档的定义形式是一个简单的层次树,每个文档都有一个,而且只有一个根节点,他被称作文档实体或文档根。这节点能包含注释或子元素,这个元素是这个树中其他所有元素的父元素,而且他可能不包含在其他任何元素当中。需要注意的是,开始标记与结束标记中的名称必须完全一致,包含字母大小写。4元素嵌套 XML对元素有一种非常重要的要求他们必须正确的嵌套,也就是指元素必须完全包含在另外一个元素中。下面例子中的情况是不容许的,因为元素signature和footer相互重叠了。25th December 2010meYouHappy Chrisma

温馨提示

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

评论

0/150

提交评论