




已阅读5页,还剩128页未读, 继续免费阅读
(计算机系统结构专业论文)面向方面的xml数据管理技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
小r llfrlr11 1 1iii ir l l l l i i il l l l y 1717 2 6 2 ad i s s e r t a t i o nf o rt h ed e g r e eo fd o c t o ri nc o m p u t e rs y s t e ma r c h i t e c t u r e s t u d y o na s p e c t - o r i e n t e dx m l d a t a m a n a g e m e n tt e c h n i q u e s b yj i a n g y a n s u p e r v i s o r :w a n gg u o r e n n o r t h e a s t e r nu n i v e r s i t y m a y 2 0 0 9 独创性声明 本人声明,所呈交的学位论文是在导师的指导下完成的。论文中取得 的研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过 的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示诚 挚的谢意。1 学位论文储签名:掳 签字日期:勿f - 7 7 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论 文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部 或部分内容编入有关数据库进行检索、交流。 作者和导师同意网上交流的时间为作者获得学位后: 半年口一年 学位论文作者签名:型彩 盯 签字日期:砌) - 1 、5 ; 7 一 p 、v 至v, 刀 知 三嬲 两 乱 玑 访 名 期 签 日 师 字 导 签 口半年一 一i i 东北大学博士学位论文 摘要 面向方面的x m l 数据管理技术研究 摘要 随着i n t e m e t 技术和计算机技术的不断发展,x m l 由于其所具有的自描述性、灵活 的数据结构以及丰富的数据表示能力等特点,正在成为w e b 信息表示与数据交换的标 准。面向对象的方法具有很强的建模能力,将面向对象的特征引入到x m l 中用来提高 x m l 模式语言的建模能力。传统面向对象技术很难从根本上解决由于系统复杂度的提 高而带来的代码混乱和代码纠缠问题。面向方面的程序设计正是针对这种实际隋况被提 出的。 本文在对面向方面技术进行了深入分析的基石t t l _ e ,对面向方面技术的各个方面进行了 系统的研究。比较了面向对象技术与面向方面基础的不同特征,提出并实现了种基于面 向方面的x m l 数据管理技术。本文主要的研究成果有以下几点: ( 1 ) 对面向方面这种新型的方法进行分析,并且对面向对象理论在解决实际问题时的 不足之处加以研究。在对比传统的面向对象的方法与面向方面的方法基础上,提出利用面 向方面的方法对x m l 文档进行扩展。在x m l 文档定义中引入关注点这一概念和织入重 要机制。通过实现对x m ls c h e m a 的扩充,使x m l 文档定义具有面向方面编程技术的功 能。实现织入、切入点与面向对象中继承、阻塞、重载等技术的结合对x m l 文档定义; ( 2 ) 提出一种x m l 数据存储和查询的方法,该方法采用s a x 技术输出x m l 流,并 通过对原有编码的分析,对x m l 文档中各个元素进行扩展前缀编码,并随元素信息存入 关系数据库。即在关系数据库中存放节点信息及节点之间的关系,使查询节点与子节点信 息更方便,实现以文档为中心的大粒度文档的存储和查询,有效地提高了x m l 文档存储 和查询效率; ( 3 ) 在分析原有编码的方式基础之已对原有扩展编码进行压缩。对于冗余节点信息 进行重新编码,解决原有基于扩展前缀编码存储车- l t :的x m l 文档结构信息时占用空间较 i i i 东北大学博士学位论文摘要 大问题; ( 4 ) 在分析现有单文档下的x m l 结构连接算法基础之匕,对现有祖先循裔与双亲孩 子结构查询进行改进,提出了基于归并思想的,解决多文档下的结构连接算法,以适应在 面向方面的x m ls c h e m a 中定义的基于多文档的查询。该算法可以进步利用x m l 数据 的特点、索引和织入文档信息减少连接扫描的代价。 最后,在本文关于面向方面的x m l 存储、索引和查询处理的研究基础上,设计并实 现了相关的试验验证了本文所提方法的正确性和有效l 生。 关键词:面向方面x m l ,面向对象x m l ,静态织入,动态织入,切入点,结构连接 鼍 - 东北大学博士学位论文a b s t r a c t s t u d yo na s p e c t - o r i e n t e dx m l d a t am a n a g e m e n t t e c h n i q u e s a b s t r a c t w i t ht h ed e v e l o p m e n to f i n t e m e ta n dc o m p u t e rt e c h n o l o g y ,x m lh a sb e e nb e c o m i n gad e f a c t os t a n d a r df o ri n f o r m a t i o nr e p r e s e n t a t i o na n dd a t ae x c h a n g eo v e rt h ew e bd u et oi t s s e l f = - d e s c r i p f i o na n df l e x i b l e d a t as t r u c t u r ep r o p e r t i e s w i t ht h es t r o n gm o d e l i n ga b i l i t yo f o b j e c t - o r i e n t e dm e t h o d s ,i ti sp o s s i b l et oi m p r o v et h em o d e l i n ga b i l i t yo f x m l d a t am o d e l sb y e x t e n c u n gx m l w i t hs o m eo b j e c t - o r i e n t e df e a t u r e s t r a d i t i o n a lo b j e c t - o r i e n t e dt e c h n i q u e sc a n n o t f u n d a m e n t a l l yr e s o l v et h ec o d et a :n # n ga n ds c a t t e r i n gp r o b l e m sc a u s e db yt h eh i g hs y s t e m c o m p l e x i t y a s p e c t - o r i e n t e dp r o g r a m m i n g ( h o p ) m e t h o d o l o g yi si n t r o d u c e dt os o l v et h e s e p r o b l e m s 触e r $ s 删c a l l ym l a 慨a n ds m a y m ga o pt e c h n i q u e s ,a na s p e c t - o r i e n t e df r a m e w o r ki s p r o p o s e di nt h i sd i s s e r t a t i o nt om a n a g ex m l d a t a t h em a i nc o n t r i b u t i o n so f t h i sd i s s e r t a t i o na r e s u m m a r i z e da sf o l l o w s ( 1 ) a f t e ra n a l x z i l l ga s p e c t - o r i e n t e dm o d e l sa n da i s c u s s i n gs o m ep r o b l e m si np r a c t i c et h a t c o u l dn o tb es o l v e db yo b j e c t - o r i e n t e dt h e o r y , w ee x t e n dx m ld o c u m e n tm o d e l sw i t h a s p e c t - o r i e n t e dt e c h n i q u e s t h ee x t e n d e dx m l m o d e lh a sm o r eo b j e c t - o r i e n t e df e a t u r e sa n d a s p e c t - o r i e n t e df e a t u r e s , i n c l u d i n gm u l t i p l ei n h e r i t a n c e ,b l o c l ( i n g ,o v e r r i d i n g p o i n t c u ta n d w e a v i r 培 ( 2 ) w ep r o p o s ean e wm e t h o do f x m l d a t as t o r i n ga n d q u e r y i n g i ta d o p t ss a xt e c h n o l o g y t oo u t p u tx m l s t r e a m s ,e x t e n d se a c he l e m e n tw i t hp r e f i xc o d ew i t ht h ea n a l y z i n go f p r e f i xc o d e , a n ds t o r e st h e mi n t ot h er e l a t i o n a ld a t a b a s ew i t ho t h e r si n f o r m a t i o n t h en e wm e t h o dc a n e f f i c i e n t l ys t o r ea n dq u e r yd a t a - c e n l r i cd o c u m e n t sw i t hl a r g eg r a t a a r i t y 0 ) w ep r e s e n ta ne f f e c t i v em e t h o dt oc o i i 髑t h e 埘西n a le x t e n d e dp r e f i xc o d e t h e m e t h o dr e c o d e st h er e d u n d a n ti n f o r m a t i o nt os o l v et h ep r o b l e mt h a tt h eo r i g i n a le x t e n d e dp r e f i x c o d eh a sl a r g e rs p a c ec o m p l e x i t ys p a c ew h e ns t o r i n gt h el a r g ex m ld o c u m e n t s v 东北大学博士学位论文 a b s t r a c t ( 4 ) w ei m p r o v et h es t r u c t u r a lj o i na l g o r i t h mo fa n c e s t o r d e c e n d a n ta n dp a r e n t c h i l do v e rt h e s i n g l ex m ld o c u m e n t , 狃1 dp r o p o s eam e r g e - b a s e ds t r u c t u r a lq u e r ya l g o r i t h mo v e rm d f i p l e d o c u m e n t st oa d a p tt ot h eq u e r yo f t h ea s p e c t _ o f i e n t e dd e f i n i t i o no f t h ex m ls c h e m ai nt h ec a s e o f m u l t i p l ed o c u m e n t s t h ep r o p o s e da l g o r i t h m c a nf u r f l a e rr e d u c et h ec o s to f s c a n n i n gd o c u m e n t s b yu t i l i z i n gt h ef e a t u r e so f x m ld a t a , 缸蛐a n d i n f o r m a t i o nw a v i n gi n t ot h ed o c u m e n t s f i n a l l y , al o to fe x p e r i m e n t sa r ec o n d u c t e dt os h o wt h ee f f e c t i v e n e s sa n de f f i c i e n c yo f t h e p r o p o s e da l g o r i t h m si nt h i sd i s s e r t a t i o n k e yw o r d s :a s p e e t o r i e n t e x t 缸o b j e c t - o r i e n t e dx m ls t a t i cw e a v ei n , d y n a m i cw e a v ei n , p o i n tc u t , s l m c a k r a l j o i n v i - l p 0 7 1 、 东北大学博士学位论文 第一章绪论 目录 独创性声明i 摘要一i i i a b s t r a c t v 第一章绪论1 1 1x m l 技术1 1 1 1 标识语言发展历史1 1 1 2x m l 简介2 1 2x m l 模式语言。:3 1 2 1d t d 3 1 2 2 x m ls c h e m a 一5 1 2 3x m l 文档模型8 1 3 研究动机9 1 4 论文的主要工作1 1 1 5 论文的组织结构1 2 第二章面向对象x m l 及面向方面技术概述1 5 2 1 面向对象技术l5 2 1 1 面向对象相关基本概念1 5 2 1 2 面向对象的优势16 2 1 3 面向对象的x m l 17 2 2 面向方面技术18 2 2 1 面向方面的提出18 2 2 2 面向方面的相关概念1 9 2 2 3 面向方面技术的应用2 1 2 3 本章小结2 2 第三章面向方面x m l 的逻辑基础2 3 3 1 面向方面x m l 文档模型2 4 v i i 东北大学博士学位论文 第一章绪论 3 1 1a o x m l 框架的提出2 4 3 1 2a o x m l 文档遵循原则及基本结构2 4 3 2 面向方面文档定义2 6 3 2 1 文档模型定义2 6 3 2 2 织入算法3 2 第四章基于面向对象的面向方面x m l 模式语言3 7 4 1 基于面向对象扩展x m ls c h e m a 3 7 4 1 1 多继承3 7 4 1 2 重载4 1 4 1 3 冲突解决4 3 4 1 4 多态性一4 6 4 2 基于面向方面的扩展4 6 4 2 1 方面一4 7 4 2 2 动态织入4 8 4 2 3 静态织入5 0 4 2 4 阻塞织入5 5 4 3 面向方面的x m ls c h e m a 实例5 7 4 4 本章小结6 1 第五章面向方面x m l 数据的关系存储与查询转换6 3 5 1x m l 存储6 3 5 2x m l 数据编码6 5 r r 东北大学博士学位论文 第一章绪论 5 4 3 x m l 查询及试验数据7 9 5 5 本章小结8 l 第六章面向方面的x m l 数据结构连接8 3 6 1 结构连接概述8 3 6 1 1 x m l 查询的分解8 3 6 1 2 结构连接算法概述8 4 6 2 区间编码查询算法8 7 6 2 1 编码定义8 7 6 2 2 改进的查询算法9 0 6 2 3 实验设计与结果评估10 0 6 3 本章小结1 0 2 第七章总结与展望1 0 3 7 1 本文主要工作与贡献10 3 7 2 进一步的工作10 4 参考文献一10 5 第八章致谢1 l5 攻博期间发表的文章1 17 第九章作者简介1 1 9 i x 东北大学博士学位论文 第一章绪论 x r r 东北大学博士学位论文 第一章绪论 第一章绪论 随着i n t e m e t 技术的发展,人们在不断地努力改进对信息的表示方式以适应发 展需要。现在的文档处理系统不仅记录了文档的原始信息,还包含了大量的结构 信息。可扩展标注语言x m l 作为一种新的i n t e m e t 上的数据交换标准越来越多地 影响到计算机的应用模式。可扩展标识语言x m l 是w 3 c 于1 9 9 8 年2 月制定出统 一的标准来规范x m l 的使用,即x m l l 0 规范。x m l 是一种描述数据和数据结 构的语言,可以保存在任何可以存储的文本的文档中。它具有自描述性、内容与 显示相分离、可扩展性、独立于平台等特点,同时提供了跨平台、跨网络、跨语 言的数据描述方式,成为w e b 上数据交换的标准格式。随着大量x m l 文档数据 的出现,如何高效的存储、管理和查询这些x m l 数据,目前成为一个值得研究的 重要课题。 1 1 x m i 技术 1 1 1 标识语言发展历史 标识语言是特指使用某种定义好的标识来表示特殊信息的语言,以实现对电 子文档结构的定义,例如使用一套有特殊含义的标识来表示某种格式信息或表示 某种数据信息。标识语言是由一些格式标识或控制标识组成的,这些标识定义了 信息的显示格式并对数据进行存储。根据标识语言的具体使用范围分为专用标识 语言与通用标识语言。专用标识语是为实现某一种指定用途而产生的标识语言, 通常被某一种或几种软件所支持,例如w o r d 、h t m l 、写字板、w p s 等。通用 标识语言设计并不针对某一特殊的应用软件,或某一特殊的用途,它通常只描述 文件中文字的内容与结构,是一般化的语言。具有被国际上标准化组织通过并被 全世界普遍接受的标准,例如s g m l 、g m l 等。 s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e 标准通用标识语言) 于19 8 6 年 通过i s o 认证。s g m l 是一种通用的标识语言,它为描述电子文档和文档结构提 供一套必要的通用框架,并允许建立新的一致性规则,同时具有极好的扩展性, 因此在数据分类和索引中非常有用。由于s g m l 所提供的功能已被美国一些大型 东北大学博士学位论文第一章绪论 企业所采用,如汽车公司和电信公司,同时作为一种文档标准被美国政府机构所 采用。s g m l 具有稳定性及可信度高,规范架构非常严谨,发展完善等特点。s g m l 规范发展的非常完整,完全可以满足各种领域使用者的需要。但由于s g m l 设计 复杂度高,需要价格较高的软件配合使用,不适合网络的日常应用,加上开发成 本高、不被主流浏览器所支持等原因,使得s g m l 在w e b 上的推广受到阻碍。 自2 0 世纪8 0 年代以来i n t e m e t 技术的飞速发展,w e b 技术的操作简单,获取 信息容易等特点成为网络应用的关键。h t m l 语言的出现,网页成为人们了解、 发布网络信息的主要渠道。 h t m l 是一种特定的s g m l 文档类型,最初由g e n n 在1 9 9 0 年设计,1 9 9 3 年由b e m e r s l e e 等人完成h t m l l 0 标准的制定。随后w 3 c 组织对h t m l 进行 开发和标准化。1 9 9 7 年1 2 月w 3 c 建议使用的h t m l 4 0 标准中,所有标识是固 定的,且数目有限。即h t m l 不允许使用者创建新的标识。由于h t m l 不具有可 扩展性和只能显示信息,且交互性差、语义模糊等缺点难以适应i n t e m e t 发展的要 求,因而一个标准、简洁、结构严谨及可扩展的表示语言x m l 随之诞生。 1 1 2x m l 简介 x m l 由w 3 c ( w o r l d w i d ew e bc o n s o r t i u m ) 的x m l - f 作组定义,并在1 9 9 6 年1 1 月 波士顿s g m l 世界年会上被与会代表一致同意作为全新的电子文件格式通用标准。 x m l 即可扩展标识语言,是一种基于s g m l 的简单灵活的语言,w 3 c 于1 9 9 8 年2 月 发布了其标准定义。同h t m l 一样,x m l 是s g m l 的一个简化子集,融合了s g m l 的丰富功能及h t m l 的易用性等优点【卜5 1 。 x m l 是一种跨平台标准,可运行在任何平台和操作系统上。从本质上看,x m l 和h t m l 都是由s g m l 派生出来的,但x m l 是一种元语言,即为一种描述语言的语 言,而h t m l 是一种实例化的标识语言。x m l 将s g m l 的丰富功能与h t m l 的易用 性结合到w e b 的应用中,并保留了s g m l 的可扩展功能,这使x m l 从根本上有别于 h t m l 。x m l 要l l h t m l 强大得多,它对标识不再作限定,而是允许自定义数量不 限的标识来描述文档中的内容,允许采用嵌套的信息结构。x m l 继承了s g m l 的 强大功能,但没有了其庞大与繁杂,拥有了h t m l 的简单特点,却弥补了其诸多不 足。总之,x m l 是一种简单而又灵活的标准格式,为基于w e b 的应用提供了一个 描述数据和交换数据的有效手段。随着网络的飞速发展,x m l 以其独特的技术优 势日益受到开发人员的重视和青睐,逐渐成为网络开发应用的核心技术,在互联 2 r r 东北大学博士学位论文 第一章绪论 网世界中扮演着重要的角色。 x m l 具有很多优点2 】:( 1 ) 简单。x m l 是一个精简的s g m l ,它将s g m l 的 丰富功能与h t m l 的易用性结合到w e b 应用中,它保留了s g m l 的可扩展功能,这 使得x m l 从根本上有别于h t m l 。并且x m l 中还包括了可扩展格式语言x s l ( e x t e n s i b l es t y l el a n g u a g e ) 和可扩展链接语言x l l ( e x t e n s i b l el i n k i n g l a n g u a g e ) ,使得x m l 的显示和解析更加方便快捷;( 2 ) 开放标准。x m l 基于的 标准是w 3 c 正式批准的并为w e b 进行过优化的。由于x m l 彻底把标识的概念同显 示分开了,使用者能够在结构化的数据中嵌套程序化的描述以表明如何显示数据。 x m l 是信息的高层封装与传输的标准。x m l 支持文档对象模型标准、可扩展类型 语言标准、可扩展链接语言标准和x m l 指针语言标准。使用x m l 可以在不同的计 算机系统间交换信息;( 3 ) 具有验证机制。x m l 的标识是用户自己构建的,标识的 定义和使用是否满足用户的要求,需要附加验证。x m l 主要有两种验证方法:一 种是d t d 且p 文档类型定义,d t d 是一个专门的文件,用来定义和校验x m l 文档结 构,形式简单功能较弱;另一种是x m ls c h e m a ,用x m l 语法描述,它i :t d t d 功能 强大,多个s c h e m a 可以复合使用x m l 名字空间,可以详细定义文档结构及约束元 素属性的数据类型。( 4 ) 可扩充性。x m l 文档支持复用文档片段,使用者可以创建 和使用自己定义的标识,也共享其它文档。x m l 提供了一个独立的运用程序的方 法来共享数据。使用d t d 或x m ls c h e m a ,不同的使用者能够使用共同的d t d 或 x m ls c h e m a 来交换数据,你的运用程序可以使用这个标准来验证你接受到的数据 的有效性,也用来验证自己定义的数据。( 5 ) 国际化标准。x m l 文档支持世界上大 多数文字,这源于依靠它的统一代码的新的编码标准。这种编码标准支持世界上 所有以主要语言编写的混合文本,能读取x m l 语言的软件,就能顺利处理这些不 同语言字符的任意组合。x m l 不仅实现不同的计算机系统之间交换信息,而且能 实现地区的信息交换。 1 2x m l 模式语言 在保证x m l 文档格式良好的基础上,使用x m l 结构化地组织数据必须保证文 档的有效性。验证机制定义了文档的逻辑结构,规定x m l 文档中所使用的元素、 实体、元素的属性、元素与实体之间的关系。 】2 1d t d 3 东北大学博士学位论文第一章绪论 d t d 是w 3 c 推荐的针对h t m l 和x m l 文档的类型定义标准,是一套关于标识 符的语法规则。它是x m l l 0 版规格的一部分,是x m l 文件的验证机制,属于 x m l 文件组成的一部分。d t d 是一种保证x m l 文档格式正确的有效方法,可以 通过比较x m l 文档和d t d 文件来看文档是否符合规范,元素和标签使用是否正确。 一个d t d 文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属 性,可使用的实体或符号规则等。x m l 文件提供应用程序个数据交换的格式, d t d 正是让x m l 文件能够成为数据交换的标准,因为不同使用这只需定义好标准 的d t d ,其他使用者能够依照d t d 建立x m l 文件,并且进行验证。这样就可以实 现建立标准和交换数据,满足网络共享和数据交互。 d t d 是为s g m l 而设计的,因此与x m l 语法格式不同,d t d 定义的内容包括: d t d 元素声明,属性声明,属性声明和标识声明等。在x m l 文档中使用d t d 的方 式有两种,一种是直接将d t d 文档加入到x m l 文档之中,另一种方式是使用是外 部独立的d t d 文件。元素声明定义了x m l 文档中出现的元素的相关信息,包括元 素标识、内含的子元素和元素内容数据。属性声明指定元素拥有的属性,包括属 性名称和值。下面是一个d t d 文档的例子。 4 - 东北大学博士学位论文 第一章绪论 1 2 2 x 【ls c h e m a d t d 作为x m l l 0 规范的重要组成部分,对于x m l 文档的结构起到了很好的描 述作用,是目前使用较为广泛的x m l 文档验证机制。但随着技术的进步,d t d 进 行有效性验证也存在一些缺点,比如采用非) ( m l 的语法规则、不支持数据类型、 扩展性较差等。 x m l s c h e m a 是2 0 0 1 年5 月正式发布的w 3 c ( 万维网联盟) 的推荐标准,主要弥补 d t d 功能上的不足f 1 4 】。经过数年的大规模讨论和开发如今终于奠定下来,成为全 球公认的x m l 环境下首选的数据建模工具,但是到目前为止,x m ls c h e m a 仍是 工作草案,并非国际标准规范。x m ls c h e m a 正是针对这些d t d 的缺点而设计的, 完全使用x m l 作为描述手段,具有很强的描述能力、扩展能力和处理维护能力。 下面是一个与上述d t d 文档相对应的x m ls c h e m a 文档的例子。文档中定义u n i v 元素,该元素包含四个子元素,分别使p e r s o n ,s t u d e n t ,t e a c h e r 和t s 。 x s :e l e m e n tr e f = - ”t e a c h e r ”m a x o c c u r s = ”u n b o u n d e d ”胁 - 5 东北大学博士学位论文 g - , 绪论 x s :e l e m e n tr e f = ”t s ”m a x o c c u r s = ”u n b o u n d e d ”胗 6 , x s :e l e m e n tn a m e = ”n a m e ”t y p e = ”x s :s t r i n g ”侈 7 - 东北大学博士学位论文第一章绪论 x s :a t t r i b u t en a m e = ”i d ”t y p e = ”x s :i n t e g e r ”u s e = ”r e q u i r e d ”胁 x m ls c h e m a 提供了x m l 文档结构和内容的约束机制,以验证格式良好的文档 的有效性。比对d t d ,x m l s c h e m a 有了很大的改进:( 1 ) 结构不同。x m ls c h e m a 本身是良好的x m l 文档,使用x m l 语法格式,可以使用x m l 文档的开发工具。而 d t d 使用自己的一套语法;( 2 ) 支持命名空间。d t d 文化你不支持命名空间,x m l s c h e m a 来自与x m l 完全支持命名空间规范,可以针对元素设置命名空间;( 3 ) 开 放和扩充性。x m ls c h e m a 在组织机制上提供了许多的扩充,允许模式用一种合理 的方式组合多个命名空间,以进行有效验证;( 4 ) 丰富的数据类型。x m ls c h e m a 在包含d t d 中定义元素仅1 0 种类型之上扩充为3 0 多种数据类型,并支持用户自己 定义新的复杂数据类型,复杂数据类型有简单数据类型组合实现,符合面向对象 的结构。同时支持简单的单继承派生。 1 2 3x m l 文档模型 目前,典型x m l 文档数据模型有两种:对象交换模型( o b j e c te x c h a n g em o d e l , o e m ) 和文档对象模型( d o c u m e n to b j e c tm o d e l ,d o m ) 1 3 1 4 1 。 1 2 3 1 对象交换模型o e m x m l 是一个半结构化数据的特殊表现形式。半结构化数据既不是没有经过任 何处理、无结构的原始数据,也不是传统数据库中严格定义的数据。x m l 半结 构化数据的内容与模式都包含在数据中,因此被称为是自描述的。有些半结构化 - 8 东北大学博士学位论文 第一章绪论 数据没有单独的模式,而有些虽然存在模式,却只对数据做不严格的约束。o e m 模型是由斯坦福大学yp a p a k o n s t a n t i n o u 等人于1 9 9 5 年提出的,用于描述半结构化 数据。这种描述形式的一个显著优点是模式和数据采用同一种数据模型( 图模型) , 非常便于处理。模式数据图通常是一个有根且带边标识的有向图,模式图的边标 识可以与数据图相同,也可以加以扩充,如允许正规式形式,或采用特定形式规 则等。对于模式图中的节点,可以加一定注释,表明其代表语义或其它特定含义。 一个o e m 对象表示为:一个四元组 ,即0 e m 对象由四部分组成:对象的标识o i d ,标识,类型,值。其中o i d 唯一标识了一个 o e m 对象,既可以是一个无符号整数,也可以是某个用于描述该对象出自何处的 表达式;标识表达一种语义信息,即对象表示的是什么;对象值的类型可取集合 类型或原子类型;对象的值可以是原子值或是对象集合。o e m 是一种基于图的数 据模型,对象对应节点,对象与对象的关系以使用带标识的边表示。 1 2 3 2 文档对象模型d o m 文档对象模型d o m 是由w 3 c 组织定义并公布的一个标准,该标准为多重平台 和语言使用d o m 技术提供的a p i 。w 3 c 的文档对象模型1 级标准允许w e b 浏览器来 标识和操纵页面上元素的方式。2 0 0 1 年w 3 c 发布了d o m l e v e l 3 的标准工作草案, d o m 依据文档的结构将其转换为树型结构的文档对象模型,用户通过对该对象模 型的访问,可以动态地创建文档,遍历文档结构,对x m l 文档数据进行修改、移 动、删除和插入等操作。 d o m 把文档表示为节点对象树,映射了x m l 文档的树种结构。d o m 对x m l 文档分析后,将其所有信息转化成一颗节点对象树。在这棵节点的对象树中,只 有一个根节点,其余节点是根节点的后代节点。节点对象树生成后,可以通过d o m 接口访问、修改、添加、删除树中的节点和内容。 1 3 研究动机 随着计算机应用技术的快速发展,目前的x m ld t d 和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 ld t d 和x m ls c h e m a 的面向对象技术扩展进行了系 9 一 东北大学博士学位论文 第一章绪论 统研究,取得了很多研究成果。但是这些研究成果无法满足不断发展的x m l 应用 建模需求。下面我们先通过一个例子来说明当前面向对象的主要特征,并进一步 阐述其存在的主要问题和本文的研究动机。图1 1 中给出了一个面向对象的x m l 文 档结构,包括p e r s o n ,s t u d e n t ,t e a c h e r ,t a 四个复杂元素。继承是面向对象数据 模型的一个基本特征,在面向对象的语言中还包含多重继承,即一个类可以继承 一个或多个类的属性和方法,例如助教类t a 可以直接继承类t e a c h e r 和类s t u d e n t 的 属性和方法。在多重继承中,可以明确地重载和阻塞从超类继承的方法和属性, 在图1 1 中,类p e r s o n 的属性a d d r ,在子类t e a c h e r 中被阻塞。元素有两种:简单元 素和复杂元素。简单元素用图形表示为:口,例如:p e r s o n 的元素n a m e 和 b i r t h d a y ,s t u d e n t 中的元素d e p t 和g r a d e 。复杂元素用图形表示为:- ,例如:p e r s o n 中的元素a d d r ,a d d r 中包含了c i t y ,s t r e e t ,z i p 简单元素。描述两个复杂元素之间 有父元素和子元素的继承关系,用图形表示为:_ ,指针顶端指向父元素,另 一端是子元素,例如元素p e r s o n 有两个子元素t e a c h e r 和s t u d e n t 。包含关系为基本的 组成关系,表明组成复杂元素的简单元素。表示为:,通常表示为包含该元 素数量1 个。该符号可与d t d 中通配符? ,+ ,宰配合使用,分别表示包含元素的数 量为0 个和多个,1 个以上,0 个以上。例如:元素a d d r 由元素s t r e e t ,c i t y ,s t a t e 和z i p 组成。 重载、阻断和重命名为面向对象x m l 的特征。在元素定义中,子元素能重载 从父元素继承的元素和属性,阻塞继承超元素的元素和属性,重新命名从父元素 继承的元素和属性。符号十一表示重载,例如:p e r s o n d p 的复杂元素a d d r 被s t u d e n t 中的简单元素a d d r 重载。符号* 表示阻塞。元素在继承父元素中对某些元素和 属性进行阻塞,即部分地继承父元素中的内容。例如:元素t e a c h e r 中从超元素 p e r s o n t 继承的元素a d d r 被阻塞。符号卜表示重新命名,继承父元素中的元素或 属性的原名字被重新命名,例如:元素t a 继承父元素s t u d e n t 的元素d e p t 被重新命 名为s t u d e n t d e p t ,而继承父元素t e a c h e r 的元素d e p t 被重新命名为t e a c h e r - d e p t 。基于 面向对象扩展x m l 模式语言,支持多重继承、重载、阻断、冲突处理和多态性。 扩展基于规则的查询语言,支持重要的面向对象的特征,建立能有效管理面向对 象x m l 数据的x m l 数据管理系统,并研究适合面向对象x m l 数据的存储、索引 和查询处理技术。 基于面向对象的x m l 较好地解决x m l 文档定义中模块划分的问题。借助于面 1 0 东北大学博士学位论文 第一章绪论 向对象的分析、设计和实现技术,开发者可以将现实中的数据定义为系统中的对 象,从而很自然地完成从数据到对象的转换。面向对象机制通常较好地解决对象 集合纵向的关系,但是对于需要跨越多个对象中的数据或元素,需要修改的地方就 会分散到多个文件。这样大的修改量,无疑会增加出错几率,并且加大系统维护 的难度。人们认识到,传统的面向对象经常表现出一些不能自然地适合单个程序 模块或者几个紧密相关的程序模块的行为,我们称作为横切关注点。横切关注点 跨越了给定编程模型中的典型职责界限。因此我们对x m ls
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年中国汽车云应用市场探析:数据赋能 助力汽车行业数字化转型升级
- 宪法的核心原则与实施路径
- 婚礼服务培训
- 防诈骗课件教学
- 2025年1月份透水路面碎石堵塞系数现场检测方法
- 客户关系管理合同(2篇)
- 上海2025年03月上海市绿化和市容管理局部分直属事业单位度公开招考8名中高级专业技术人员笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 防近视讲座课件版
- 狗脊椎炎护理方法
- 泌尿外科护理进修汇报总结
- GA/T 1163-2014人类DNA荧光标记STR分型结果的分析及应用
- 钢栈桥施工监理细则
- 骨转移瘤课件
- 护士注册健康体检表下载【可直接打印版本】
- 核心素养视角下教师专业发展课件
- 污水处理培训课件
- 初中语文八年级下册第三单元综合性学习古诗苑漫步-综合性学习《古诗苑漫步》教案
- 中国十大阶层的划分课件
- 高中英语各种教材词组汇总大全(超级实用)
- 内燃机机油泵转子系列参数
- 远程视频会议系统建设方案课件
评论
0/150
提交评论