(计算机应用技术专业论文)基于统一映射规则的数据转换方法的研究与应用.pdf_第1页
(计算机应用技术专业论文)基于统一映射规则的数据转换方法的研究与应用.pdf_第2页
(计算机应用技术专业论文)基于统一映射规则的数据转换方法的研究与应用.pdf_第3页
(计算机应用技术专业论文)基于统一映射规则的数据转换方法的研究与应用.pdf_第4页
(计算机应用技术专业论文)基于统一映射规则的数据转换方法的研究与应用.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(计算机应用技术专业论文)基于统一映射规则的数据转换方法的研究与应用.pdf.pdf 免费下载

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

文档简介

i 毒 “辩“黔:; at h e s i si nc o m p u t e r a p p l i c a t i o nt e c h n o l o g y r e s e a r c ha n d a p p l i c a t i o no fd a t ac o n v e r s i o n m e t h o d sb a s e d o nu n i f i e d m a p p i n gr u l e s b yd uz h e s u p e r v i s o r :p r o f e s s o rz h a n gb i n n o r t h e a s t e r n u n i v e r s i t y j u n e2 0 0 8 l ,l f ij-l 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人己经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示 谢意。 学位论文作f 者签名:喇蝣千阻p 匕义i 自佥硇:q - t 日 期:必群石取 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 作者和导师同意网上交流的时间为作者获得学位后: 半年 一年口一年半口两年口 学位论文作者签名:由热 签字日期:埘瞬占日 导师签名:了人f 签字日期:b 占 一 1。l- ti jl_ ,i, 0 东北大学硕士学位论文 摘要 基于统一映射规则的数据转换方法的研究与应用 摘要 随着计算机的普及和计算机网络的发展,越来越多的政府办公部门实现了政务的电 子化,网络化。而在众多的电子政务软件中,由于数据来源和数据载体形式的多样性, 如何将各种形式的数据载体进行统一的处理并根据业务的需要以一定的组织形式反馈 给用户成为开发系统过程中最大的问题。数据转换技术的目标是有效地支持数据在多个 数据载体中进行转换,为数据转换提供模型级别的支撑。 本文以于洪区综合数据库系统的需求为背景,在对政府部门大量政务和数据转换方 法的研究基础上,提出了基于统一映射规则的数据转换方法。在数据转换框架中,根据 电子政务中数据应用的特点提出了数据界面的概念,方便了对复杂数据的形式化描述。 然后又以于洪区综合数据库系统的需求调研为依据,以对数据转换方法的研究为基础, 给出了使用x m l 实现的统一描述映射规则方法,并对各种数据转换规则进行抽象分类, 定义了四种常用的转换规则并给出相应的x m ls c h e m a 。在转换框架中,针对统一映射 规则描述方法,设计了处理它的数据转换引擎,并将数据转换引擎分为转入、转出模块 并对各个模块的组成部分进行了分析和描述。本文同时也总结了在实验过程中数据转换 系统中可能出现的特殊问题,并给出了相应解决方案。最后,将本文中提出的基于统一 映射规则的数据转换框架应用在于洪区综合数据库系统中,基本满足了于洪区的政务需 求,较好的驱动了数据在不同的数据界面之间的流动。 。,t i 关键词:电子政务;数据转换;映射规则;x m l ;数据转换引擎 ;,j 0 h - r e s e a r c ha n d a p p l i c a t i o no fd a t ac o n v e r s i o nm e t h o d sb a s e do n u n i f i e dm a p p i n gr u l e s a bs t r a c t w i t ht h ep o p u l a r i t yo fc o m p u t e r sa n dt h ed e v e l o p m e n to fc o m p u t e rn e t w o r k m o r ea n d m o r eg o v e r n m e n td e p a r t m e n t sm a k et h e i r g o v e r n m e n ta f f a i re l e c t r o n i ca n dn e t w o r k i n g b e c a u s eo ft h ed i v e r s i t yo fd a t as o u r c ea n dt h ef o r m so fd a t ac a r r i e r ,t h eb i g g e s tp r o b l e mi n s y s t e md e v e l o p m e n tl sh o wt op r o c e s st h ev a r i o u sf o r m so fd a t ac a r d e ri nau n i f i e dw a ya n d f e e db a c kt ou s e ri nac e r t a i nf o r mo f o r g a n i z a t i o ni na c c o r d a n c ew i t ht h er l e e do fb u s i n e s s t h eg o a lo fd a t ac o n v e r s i o ni st o s u p p o r tt h et r a n s f o r m i n gi nan u m b e ro fi l a t ac a 玎i e r s e f f e c t i v e l ya n dp r o v i d et h em o d e l l e v e ls u p p o r t t h i st h e s i si su n d e rt h eb a c k g r o u n do fy u h o n gi n t e g r a t e dd a t a b a s es y s t e m a f t e r t h e a n a l y s i so fal a r g en u m b e ro fg o v e r n m e n ta f f a i ra n dt h e m e t h o d so fd a t ac o n v e r s i o n i t i n t r o d u c e sam e t h o do fd a t ac o n v e r s i o nb a s eo nu n i f i e dm a p p i n g r u l e s f i s t ,a c c o r d i n gt ot h e d a t aa p p l i c a t i o nmt h ee - g o v e r n m e n t ,i tp r o v i d e sa c o n c e p to fd a t ai n t e r f a c et of a c i l i t a t et h e f o r m a ld e s c r i p t i o no fc o m p l e xd a t a ,i nt h ef r a m e w o r ko fd a t ac o n v e r s i o n s e c o n d i tu s ex m l t oa c h i e v et h em e t h o do fd e s c r i p t i o nf o ru n i f i e dm a p p i n g r u l e s ,t h e ng i v ead e f i n i t i o no ff o u r f r e q u e n t l y u s e dr u l e sa n dc o r r e s p o n d i n gx m ls c h e m a t h i r d ,a i m i n ga tt h em e t h o do f d e s c r i p t i o nf o ru n i f i e dm a p p i n gr u l e s ,t h i st h e s i sd e s i g n sad a t ac o n v e r s i o ne n g i n et od e a l 、析t l l t h er u l e s t h ee n g i n ei sd i v i d e di n t ot w o p a r t s ,d a t ai m p o r tm o d u l ea n dd a t ae x p o r tm o d u l e e a c hm o d u l eh a si t sc o m p o n e n t s i nt h i st h e s i s ,i tg i v e sad e t a i l e da n a l y s i sa n dd e s c r i p t i o nt o t h ec o m p o n e n t si ne a c hm o d u l e t h i st h e s i sa l s os u m su pt h es p e c i a lp r o b l e m st h a tm a y o c c u i nt h ed a t ac o n v e r s i o ns y s t e m ,a n dg i v e st h ec o r r e s p o n d i n gs o l u t i o n so ft h e p r o b l e m f i n a l l y , t h i st h e s i sa p p l i e st h ed a t ac o n v e r s i o nf r a m e w o r k t ot h ey u h o n gi n t e g r a t e dd a t a b a s es v s t e m t h i sa p p l i c a t i o nb a s i c a l l ym e e t st h en e e d so fg o v e r n m e n ta f f a i ri ny u h o n ga n dc o m m e n d a b l v d r i v e st h ed a t af l o w i n ga m o n gt h ed i f f e r e n td a t ai n t e r f a c e s k e yw o r d s :e - g o v e r n m e n t ;d a t ac o n v e r s i o n ;m a p p i n gr u l e s ;x m l ;d a t ac o n v e r s i o n e n g i n e i i i f -,、lflp t j 东北大学硕士学位论文目录 目录 独创性声明。i 摘要i i a b s t r a c t :i i i 第一章绪论1 1 1 研究背景1 1 2 中国电子政务的发展进程o 1 1 3 研究目标2 1 4 研究内容及文章结构3 第二章研究基础5 2 1x m l 5 2 1 1x m l 文档结构5 2 1 2x m l 命名空间7 2 1 3 格式良好的x m l 文档7 2 1 4x m l 相关技术8 2 2 在n e t 中读取x m l :1 3 2 3 两种典型数据转换方法1 5 2 3 1 硬编码1 5 2 3 2 中间转换格式1 7 第三章基于统一映射规则的数据转换框架19 3 1 基于统一映射规则的数据转换框架1 9 3 1 1 数据界面( d a t ai n t e r f a c e ) 2 0 3 1 2 基于x m l 的统一映射规则描述方法2 1 3 2 数据转换引擎2 4 3 2 1 数据转入模块2 4 3 2 2 数据转出模块2 7 3 3 小结2 8 第四章基于统一映射规则的数据转换方法2 9 4 1 基本定义2 9 4 2 数据转换引擎算法3 9 4 3 特殊问题处理方法4 0 i v 东北大学硕士学位论文目录 4 3 1 各种关系的处理j 4 0 4 3 2 大对象的处理4 0 4 4 j 、结:4 1 第五章基于统一映射规则的数据转换框架在y t - i i d s 中的应用4 3 5 1 于洪区综合数据库系统总体框架4 3 5 1 1 与数据转换相关的业务流程和功能描述4 4 5 1 2 系统开发平台j 4 6 5 2 基于统一映射规则数据转换框架在本系统中的应用4 6 5 2 1 映射规则的描述4 6 5 2 2 数据转换引擎的实现- 5 0 5 3 应用示例5 7 5 4d 、结- 6 0 第六章结论6 1 参考文献6 3 致谢6 6 v ! : j 东北大学硕士学位论文第一章绪论 1 1 研究背景 第一章绪论 随着网络信息系统的不断完善,基于网络的政务信息服务也逐步开展起来。网上信 息发布、办公自动化、部门资源共享和协同办公成为网络信息系统应用的重要内容。而 在众多的政府级的应用中,很多系统始终都以数据为中心,因为这些数据对于政府分析 政务,正确决策以及未来发展都有着重要的意义。但是,在很多政府和企业中的各个部 门,因为业务的不同,都有着不同的应用系统甚至同一个部门都会出现多个系统,这些 系统中储存着大量的数据。然而,随着业务的扩展,不同的数据间存在着紧密的联系, 有些数据会出现重复,交叠的情况【lj 。由此,建立统一的管理系统,进行重复数据间的 整合,有效的驱动数据在不同的数据载体之间流动变得异常重要。 一一 在于洪区发展和改革局的综合数据库项引2 j 中,就出现了需要将大量不同来源、不 同形式的数据进行转换的问题。在本市于洪区中,多年以来,各级政府部门积累了大量 的社会、经济历史数据,这些数据分散在政府各个部门,无统一的储存方式和标准。整 合现有数据资源,有效发挥积累数据的作用,实现资源共享,为领导决策提供参考,建 立一个以网络为基础,统一标准、统一管理资源共享的数据库,以及基于数据库的综合 系统具有十分重要的意义。 在开发于洪区综合数据库系统时,由于于洪区本身电子政务【3 。7 j 自身特点决定,数 据来源纷杂,数据载体的形式多样,如何将各种形式的数据载体进行统一的处理并根据 业务的需要以一定的组织形式反馈给用户成为开发系统过程中最大的问题。数据转换框 架的提出就是为了满足整合数据在不同的数据载体之间流动的需要,为电子政务提供模 型级别【8 1 3 j 的支持。它的核心目的就是为了使数据有效的在多个数据载体中进行转换。 正 1 2 中国电子政务的发展进程 关于电子政务发展阶段模型,学者们有不同的理解,但总体上,都认为电子政务建 设应该循序渐进,呈阶梯状发展。从政务电子化处理的深度,可分为数据处理、信息处 理和知识处理三个阶段。从政府工作形式看,也体现电子政务的四个发展阶段:公文电 子化、内部办公自动化、行政管理网络化、部门间协同工作。从政府与用户交互的程度 东北大学硕士学位论文第一章绪论 分为以下几个阶段:网上信息发布、网上信息单向流动、网上双向互动、在线事务处理、 无缝集成【1 4 - 15 1 。 我国电子政务的发展可以追述到2 0 世纪7 0 年代,经历了办公自动化、“三金工程、 政府上网和电子政务四个阶段。8 0 年代中期我国兴起的办公自动化热,虽然不能称作真 正意义上的电子政务,但可以作为我国电子政务的起点。从9 0 年代开始,通过重点建 设金税、金关和金卡等“三金工程,我国电子政务发展取得了长足的进步。1 9 9 9 年开 始实施的政府上网工程,为政府体制内部各部门之间的沟通提供了技术手段,也为政府 部门与国际社会的交往提供了更多的机会,对提升政府整体的运作管理水平产生了积极 的影响。到目前为止,全国绝大多数市、县级政府都设有网点,并通过网站向社会发布 信息,有的还提供在线服务1 6 。1 7 】。 1 3 研究目标 由于政府部门的政务种类繁多,相应的电子政务软件也有很多,但是它们都集中在 应用层面上,没有提升到模型级别。如何根据现有的软件流程结合本市于洪区自己政务 的特点,设计出一种相对通用的系统模型是本文需要解决的问题。 在于洪区数据库系统的需求调研中了解到它的政务特点是数据来源多,数据载体形 式多( 大多数以不同种类的固定e x c e l 电子表格上报) ,满足于洪区综合数据库的应用需 求并设计出通用的系统模型,需要研究如下几个问题: ( 1 ) 如何根据本系统特点提出相对通用的系统模型结构 由于政府部门政务的繁杂,各个部门都有着不同的应用系统甚至同一个部门都会出 现多个系统,这些系统大都功能相似但是都又各自为战,没有一个相对抽象的理论模型。 随着业务的扩展,不同的数据间存在着紧密的联系,有些数据会出现重复,交叠的情况, 由于各个系统之间的独立性,想要消除数据的冗余就要重新设计一个新的系统来完成各 个系统的功能。所以,针对某个部门的政务应用提出一个相对通用的框架模型可以提高 系统的复用性和可扩展性。 ( 2 ) 提出适合本系统需求的数据映射规则 在众多的政府级的政务应用中很多系统始终都以数据为中心,因为这些数据对于政 府分析政务,正确决策以及未来发展都有着重要的意义。所以如何将各种形式的数据进 行统一的处理后转入数据库并根据政务的需要以一定的组织形式反馈给用户是系统设 计中最大的问题。目前最常用的数据转换方法有硬编码和中间转换格式两种。硬编码的 2 一- ,一 j 东北大学硕士学位论文第一章绪论 方法在映射规则很少、很固定而且系统被二次集成的机会很小的时候,应用它可以获得 工作量相对较小、复杂度相对较低、运行速度相对较快、可调试性相对较强的转换系统。 中间转换格式方法,更适合映射规则较多、规则增改频繁和开发规范的大型系统。而于 洪区综合数据库系统的特点是数据载体固定( 以e x c e l 电子表格居多) ,但是映射规则较 - 、多,数据界面的应用变化比较频繁,根据对前面两种方法的分析这两种方法应用与本系 统中都有一些不足之处。首先是硬编码,本系统属于中型办公应用系统,映射规则较多 且变化频繁,硬编码的工作量会很大需要投入大量人员而且也有一定复杂度。最重要的 是,由于映射规则的频繁增加和变化,在后期维护的时候需要频繁的改动源代码给用户 和工作人员造成很大的不便。再次是中间转换格式方法,它应用在本系统的最大不足之 处就是满足不了本系统中个别系统快速开发并迅速投入使用的应用需要。中间转换格式 方法需要在前期投入大量的时间来设计各个数据界面到中间格式的转换方法,这与本系 统的应用需求相悖。再有中间转换格式方法的最大特点是可扩展性强,添加新的界面不 需要更改源代码,但是在本系统中数据界面基本固定,牺牲工作量和运行时间来换取的 可扩展性也体现不到。设计出适合本系统特点的映射规则描述方法是本系统实现的关键 所在。 ( 3 ) 从源数据载体到目的数据载体以及它们中间抽象的映射规则的形式化描述 各种数据及转换规则的形式化描述是系统的理论和实现基础。对它们描述的抽象性 直接关系着系统的通用性和可扩展性。如果映射规则抽象的粒度不够,比较特殊化, 系统就会失去通用性,没有了复用的价值。所以说综合其他政府办公软件和本系统的应 用需求,给出较抽象和通用的形式化描述和定义是本文重要的研究内容。 ( 4 ) 特殊事件的处理 数据转换框架中还有些细小的,形式化描述困难的特殊事件,这些事件的总结、分 析和处理也是需要研究的内容之一。 ( 5 ) 在于洪区综合数据库系统中应用数据转换模型框架 。 提出的数据转换框架应当具有一定的通用性,应当包含各种数据以多种规则象数据 库转入,并以多种形式转出。而在于洪区数据库系统需求中,转入的数据载体类型绝大 部分为e x c e l 电子表格形式,规则也并不是全部都能应用到。如何将通用的模型和具体 的需求联系在一起是系统实现的现实基础。 1 4 研究内容及文章结构 东北大学硕士学位论文 第一章绪论 本文针对目前常用的两种数据转换方法,即硬编码和中间转换格式( 通常以x m l 为中间格式) ,根据本系统的自身的特点提出了一种基于x m l 对映射规则进行统一描述 的转换方法,并以此转换方法为基础给出了一种数据转换框架。在本文的最后给出了数 据转换框架的在于洪区综合数据库中的应用。本文研究的核心问题是映射规则的分类和 定义以及它在转换系统中的应用。 本文研究内容主要包括以下几个部分:数据转换框架( 包含数据界面的定义,数据 转换引擎的设计) ;映射规则的分类和定义;特殊问题的处理方法;数据转换框架的实 现和应用。 本文共分六章: 第一章绪论,简单介绍了基于统一映射规则数据转换方法提出的背景,目标和文章 结构。 第二章介绍了本文研究和实验用到的相关技术,特别是介绍了现有的两种典型的数 据转换方法。 、 第三章基于于洪区综合数据库系统的开发需求,分析了多种数据转换软件的原理, 针对数据转换问题提出数据界面的概念。本章还抽象概括了作为数据转换系统中输入端 和输出端的数据模型,设计了一个基于统一映射规则的数据转换的框架,讨论了数据转 换中的映射规则的建立。 第四章中将映射规则统一分类并进行形式化描述,给出了数据转换引擎的算法。另 外,也对数据转换系统中还有一些规则描述不了和需要特殊处理的问题给出了相应的解 决方案。 第五章中介绍了作为本方法实现背景的于洪区综合数据库系统并给出了基于统一 映射规则的数据转换框架中的每个模块在于洪区综合数据库系统中的具体实现方法。最 后给出了应用示例来描述整个转换流程。 一 第六章对本文进行了总结并提出进一步的工作及未来系统应用的展望。 4 东北大学硕士学位论文第二章研究基础 第二章研究基础 本章介绍了信息交换的标准x m l 技术,它是数据转换技术实现的基础。首先给 出了x m l 的简介以及它的文档结构和命名空间,然后介绍了x m l 相关的一些技术, 针对本文的研究给出了一些技术的对比和选择。最后介绍了2 种典型的数据转换方法, 为本课题提供了必要的技术支持。 2 1x m l x m l l l 8 】( e x t e n s i b l em a r k u pl a n g u a g e ) 是一种简单的数据存储语言,使用一系列 简单的标记描述数据,而这些标记可以用方便的方式建立。虽然x m l 要比二进制数据 要占用更多的空间,但x m l 极其简单且易于掌握和使用。x m l 是一套定义语义标记的 规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定 义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。 1 9 9 6 年,万维网协会( 或者叫w 3 c ,h t t p :w w w w 3 c o r g ) 开始设计一种可扩展的 标记语言,使其能够将s g m l 的灵活性和强大功能与已经被广泛采用的h t m l 结合起 来。这种后来变成x m l 的语言继承了s g m l 的规范,而且实际上就是后者的一个子集。 从s g m l 入手使得该设计小组能够将精力集中在简化已有的成果上。s g m l 已经提供 了一种可以无限扩展的语言,它允许任何人能够根据自己的需要加以扩充。x m l 之所 以要较s g m l 更为简化,很大程度上是出于易用性的考虑:人们对标记的读写过程应该 使用现有的、简便通用的工具,同时,也应当简化计算机对文档和数据交换的处理。由 于有太多的可选功能s g m l 变得过于复杂,以至于很难编写出针对这种语言的普通解释 器,而x m l 的解释器则简单得多。此外,x m l 使得现有的i n t e m e t 协议和软件更为协 调,从而简化了数据处理和传输。作为一个不错的s g m l 子集,x m l 还保持了对现有 的面向s g m l 的系统的向下兼容性,这样一来,用x m l 标记过的数据就仍然可以在这 些系统中使用,为基于s g m l 的行业节省了大笔的改造费用,同时与w e b 的结合也使 得它们更便于被访问。1 9 9 8 年2 月,x m l l 0 成为了w 3 c 的推荐标准【1 9 。2 0 】,成为x m l 发展的一个里程碑。目前的最新版本是在2 0 0 6 年发布的x m l l 1 ( s e c o n de d i t i o n ) 。 2 1 1x m l 文档结构 东北大学硕士学位论文第二章研究基础 一个格式正规( w e l l f o r m e d ) 的x m l 文档由三个部分组成( 参考图2 1 ) : ( 1 ) 一个可选的序言( p r o l o g ) 。 ( 2 ) 文档的主体( b o d y ) ,由一个或多个元素组成,其形式为层次树状结构,其中 可能也包含了一些字符数据( c h a r a c t e rd a t a ) 。 ( 3 ) 可选的“繁杂 的尾声( e p i l o g ) ,其内容包括注释、处理指令和或紧跟在元 素后面的空白三个部分组成。 序言的组成包括:一个可选的x m l 声明,可能跟着几个( 或者没有) 注释、处理 指令、空白字符,其后可能有一个可选的文档类型声明( 再带着几个可选的注释、处理 指令和空白字符) 。 主体包括元素和字符数据。元素是x m l 文档的基本组成部分。它们可以包含其它 元素、字符数据、字符引用、实体引用、p i 、注释a n 或c d a t a 部分,这些何在一起被 称作元素内容( e l e m e n tc o n t e n t ) 。元素使用标签( t a g ) 进行分隔,标签则以一对尖括 号( “ ) 围住元素名称( 一个字符串) 的形式出现。字符数据就是除标签之外的其他 文本,是元素或属性值的文本内容。 i 毙锉 j、 | i 一w 一一w i ? 1 :j 磐鬻l 。; 勃孵嚼锛槲搿掰拇。整;酶4 铷 ; : 嘶荆确删铆礴凇绷衙嚷蝌鳓觏辩瓿妒棒辅j 锄喇锄擀 i燃帮静襄拗鳓雠黪聿学骥触。挚蝴,蝌黟舞抑辫删劫懒瞒扩l ; j ;碡红嬲槲嬲礅帮罐彩雠鳓雅i 壤轴搠锱擞艄羞绷鳓确罐聋l 鼍睇桫; ; 一。 。 ? 、 ,”,r ,j 目,。 | 。一。”飞 一 ;壅博:锄黼 耘翰濑哺泌 、卅黼翻翰嗍缈“绚鳓蝴蒯*;i ; 一霸缓h 缈* 凇女睁l 锄孵嘞铂棚獬鲰 ; 蝴* 耘彬馕舞耐t r 擀o 辫眩哟哟嬲鲤细伽 彰嘲耢,截譬绦,翰鳓 ;卅糍膨l ; 5 卅蚴碱镅翰黪黧铸鲥羲穗自罄扩* p 拙f 翳雠- 彰镏# 辨辅瑚张,辘捌瓣r 瓣 撬* 毒蝴溯罅耐蹴俐吖囊l 耄船 ; :叫肇嚣姆常1 2 ;鸟嗡阮,纠嘲獭舡 ; ;,翻瓣鼢: ;蟛*i ; , 。 、,。j。,?,j 一。,。| 铭镅艄铆豫懒删铆铂麓喙绷铆鲥乳辩甥肄憾黼辆俐翱嘲臻诤 图2 1x m l 文档结构 f i g 2 1 t h es t r u c t u r eo fx m ld o c u m e n t 声 j 东北大学硕士学位论文第二章研究基础 x m l 尾声可能包括注释、p i 和或空白。p i 不一定非要应用到文档中尾声之前或接 1 崎 下来的数据中( 如果有的话) 的元素中。 2 1 2x m l 命名空间 根据w 3 c 组织的推荐标准x m ln a m e s p a c e 2 1 1 描述,x m l 命名空间是一种名称的 集合,通过一种u r i 引用来标识。作为元素类型和属性名称,它能够被应用于x m l 文 档。x m l 命名空间是解决x m l 名称多义性和名字冲突问题的解决方案。命名空间通常 由同一资源标识符( u r i ) 表示,但它们不需要指向某个实在的资源。实际上用做命名 。 空间的u r i 可以是任何唯一的字符串。 ( 1 ) 定义和声明命名空间 x m l 命名空间推荐标准提供了一个x m l n s 属性,属性的值就是u r i ,其唯一的定 义了当前使用的命名空间。以下简单的命名空间声明: x m l n s = h t t p :w w w w s - c o r g s c h e m a u d d i - v1 x s d 事实上,在声明一个命名空间之后,一般都会将一个命名空间前缀与之相关联,而 后,在使用这个命名空间中的元素属性名的时候,在这些元素属性名之前加上相关的 前缀修饰。如:x m l n s :r e s u m e = h t t p :f e n v e l 。w s c 。o r g s c h e m a r e s u m e x s d 。使用的时候前 缀r e s u m e 来进一步修饰每一个元素名,是使元素更加明确地表示出来自哪个命名空间。 ( 2 ) 命名空间的作用范围 命名空间声明就像变量在程序语言里那样有它的作用范围。一个命名空间声明一般 被应用于包含这个声明的x m l 元素以及这个元素所包含的所有子元素。可以认为一个 命名空间的作用域包括定义这个命名空间的元素以及这个元素的所有子孙元素。 2 1 3 格式良好的x m l 文档 。x m l 文档的核心就是它们是格式良好的。格式良好的x m l 文档就是符合x m l1 0 的规范中指定的语法规则的文档。如果一个x m l 文档不是结构完整的,大部分读取和 ,显示操作都会失败。x m l 规范严格禁止x m l 句法分析器分析和解释结构欠妥的文档, 分析器唯一能做的是报告错误和退出。x m l 处理器只接受结构完整的x m l 。相应的规 l 则总结如下: l l( 1 ) 文档必须有唯一的文档根元素。 i i根元素包含其余的文档数据。文档的其余部分是根元素的子元素。 i i( 2 ) 合法和非法名称。 i - 7 - 东北大学硕士学位论文 第二章研究基础 在x m l 中使用元素时要遵循一些命名约定,既区分大小写和其他命名的限制。因 此, 它们表示完全不同的元素。 ( 3 ) 含有数据的元素必须有起始标记和结束标记。 ( 4 ) 空元素必须以 结束。 ( 5 ) 实体引用可以使用两个保留的x m l 字符,及其他常用的x m l 字符。表2 1 列出了这些字符,把这些字符输入p c d a t a 时,x m l 是格式良好的。 表2 1 实体引用表 t a b l e 2 1e n t i t yr e f e r e n c et a b l e 而且,使用字符引用可以转义其他字符,以& # x x x 的形式插入,其中x x x 是指要插 入字符的u n i c o d e 数字。 ( 6 ) 空白是有意义的。 x m l 中最容易混淆的地方就是那些实际上看不到的字符一空白。如果使用h t m l 开发w e b 页面,所有的空白都会变成一个空格。x m l 中的情况就不是这样的。x m l 系列的技术和x m l 本身有许多方法用于处理空白,它们是完全可以控制的。将空白作 为元素的数据处理与处理两个元素标记之间的空白之间存在着一定的差别。 ( 7 ) 元素只能嵌套不能重叠。 元素可以包含别的元素,但是元素不能重叠。如果一个元素含有一个起始标记,则 必须同时含有相应的结束标记。同样,一个元素不能只含有一个结束标记而没有相应的 起始标记。 ( 8 ) 在x m l 中使用注释。 可以在需要的时候将注释添加到x m l 文档中,这些注释给文档的内容添加了一些 描述。注释可以出现在x m l 文档中x m l 声明之后的任何位置。 2 1 4x m l 相关技术 自从x m l l 0 规范发布之后,x m l 的有关技术规范不断涌现,有的还处在草案阶 j 东北大学硕士学位论文第二章研究基础 段。与x m l 有关的重要技术规范还包括d t d 、s c h e m a 、s a x 、d o m 、c s s 、x s l 、x p a t h 、x l i n k 、x p o i n t 、x q u e r y 等众多规范。它们与x m l 的关系如图2 2 所示: 图2 2x m l 相关技术 f i 9 2 2x m lr e l a t e dt e c h n o l o g y 下面就与本系统相关的的技术d t d 、s c h e m a 、d o m 、s a x 做简要的论述和比较, 选取系统中较合适的技术。 2 1 4 1d t d 与x m ls c h e m a 的比较 尽管x m l 是极其灵活的,但不是所有读取特定x m l 文档的应用程序也同样灵活。 许多的处理程序只能与特定类型的x m l 文档协同工作。而且在一个x m l 的特定应用 中,保证文档遵守一定的规则特别重要。即便x m l 文件是一个形式良好的x m l 文件, 它用于信息描述或体现数据信息之间的逻辑关系依然不够。个完全意义上的x m l 文 件不仅应该是形式良好的,而且还应该是有效的。有两种技术保证x m l 文档的有效性, d t d 和s c h e m a l 2 2 1 。 ,d t d ( ( d o c u m e n tt y p ed e f i n e ,文档类型定义) 规定文档的逻辑结构。它可以定义 文档的语法,而文档的语法反过来能够让x m l 语法分析程序确认某页面标记使用的合 。 法性。d t d 定义页面的元素、元素的属性以及元素和属性之间的关系。例如d t d 能够 规定某个表项只能在某个列表中使用。理想的定义应面向描述与应用程序有关的数据结 构而不是如何显示数据。换句话说,应把一个元素定义为一个标题行,然后让样式表和 脚本定义如何显示标题行。d t d 描述了一个标记语言的语法和词汇表,定义了文档的 整体结构以及文档的语法。即d t d 规定了语法分析器以解释一个“有效的”x m l ,文 东北大学硕士学位论文第二章研究基础 档需要知道的所有规则的细节。 x m ls c h e m a 是用一套预先定义的x m l 元素和属性创建的,用于规定x m l 文档 结构和内容的规则。这些规则指定了每个s c h e m a 元素和属性的合法用途。如果违反这 些规则,解析器就会拒绝解析该s c h e m a 以及任何同它相联系的文档。s c h e m a 主要用于 验证、记录、查询、合并或编辑。事实上,s c h e m a 也是x m l 的一种应用,它是将d t d 重新使用x m l 语言规范来定义。 在x m ls c h e m a 之前己经开发了4 种模式语言:x d r ( x m l 数据简化,x m ld a t a r e d u c e d ) 、d c d 、s o x 和d d m l ,这4 种语言共同被认为是x m ls c h e m a 的起点。w 3 c 于1 9 9 8 年开始制定x m ls c h e m a 。其第一个版本在2 0 0 1 年5 月2 日正式成为官方推荐。 x m ls c h e m a 采用与x m l 相同的语法。应用者将只需学习一套语法,就可以应用x m l s c h e m a 。现有的x m l 编辑器、浏览器、解析器可以直接处理x m ls c h e m a 。x m ls c h e m a 可以采用和x m l 一样的存储方法,利于扩展。总之,有利于将x m ls c h e m a 文件与其 事例文件进行统一处理。 x m ls c h e m a 具有4 5 个内部类型。其中包括1 9 个基本类型和2 5 个继承类型,还 有一个抽象基本类型a n y t y p e 。x m ls c h e m a 支持用户自定义的数据类型,用户可以对 己存在的简单数据类型进行约束得到新的简单类型,对复杂类型进行扩展或约束得到新 的复杂类型,可由a n y t y p e 生成新的复杂类型,从多个简单类型封装生成复杂类型。x m l s c h e m a 支持多方面数据类型约束及缺省值。 ( 1 ) 用户自定义类型的数据类型包括用户自定义简单类型和用户自定义复杂类型 用户自定义简单类型不能包含元素和属性,从系统内嵌的简单类型经过l i s t 、u n i o n 、 r e s t r i c t i o n 三种方法得到,用户自定义简单类型与其基本类型一致,也是简单类型,只 是在取值范围上有所限制。而用户自定义复杂类型可以包含元素和属性,可以经过简单 类型扩展、复杂类型约束与扩展、从a n y t y p e 继承三种方式得到。 ( 2 ) 多方面的域值约束 x m ls c h e m a 从多方面对内嵌数据类型进行域值约束,包括长度( 1 e n g t h ) 、最小长度 ( m i n l e n g t h ) 、最大长度( m a x 址n g t h ) 、样式( p a t t e m ) 、枚举( e n u m e r a t i o n ) 、空格限制 ( w h i t e s p a c e ) 等,包含的最大值( m a x l n c l u s i v e ) 、不包含的最大值( m a x e x c l u s i v e ) 、包含的 最小值( m i n l n c l u s i v e ) 、不包含的最小值( m i n e x c l u s i v e ) 等,各种内嵌数据类型根据其本 身的不同,约束方面也不同。 ( 3 ) 有序与无序 1o 东北大学硕士学位论文 第二章研究基础 x m l s c h e m a 通过模式组件s e q u e n c e 、a l l 、c h o i c e 分别表示子元素的有序、无序、 可选。 ( 4 ) 元素与属性出现次数 x m l s c h e m a 通过m i n o c c u r s ( 0 ,1 ) 、m a x o c c u r s ( 0 ,u n b o u n d e d ) 限定元素出现次数, 两者缺省值均为1 ;通过u s e 关键字取值o p t i o n a l 、r e q u i r e d 、p r o h i b i t e d ,分别表示属性 可选、必有、必无。 d t d 缺乏对x m l 文档的内容及其语义的约束机制,这将限制x m l 处理器进行有 效的类型检验,应用软件开发者将不得不专门编写有关类型检验的代码。x m ls c h e m a 的语义约束表达机制远远比d t d 复杂,而且表示方法也更加灵活。s c h e m a 的优点主要 表现在如下几个方面: ( 1 ) 一致性 s c h e m a 使得对m x l 的定义不必再利用一种特定的形式化的语言,而是直接借助x m l 自身的特性,利用x m l 的基本语法规则来定义x m l 文档的结构,使x m l 达到了 从内到外的完美统一,也为x m l 的进一步发展奠定了坚实的基础。 ( 2 ) 扩展性 一 s c h e m a 对d t d 进行了扩充,引入了数据类型、命名空间、一

温馨提示

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

评论

0/150

提交评论