(计算机应用技术专业论文)xml文档的关系化存储技术研究.pdf_第1页
(计算机应用技术专业论文)xml文档的关系化存储技术研究.pdf_第2页
(计算机应用技术专业论文)xml文档的关系化存储技术研究.pdf_第3页
(计算机应用技术专业论文)xml文档的关系化存储技术研究.pdf_第4页
(计算机应用技术专业论文)xml文档的关系化存储技术研究.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)xml文档的关系化存储技术研究.pdf.pdf 免费下载

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

文档简介

x m l 文档的关系化存储技术研究 王金凤( 计算机应用技术) 指导教师:魏东平( 副教授) 摘要 随着互联网和信息技术的高速发展,x m l 已经成为互联网上信息 交换和表示的重要标准,如何高效、系统、科学地管理x m l 文档已成 为数据库研究领域中的一个重要挑战。将x m l 存储在关系数据库中, 可以充分利用关系数据库成熟的数据管理技术,集成现有的大量存储在 关系数据库中的商用数据。但是,关系数据库的平面关系表结构与x m l 的层次结构有很大差异,怎样在关系数据库中有效地存储x m l 文档同 时又保持其结构信息和文档信息成为一个难题。基于模式的x m l 文档 的关系化存储技术的核心问题是x m l 模式与关系模式之间的映射。 本课题基于x m ls c h e m a ,研究x m l 模式与关系模式的映射技术, 实现x m l 文档的关系化存储。本文的主要内容如下:分析国内外x m l 文档存储理论和技术,研究x m l 文档的关系化存储方法。提出一种从 x m ls c h e m a 到关系模式的映射方法,该方法考虑了x m ls c h e m a 各种 组件的特点,在模式映射过程中保持了模式信息的完整性和语义约束, 实现了模式转换。充分考虑了x m l 文档的层次性、顺序性、约束性等特 点,有效存储x m l 文档。针对x m l 文档的关系化存储效率问题,对 x m l 模式的更新技术和基于x m ls c h e m a 的模式匹配进行了研究,并 提出相应的可行方法。根据本文所提出的模式映射理论,建立了一个原 型系统。该系统不依赖具体的操作系统和关系数据库平台,验证了基于 x m ls c h e m a 的结构映射算法,对通用x m l 文档的关系化存储有比较 理想的效果。 关键字:x m l ,x m ls c h e m a ,存储,模式映射 i i r e s e a r c ho ns t o r i n gx m ld o c u m e n tu s i n gr e l a t i o n a l d a t a b a s e s w a n g j i n - f e n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yp r o f e s s o rw e id o n g - p i n g a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e m e ta n di n f o r m a t i o nt e c h n o l o g y , x m lh a sb e c o m et h ei m p o r t a n ts t a n d a r df o ri n f o r m a t i o ne x c h a n g ea n d d e n o t a t i o n0 1 1t h ei n t e m e t , t h u st h a th o wt om a n a g et h ex m ld o c u m e n ti n a ne f f i c i e n t , s y s t e m a t i ca n ds c i e n t i f i cw a yh a sb e c o m eag r e a tc h a l l e n g ei n t h ef i e l do fd a t a b a s es t u d y b ys t o r i n gt h ex m ld o c u m e n t si nt h er e l a t i o n a l d a t a b a s e ,w ec a nm a k ef u l lu s eo ft h em a t u r ed a t am a n a g e m e n ts k i l l so f r e l a t i o nd a t a b a s es oa st oi n t e g r a t et h el a r g ea m o u n to f c o m m e r c i a ld a t at h a t i ss t o r e di nt h er e l a t i o n a ld a t a b a s e h o w e v e l , a st h es t r u c t u r eo ft a b l e si n r e l a t i o n a ld a t a b a s ei sg r e a t l yd i f f e r e n tf r o mt h eh i e r a r c h ys t r u c t u r eo fx m l d o c u m e n t s i ti sd i m c u l tf o r t h er e l a t i o n a ld a t a b a s et os t o r ex m ld o c u m e n t s e f f e c t i v e l yw h i l ek e e p i n gi t ss t r u c t u r ea n dd o c u m e n ti n f o r m a t i o n t h ec o r e i s s u eo fr e l a t i o n s t o r a g eo fx m ld o c u m e n t sb a s e do ns c h e m ai s t h e m a p p i n gb e t w e e nx m l s c h e m aa n dr e l a t i o n a ls c h e m a t h i ss u b j e c tb a s e do nx m ls c h e m ai n t e n d st oa c t u a l i z er e l a t i o n s t o r a g eo fx m ld o c u m e n t sb yac l o s es t u d y0 1 :1 t h em a p p i n gt e c h n i q u e b e t w t m t lx m ls c h e m aa n dr e l a t i o n a ls c h e m a t h i sp a p e rm a i n l yc o n t a i n s t h ef o l l o w i n ga s p e c t s f i r s t , i tw i l l a n a l y z e t h es t o r a g et h e o r i e sa n d t e c h n i q u e sc o n c e m i n gx m l d o c u m e n t sb o t ha th o m ea n da b r o a d t h e n , i t w i l lf o c u so nt h er e l a t i o ns t o r a g eo fx m ld o c u m e n t s m o r e o v e r , t h i sp a p e r i i i p u tf o r w a r d am a p p i n gm e t h o dt oc o n v e r tt h ex m ls c h e m ai n t ot h e r e l a t i o n a ls c h e m a g i v e nt h ec h a r a c t e r i s t i c so fa l lk i n d so fx m lm o d u l e s , t h i sm e t h o dm a n a g e st ok e e pt h ec o m p l e t e n e s sa n ds e m a n t i cr e s t r i c t i o no f i t ss c h e m ai n f o r m a t i o n ,t h u si ta c h i e v e st h et r a n s f o r m a t i o nb e t w e e nm o d e l s s u c c e s s f u l l y i na d d i t i o n ,t h i s m e t h o da l s os u c c e e d si n s t o r i n gx m l d o c u m e n t se f f e c t i v e l yb yt a k i n gt h ef e a t u r e so ft h e s ed o c u m e n t ss u c ha s h i e r a r c h y , g r a d a t i o n , a n dr e s t r i c t i o ni n t oc o n s i d e r a t i o n a st ot h ee f f i c i e n c y o fr e l a t i o n a ls t o r a g e ,t h i sp a p e rs t u d i e st h e m a t c h i n ga n du p d a t i n g t e c h n i q u e so fx m ls c h e m aa n df i n a l l yc o m e su pw i t haf e a s i b l ew a y t o s o l v et h ep r o b l e m f i n a l l y , t h i sp a p e rw i l ls e tu pa p r o t o t y p i cs y s t e m ,w h i c h w i l ln o tr e l yo nt h es p e c i f i co p e r a t i o n a ls y s t e ma n dr e l a t i o n a ld a t a b a s e p l a t f o r m ,b a s e do nt h em a p p i n gt h e o r yt h a tw eh a v em e n t i o n e da b o v e t h i s s y s t e mt e s t i f i e st h es t r u c t u r a lm a p p i n ga r i t h m e t i cb a s e do nx m ls c h e m a , t h u si tw o d db ev e r yh e l p f u lt or e l a t i o n a ls t o r a g eo f x m ld o c u m e n t s k e yw o r d s :x m l ,x m ls c h e m a , s t o r a g e ,s c h e m am a p p i n g 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知。除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得中国石油大学或其它教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己 在论文中作了明确的说明并表示了谢意。 签名: 王盆屁 z 优刁年 争月日 关于论文使用授权的说明 本人完全了解中国石油大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件及电子版,允许论文被查阅和借阅;学校可以公布论文的 全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密论文在解密后应遵守此规定) 学生签名:至全垦 导师签名:丝耋! 星 2 一口7 年尹月日 伽7 年q - 月7e t 中国石油大学( 华东) 硕士论文第1 章前言 第1 章前言 1 1 课题研究背景及意义 x m l “( e x t e n s i b l e m a r k u pl a n g u a g e ,可扩展标记语言) 日益成为 互联网、电子商务和系统集成等领域内数据显示、交换和索引等的基础, 与超文本标记语言( h y p e r t e x tm a r k u pl a n g u a g e ) h t m l 不同,x m l 具有 自描述、半结构的特点,更加适合人的理解。目前以儿为主导的一 系列规范已经成为新一代的w e b 标准。世界各大厂商也纷纷推出围绕 x m l 发展的产品和解决方案。对x m l 的深入研究将有力地促进企业信 息化和电子商务的发展,具有巨大应用前景和经济效益。 随着互联网上x m l 数据发布的指数式增长,管理现有的x m l 文 档已变得越来越困难,因此x m l 文档的有效存储和查询成为近几年研 究的热点。x m l 作为一种通用的格式进行数据的表示、交换、存储和 访问对数据库系统提出了许多新的挑战。例如,一个完整的w e b 站点, 它的内容是由一系列x m l 文档构成的,这样我们不仅要管理这个站点, 同时你需要提供给用户一个搜索该站点内容的机制,而这些都需要借助 数据库技术来实现。同其它类型数据库相比,关系数据库具有数据结构 化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用 程序等优点,是目前市场上应用最广、最成熟的数据库,能够提供对大 量数据进行高效存取的技术手段。 计算机应用系统之间交换的大量数据来源于关系数据库,并且最终 结果也存入关系数据库中,是因为在这样的使用环境中,关系数据库已 经被证明可以提供高效灵活的数据管理。x m l 数据以关系的形式存放, 可以实现对数据的统一管理,最大限度的利用关系数据库现有的存储管 理、并发控制、恢复、版本机制等技术来有效的管理数据。但是,相对 中国石油大学( 华东) 硕士论文第1 章前言 于关系数据库中用平面关系表来存储数据来说,x m l 文档是一种比较 复杂的树型结构,而且关系数据库也不能很好的支持x m l 中的一些本 质关系,如层次、顺序、包含等。因此怎样在关系数据库中有效地存储 x m l 文档同时又保持其结构信息和文档信息成为一个难题。 1 2 研究现状 如何有效地存储和查询x m l 数据是当前研究的一个热点。在存储 和查询x m l 数据领域,主要有两种方法: 第一种是为x m l 数据量身定做的数据库即纯x m l 数据库【2 】。纯 x m l 数据库充分考虑到x m l 数据的特点,以一种自然的方式来处理 x i v i l 数据,其基本的存储单元就是x m l 文档,通过x m l 相关的标准 进行数据库的存储,能够从各方面很好地支持x m l 的存储和查询,并 且能够达到较好的效果。目前已经有许多研究机构开发了纯x m l 数据 库,国外有l o r e 4 、t a m i n o f l 、t i m b e r 6 | 等。l o r e 是一个半结构化数据 库,近年来也用来存储x m l 数据,但是l o r e 的数据模型不能完全反映 x m l 数据的信息,如有序性和模式,并且l o r e 用一个d a t ag u i d e 来概 括其模型中路径上的信息,作为查询的参考,因此有额外的空间要求。 t a m i n o 是第一个商用的纯x m l 数据库系统,它的数据存储采用的是一 种称之为 a d a b a s ”的可嵌套的关系引擎的改进版本,它主要的创新之 处在于索引结构、模式信息处理和w e b 接口。t i m b e r 的底层采用的是 一个面向对象的数据库s h o r e ,借用了这个数据库良好的存储管理、缓 冲机制和并发机制等,数据存储的粒度是结点,由于粒度太小,使系统 效率有些问题。纯x m l 数据管理系统至今还没有形成一个固定的模式 规范,对纯x m l 数据管理系统而言,当务之急是建立统一的标准,以 便于未来发展的需要。纯x m l 数据库要走向成熟还有很长的路。 中国石油大学( 华东) 硕士论文第1 章前言 第二种是在已有的关系数据库系统或面向对象数据库系统基础上 扩充相应的功能,使其能够胜任x m l 数据的处理,这种数据库又称为 使能x m l 数据库。目前,x m l 使能数据库的研究主要是基于关系数据 库。这种方法的优点是可以充分利用已有的非常成熟的关系数据库技 术,集成现有的大量存储在关系数据库的商用数据,但这种处理方法不 能利用x m l 数据自身的特点,如结构化、自描述性等,使得在处理x m l 数据的时候要经过多级复杂的转换,如存储x m l 数据时要将其转换为 关系表或对象,在查询的时候要将x m l 查询语言转换为s q l 或o q l , 查询结果转换为x m l 文档等。 为了充分发挥商用关系数据库系统使用广泛、数据处理能力强、查 询性能好的优势,目前有许多研究者正在从事基于关系数据库系统处理 x m l 数据的研究。国内有复旦大学的v x m l r 系统 3 1 ,也有一些成形 的产品问世,例如设在麻省r e a d i n g 的x y v i s i o n 企业解决方案公司研制 的c o n t e n t x m l 7 是一套内容管理系统,它可以在任何一种流行的关 系数据库中存储x m l 文件。其好处是可以开展基于内容的协同工作, 进行多通道内容输出。一家技术出版商选用了c o n t e n t x m l ,他们说 x m l 将他们2 周的工作压缩到几分钟。 当前对x m l 的存储支持得较好的关系数据库主要有o r a c l e 、 m i c r o s o f ts q ls e r v e r 和i b md b 2 ,并不断有新产品问世。例如,微软 公司的s q ls e r v e r2 0 0 5 提供一种新的x m l 数据类型,使在s q ls e r v e r 数据库中存储x m l 片段或文件成为可能。2 0 0 6 年夏天,m m 发布了代 号为“毒蛇”的d b 29 【7 j ,它支持原生x m l 文档,通过层次型与关系 型的混合管理模式,对结构化数据与异构数据进行统一管理。或许是应 对i b m “毒蛇”出洞,还未正式发布的o r a c l ed a t a b a s el l g l 8 1 中加入了对 于二进制的x m l 文件存储,以提高数据库提取文件的速度。 3 中国石油大学( 华东) 硕士论文第1 章前言 包括甲骨文、微软在内的数据库厂商都在走从传统关系数据库中支 持x m l 的路线聊并且在其成熟的关系数据库产品中提供了对x m l 的支持。但提供的数据库产品对x m l 的支持往往不是内置的x m l 支 持,而是通过提供两种基本的数据库设计选项,将每个x m l 文档完整 地存储为一个大型对象,或者将它拆散,分散存储在多个表的多个列中。 在多数情况下,把x m l 数据重新格式化或置于大的对象中,然后作为 关系数据存储,可能会导致性能问题、管理困难、查询的复杂性增加以 及其他一些问题。虽然当前流行的大型数据库都提供了x m l 的存储策 略,但最大的缺陷在于其解决方案和具体关系数据库平台相关,只能在 本数据库中实现存储,不同数据库厂商提供的解决方案无法运用到其它 厂商的平台上,不太适用于集成了多种操作系统和关系数据库平台的应 用领域,因此不具有通用性。 总之,x m l 文档的关系数据库存储还存在一系列困难,有待进一 步的研究工作。 1 ,3 本课题研究内容 x m l 文档在关系数据库中的存储及其与关系数据库进行数据交换 的核心是x m l 和关系数据库间的数据映射技术。目前存在的多种映射 方法,根据是否使用x m l 模式可分为两类y o l ,无模式映射州o n - s c h e m a m a p p i n g ) 和模式驱动映射( s c h e m a d r i v e nm a p p i n g ) 。 x m l 模式定义了x m l 文档的词汇表、逻辑结构和允许值,利用模 式可以对x m l 实例文档的正确性和有效性进行验证。模式驱动映射是 以x m l 模式为基础的映射,包括d t i ) ( d o c u m e n tt y p ed e f i n i t i o n ,文 档类型定义) 和x m ls c h e m a 两种方式,其广泛适用于电子商务、数据 交换和系统集成等领域内主要面向数据处理的x m l 文档。相比无模式 中国石油大学( 华东) 硕士论文第1 章前言 映射,模式驱动映射不易丢失结构信息,能较好地保证映射后数据的正 确性和完整性。但模式映射技术也存在局限,其不太适合混和内容过多 或模式经常改变的x m l 文档,而且由于模式映射要对x m l 模式进行 分析,其转换过程相比无模式映射要复杂很多。 由于x m ls c h e m a b 茂为正式推荐标准的时间较晚,加之小。d t d 语法相对简单,所以现在大部分的研究和应用都是基于x m ld t d 展开 的 1 l , t 2 i3 1 。但是,x m l d t d 在对关系数据的描述方面明显存在着不足, 例如x m ld t d 有限的数据类型根本无法完成对关系数据类型的一一映 射,也无法实现大部分的数据规则的描述。x m ls c h e m a 提供了更多的 内建数据类型,并支持用户对数据类型的扩展,基本上满足了关系模式 在数据描述上的需要,因此本课题主要研究ls c h e m a 与关系模式的 映射。 本课题的主要任务是实现从x m ls c h e m a 模式到关系模式的映射, 有效的把x m l 数据存储到关系数据库中。具体表现在以下几个方面: 研究x m l 及其相关技术的发展,重点研究x m ls c h e m a 对x m l 文档结构的定义和约束。 x m l 文档的关系数据库存储技术研究。 研究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 的x m l 文档的关系化存 储的原型系统,证明课题所提出的方法的有效性。 中国石油大学( 华东) 硕士论文第1 章前言 1 4 本文组织 第1 章;绪论,介绍本论文的研究背景、研究意义、课题相关领域 国内外研究现状、课题的研究内容以及论文的组织结构。 第2 章:x m l 及相关技术,介绍x m l 及论文中用到的相关技术, 主要包括x m ld t d ,x m ls c h e m a ,d o m ,鼬1 ) ( ,j d o m 。 第3 章:x m l 文档的存储方法研究,主要介绍了x m l 文档的存储 方法,重点是研究x m l 文档在关系数据库中的存储技术。 第4 章:x m l 模式与关系模式映射技术的研究,是本论文的主要 部分,映射理论的研究以及创新部分主要体现在本章。主要内容包括: x m l 元素、属性、约束等映射到关系表的方法,在关系表中添加主、 外键的方法,x m l 模式到关系模式的转换方法以及转换过程中相似模 式的更新和匹配等问题的研究 第5 章:原型系统的设计与实现,主要介绍了原型系统的结构、系 统实现环境与所使用的技术、系统构成基本模块的实现以及系统性能测 试与分析。 第6 章:总结与展望,包括对论文工作的总结及对今后工作的展望。 6 中国石油大学( 华东) 硕士论文第2 章) 咖。及相关技术 第2 章x m l 及相关技术 2 1 x m l 简介 2 1 1x m l 特点 x m l 是由w 3 c ( w o r l d 晰d ew e bc o n s o r t i u m ) 1 卅的x m l 工作组定义 的。这个工作组是这样描述该语言的:。x m l 是s g m l ( s t a n d a r d g e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记语言) 的子集,其目标是允许 普通的s g m l 在w e b 上以目前h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ) 的方 式被服务、接收和处理。x m l 被设计成易于实现,而且可以在s g m l 和h t m l 之间互相操作。” x m l 是一套定义语义标记的规则,这些标记将文档分成许多部件 并对这些部件加以标识。x m l 是一种元标记语言,用户可以定义自己 需要的标记,并且能够通过元素之间的嵌套包含来体现层次结构。这些 标记必须根据某些通用的原理来创建,x m l 标记描述的是文档内容的 结构和含义,而不是描述页面元素的格式化。 相对于h t m l 而言,x m l 具有很多优点: ( 1 ) x m l 是自描述的。x m l 的最大能量来源于它不仅允许定义自己 的一套标记,而且这些标记不必局限于对于显示格式的描述。 ( 2 ) x m l 支持对文档内容的验证。x m l 文档的结构和内容是由其语 法定义的。 ( 3 ) x m l 允许开发各种不同专业( 如音乐、化学、数学等) 特定领域 的标记语言。有了这些语言,这个领域的实践者们可以相互自由地交换 短文、数据和信息,而不必担心对方是否利用特殊的、专用的软件来创 建数据。 ( 4 ) x i v i l 是非专有并易于阅读和编写的。这使它成为不同应用之间 中国石油大学( 华东) 硕士论文第2 章x m l 及相关技术 数据交换的理想格式。 ( 5 ) x m l 是基于w 3 c 定制的开放标准,从而使得基于x m l 的应用 具有广泛性。 ( 6 ) 支持高级搜索。因为可以知道文档内容的结构和含义( 根据它的 语法规则) ,所以很容易在x m l 文档中进行搜索。 有人说,x m l 是下一代w e b 语言,是2 1 世纪的“世界语”。不管是 否确切,这些说法都显示出了x m l 的巨大潜力。 2 1 2x l 应用概述 + 目前x m l 在很多方面都有应用”5 1 ,可以简单地分为以下几类: ( 1 ) 设计置标语言 x m l 为用户提供了定义本行业、本领域置标语言的最好工具。目 前这一应用的成功例子比比皆是,例如化学领域的c m l ,数学领域的 m a t h m l 1 6 1 ,移动通信领域的w m l 等。 ( 2 ) 文件保值 x m l 良好的保值性和自描述性使它成为保存历史档案,如政府文 件、公文、科学研究报告等的最佳选择。 ( 3 ) 数据交换 数据交换无疑是x m l 最令人激动的应用。x m l 的出现,为信息的 标准化提供了有力的工具。由于数据交换在电子商务尤其是企业一企业 电子商务中起到核心作用,x m l 为电子商务带来了新的机遇和活力。 ( 4 ) w e b 应用 由于x m l 是由s g m l 特别为w e b 简化的,因此x m l 文档将成为 w e b 资源的重要组成部分,x m l 使得搜索引擎更为智能和准确。x m l 还可以用于建立多层w e b 应用。 中国石油大学( 华东) 硕士论文第2 章) 咖,及相关技术 2 2x m l 模式:d t d 与x m ls c h e m a 咀。文档本质上是保存信息的结构化载体。为了得到有效的x m l 文件,还必须要明确文件中的信息必须遵守哪些结构,即需要一种用来 描述) 0 吼文档中信息结构的数据模型。广义上的x m l 模式,包含 d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) 和x m ls c h e m a 。x m l 模 式在基于x m l 的应用中被广泛使用,主要包括x m l 词汇表定义,x m l 文档验证,文档编辑等领域。 2 2 1d t d d t d 是随) 西儿1 0 标准提出的一种沮,模式。通过对某类x m l 文档创建d t d ,开发人员可以正式且精确地定义该类文档的词汇表和 结构,解析器可以根据d t d 对v 几实例文档进行有效性验证。d t d 列出了可用在文档中的元素、属性、实体和符号表示法,以及这些内容 之间可能的相互关系。d t d 指定了文档结构的一系列规则。 1 ) d t d 结构 d t d 中一个元素类型声明含有两部分内容:子元素的声明和属性的 声明。 子元素声明结构: 内容类型c o n t e n t t y p e 可能有五种:其它元素:p c d a t a ,说明是解 析后的字符数据;e m p t y ,表明元素没有内容;a n y ,表明可以允许 任何内容;上面四个选择构造的正则表达式 属性声明结构: 关键字a t t l i s t 表明一个属性声明的开始。e l e m e n t n a m e 是与属性 定义相关的元素名。接着是一个或多个属性的声明,每个属性有一个属 性名a t t n a m e 和一个属性类型a t t t y p e 。 9 中国石油大学( 华东) 硕士论文第2 章) 叫及相关技术 2 ) d t d 特点 l d t d 有许多优点,它相对简单,语法紧凑。但是d t d 提出较早, 人们在使用过程中也发现它有很多的不足之处。其主要缺点有:难以理 解和书写;难以使用程序进行元数据的自动处理;d t d 支持的数据类 型有限:d t d 不支持命名空间( n a m e s p a c e s ) d t d 缺乏良好的扩展性; d t d 的内容模型不具备开放性,无法扩充等。 d t d 在简单的文档结构定义方面是较出色的,但如果考虑到x m l 的用途现在已不仅局限于文档处理,那么d t d 的这些缺点就变得日趋 严重。因此w 3 c 在看到了d t d 的诸多问题之后,提出了一系列用来代 替d t d 的建议。在x m ls c h e m a 之前已经开发了4 种模式语言:包括 x d r 、d c d 、s o x 、d d m l 。这4 种语言共同被认为是x m ls c h e m a 的起点,它们的开发者也有很多参与了x m l s c h e m a 的创建。 2 2 2x m ls c h e m a 1 1 x m l s c h e m a 简介 随着x m l 在电子商务和企业集成( e a i ) 这样的数据应用领域里的 广泛使用,出现一种更健壮的模式语言也就显得越发重要了。 w 3 c 于1 9 9 8 年开始制定x m ls c h e m a 的第一个版本。在2 0 0 1 年5 月正式为官方推荐。正式推荐的版本包括三部分【1 7 ,1 8 ,1 9 l : ( 1 ) x m ls c h e m ap a r t 0 :p r i l n e r 。这是对x m ls c h e m a 的非标准介绍, 提供了大量示例和说明。 ( 2 ) x m ls c h e m ap a r t l :s t r u c t u r e s 。这部分描述了x m ls c h e m a 的大 部分组件。 ( 3 ) x m ls c h e m ap a r t 2 :d a t a t y p e s 。这部分包括简单数据类型,解释 了内置的数据类型和用于限制它们的方面( f a c e t ) 。 2 1x m ls c h e m a 组件 l o 中国石油大学( 华东) 硕士论文第2 章x 札及相关技术 x m ls c h e m a 采用组件来评估一个格式良好的元素和属性信息的有 效性,x m ls c h e m a 标准组件的u m l 类图见附录1 所示。在x m ls c h e m a 中一共有1 3 种组件,分为3 类: 主要组件( p r i m a r yc o m p o n e n t s ) :包括:简单类型定义( s i m p l e t y p ed e f i n i t i o n s ) ,复杂类型定义( c o m p l e xt y p ed e f m i t i o n s ) ,属性声明 ( a t t r i b u t ed e c l a r a t i o n s ) ,元素声明( e l e m e n td e c l a r a t i o n s ) ; 夺二级组件( s e c o n d a r yc o m p o n e n t s ) 包括:属性组定义( a t t r i b u t e g r o u pd e f i n i t i o n s ) 、一致性约束义( 1 d e n t i t y - c o n s t r a i n td e f i n i t i o n s ) 、模型 组定义( m o d e lg r o u pd e f m i t i o m ) 和表示法声明( n o t a t i o nd e c l a r a t i o n s ) ; 帮助组件( h e l p e rc o m p o n e n t s ) :它们不能被命名或独立访问。 它包括注释( a n n o t a t i o n s ) ,模型组( m o d e lg ,o u p s ) ,粒子( p a r t i c l e s ) 可以分 割的元素组,通配符( w i l d c a r d s ) ,属性使用( a t t r i b u t eu s e s ) 。 3 ) 元素声明 元素声明 2 0 1 用于给元素指定名称和类型。在x s d l 中,这是通过使 用e l e m e n t 元素实现的。元素声明可以是全局的,也可以是局部的。 ( 1 ) 全局元素声明 全局元素声明出现在模式文档的顶级结构中,也就是说,它的父元 素必须是s c h e m a 。这些全局元素声明可以用在多个复杂类型中。 全局元素声明: ( 2 ) 局部元素声明 局部元素声明只出现在复杂类型定义内部。局部元素声明只在该类 型定义中使用,而不被其它复杂类型引用或在替换组中使用。 局部元素声明: 中国石油大学( 华东) 硕士论文第2 章) 0 儿及相关技术 x s d :e l e m e n tl l a n - l e - = s i z e ”t y p e = ”x s d :i n t e g e r ”序 4 ) 属性声明 属性声明【2 0 】用于命名属性并使之与某个特定的简单类型相关联,在 x s d l e p ,实现的方法是使用a t t r i b u t e 元素。属性声明可以是全局的,也 可以是局部的。 ( 1 ) 全局属性声明 全局属性声明出现在模式文档的最顶层,也就是说,它的父元素是 s c h e m a 元素。这些全局声明的属性可以在多个复杂类型中使用。 全局属性声明: x s d :a t t r i b u t eb a n l e = q i r n 竹t y p e = x s d :i n t e g e r ,胁 ( 2 ) 局部属性声明 局部属性声明完全出现在复杂类型定义中。它也仅能在该类型定义 中使用,而且不能被其他类型重用。 局部属性声明: x s d :a t t r i b u t en a m e = “s y s t e m ”t y p e = ”x s d :s t r i n g “胁 5 ) 简单类型定义 简单类型2 0 1 有三种:原子类型、列表类型和联合类型。 简单类型既可以为命名简单类型又可以为匿名简单类型。命名简单 类型总是在全局定义,而且要求在模式的数据类型中具有惟一名称。匿 名简单类型则不能有名称,它们总是完全在元素或属性声明中进行定 义,而且只能被该声明使用一次。把某个类型定义为匿名类型,可防止 它被限制、被用于列表和联合中、或被重新定义。下表显示了这两种简 1 2 中国石油大学( 华东) 硕士论文第2 章) 叫,及相关技术 单类型的定义方式。 表2 1 简单类型定义 命名简单类型匿名简单类型 x s d :s i m p l e t y p en r m e = ”s i z e x s d :m i n l n c l u s i v ev a l u e = 2 修 x s d :m i n l n c l u s i v ev a l u e = 2 协 x s d :m a x i n c l u s i v ev a l u e = 1 8 伦 x s d :s i m p l e t y l 6 ) 复杂类型定义 复杂类型口明用来定义内容模型和元素属性。主要有4 种不同的内容 类型:简单类型、纯元素类型、混合类型以及空类型。复杂类型的元素 拥有子元素或属性,它们也可以有字符内容。复杂类型可以是命名的, 也可以是匿名的。命名类型可以被多个元素和属性声明所使用,总是在 全局范围内被定义,并要求在模式内的数据类型中具有惟一名称。匿名 复杂类型必须没有名称。它们总是完全在元素声明中进行定义,而且只 可以被该声明使用一次。表2 2 显示了这两种复杂类型的定义方式。 在复杂类型元素的内容模型中有3 个不同的分支,代表创建复杂类 型的3 种不同的方法,如下: 单个c o m p l e x c o n t e n t 子元素,使用它,可以从另一个复杂类型 派生复杂类型。 单个s i m p l e c o n t e n t 子元素,用于从简单类型派生复杂类型。 夺组( 争o u p 、a l l 、c h o i c e 或s e q u e n c e ) 加属性 由于x m ls c h e m a 的标准非常复杂,其相关文档有数百页之多,我 们不可能对所有的组件一一进行详细分析,所以只以上述比较有代表性 中国石油大学( 华东) 硕士论文 第2 章) 咖及相关技术 的元素和属性声明及简单、复杂类型定义等为例说明x m ls c h e m a 标 准,其它x m ls c h e m a 相关内容可参考w 3 cx m ls c h e m a 标准相关文 档。 表2 2 复杂类型定义 命名 x s d :e l e m e n tn a m e = 。n u m e r r e f = ”p r o d n u m t y p e 。d - 复杂 复杂 类型 2 2 3d t d 与x m ls c h e m a 的比较 x m ls c h e r m 本身也是一种x m l ,v 几s c h e m a 的格式与x m l 的格 式是完全相同的,x m l 用户在使用x m ls c h e m a 的时候,不需要为了理 解x m ls c h e m a 而重新学习,x m ls c h e m a 除了可以像订l 一样处理外, 也可以同它所描述的x m l 文档以同样的方式存储,以x m l 为数据交换 的应用系统也可以方便的进行模式交换,许多的x m l 编辑工具、a p i 开 发包、x m l 语法解析器可以直接的应用到x m ls c h e m a ,而不需要修改。 x m ls c h e m a 与x m ld 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 的进一步发展奠定了坚实的基础。 1 4 中国石油大学( 华东) 硕士论文第2 章b i l 及相关技术 扩展性:x m ls c h e m a 对d t d 进行了扩充,引入了数据类型、命名 空间,从而使其具备较强的可扩展性。 互换性:利用x m ls c h e m a ,我们能够书写x m l 文档以及验证文档 的合法性。另外,通过特定的映射机制,还可以将不同的s c h e m a 进行转 换,以实现更高层次的数据交换。 规范性:同d t d 一样,s c h e m a 也提供了一套完整的机制以约束x m l 文档中置标的使用,但相比之下,后者基于x m l ,更具有规范性。 通过比较,可以看出,x m ls c h e m a 比x m l d t d 具有更强的表现力, 能够更好的满足不同领域应用的需求。本文所提出的模式映射方法就是 基于x m ls c h e m a 的。 2 3x 札解析 x m l 解析器用来读取x m l 文档并检查其形式合理性,它定义了一 些行为以减少用户处理x m l 数据的负担,这些行为以a p i ( a p p l i c a t i o n e r o g r a m m j n gi n t e r f a c e ,应用程序接口) 的形式被应用程序所调用。目 前使用最为广泛的x m la p i 包括w 3 c 提出的基于树形结构的 d o m 2 q ( d o c u m e n to b j e

温馨提示

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

评论

0/150

提交评论