(计算机应用技术专业论文)基于xml的异构数据库集成系统的研究.pdf_第1页
(计算机应用技术专业论文)基于xml的异构数据库集成系统的研究.pdf_第2页
(计算机应用技术专业论文)基于xml的异构数据库集成系统的研究.pdf_第3页
(计算机应用技术专业论文)基于xml的异构数据库集成系统的研究.pdf_第4页
(计算机应用技术专业论文)基于xml的异构数据库集成系统的研究.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)基于xml的异构数据库集成系统的研究.pdf.pdf 免费下载

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

文档简介

基于x m l 的异构数据库集成系统的研究 摘要 随着i n t e r n e t 的迅速发展,可共享的资源越来越多,对数据的 描述千差万别,数据环境的差异也越来越大。在企业内部,由于部 门间相对独立,构建系统时缺乏统一的规划和标准,所以造成了现 有的应用系统是分散、异构、封闭的,相互之间不能共享信息,构 成了一个巨大而复杂的异构数据库环境。为了使企业应用系统间资 源共享得以实现并变得快捷,必须为大量各种各样的数据提供某种 统一的表示方法。由于x m l 具有白定义性及可扩展性,使其迅速 的成为i n t e m e t 上用于数据表示和数据交换的标准。x m l 文档大量 涌现,使x m l 与其他数据的转换及它的有效管理受到广泛关注。 为了结合数据库发展的需要,本文研究了数据库数据与,x m l 数据 之间的映射,x m l 数据在关系数据库中存储及查询技术。 本文首先对数据集成涉及的相关技术进行深入研究。分析了目 前流行的数据集成产品,并针对异构数据集成过程中的数据转换问 题,设计了一个数据库数据与x m l 数据转换的接口,以保证网上 信息交流的畅通。通过对x m l 数据存取机制和x m l 与数据库映 射技术的分析和研究,提出了转换接口的设计方案。基于x m l 成 为网络系统中通用数据交换标准,通过j d b c 实现对数据库系统的 连接,利用j a v a 的无平台性,实现数据库中数据到x m l 文档的转 换。数据库与外界之间都以x m l 文档作为交换介质,屏蔽了所有 数据库有关的技术细节,同时使系统的可扩展性更好。 然后针对固定结构的x m l 文档在关系数据库中的存储问题, 提出了一种在关系数据库中存储x m l 文档的方法,这种方法是基 于x p a t h 数据模型的,并对x m l 文档的元素进行d i e t z 编码来标 识元素,同时在数据库中存储每个元素及其父元素的d i e t z 编码来 保持元素之间的父子关系以及用于将关系数据转化为x m l 文档或 文档片段。 最后,我们研究了如何实现将x m l 查询转化为s q l 的查询转 换问题。转换分为两个步骤:第一步是将一个x p a t h 路径表达式转 换成有向边标记图x p a t h e x p r 图( 即:x p a t h e x p r ) ;第二步是根 据x p a t h e x p r 图来产生s q l 查询,x p a t h e x p r 图中的结点和边用来 生成s q l 查询的各个部分,并且对如何有效地处理x p a t h 函数进 行了详细的介绍。 关键词:数据集成,x m l ,异构数据,关系数据库,d i e t z ,x p a t h s t u d yo fh e t e r o g e n e o u sd a t a i n t eg r a t i o nb a s e do nx m l 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 t ,t h e r ea r ea m o u n to fd a t a a n di n f o r m a t i o nw h i c hm u s tb es h a r e da n di n t e r f a c e di ni n t r a n e ta n d i n t e m e t d u et os o m er e l a t i v ei n d e p e n d e n c eb e t w e e nd e p a r t m e n t si n e n t e r p r i s e ,a n ds h o r to fc o n s o l i d a t e dp l a na n ds t a n d a r dw h e nd e s i g n i n g a p p l i c a t i o ns y s t e m s ,t h e r em u s tb es o m ei n f o r m a t i o ni s l a n d si nt h e a p p l i c a t i o ns y s t e m s ,w h i c ha r es e p a r a t e ,h e t e r o g e n e o u s ,o b t u r a t e da n d u n s h a r e d i no r d e rt oe n a b l ee n t e r p r i s e a p p l i c a t i o ns y s t e m s ,s h a r i n g r e s o u r c e st oa c h i e v ea n dt ob e c o m ef a s t e r ,t h en e e df o raw i d er a n g eo f d a t at h a tp r o v i d eau n i f i e da p p r o a c h o w i n gt ot h ea d v a n t a g eo ft h e x m l :s e l f - d e f i n i t i o na n de x t e n s i b l e x m li sq u i c k l yb e c o m i n gt h e s t a n d a r df o rd a t ap 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 ei n t e r n e t t h i s i sc r e a t i n gan e ws e to fd a t am a n a g e m e n tr e q u i r e m e n t si n v o l v i n gx m l c o m b i n i n gw i t hd a t a b a s ed e v e l o p m e n td e m a n d ,w es t u d yt h em a p p i n g b e t w e e nt h ed a t a b a s ea n dx m l 、t h ex m ls t o r i n ga n dq u e r y i n g t e c h n o l o g yi nr e l a t i o n a ld a t a b a s e t h i sp a p e rs t a r t sf r o mt h ed e e pr e s e a r c ht od a t ai n t e g r a t i o n i n v o l v e d t e c h n o l o g i e s i n t h i s p a p e r , t h ec u r r e n t l yp o p u l a r d a t a i n t e g r a t i o np r o d u c t sa r ea n a l y z e d a n dt h er e s e a r c hw o r kw ed oi st o a p p l yt h et r a n s f o r m a t i o ni n t e r f a c eb e t w e e nx m la n dd a t a b a s ei nt h e p r o g r e s so fh e t e r o g e n e o u sd a t ai n t e g r a t i o nt ot h ei n f o r m a t i o np o r t a l t h r o u g ht h ea n a l y s i so fx m ld a t as t o r a g em e c h a n i s ma n dd a t a b a s e m a p p i n gt e c h n o l o g y , t h i sp a p e rp u t s f o r w a r dt h e d e s i g n a n d i m p l e m e n t a t i o no ft r a n s f o r m a t i o ni n t e r f a c eb e t w e e nx m l a n dd a t a b a s e c o n n e c t i n gw i t hd a t a b a s et h o u g hj d b c , w ec a ni m p l e m e n tt h ed a t a e x c h a n g eb e t w e e nd a t a b a s ea n dx m lu s i n gj a v a a sx m ld o c u m e n ti s e x c h a n g em e d i u m b e t w e e nd a t a b a s ea n do u t s i d e ,i ts h i e l d st h ed a t a b a s e d e t a i la n dm a k e st h ee x t e n s i b i l i t yo fs y s t e mb e t t e r t h e n ,w es u g g e s tax m ls t o r i n gm e t h o di nr e l a t i o n a ld a t a b a s e b a s e do nt h ef i x e ds t r u c t u r eo fx m ld o c u m e n t s t h i sm e t h o di sb a s e i i i o nx p a t hd a t am o d e l ,a n de n c o d e se l e m e n t sb yu s i n gd i e t zm e t h o di n o r d e rt oi d e n t i f ye l e m e n t s w ea l s on e e dt os t o r ed i e t zc o d eo fe v e r y e l e m e n ta n di t sp a r e n ti no r d e rt op r e s e r v ep a r e n t - c h i l dr e l a t i o n s h i p b e t w e e ne l e m e n t sa n di tc a nb eu s e df o rt r a n s f o r m a t i o nf r o mr e l a t i o n a l d a t ai n t ox m ld o c u m e n to rd o c u m e n tf r a g m e n t f i n a l l y , w ed i s c u s sh o wt oi m p l e m e n tq u e r yt r a n s f o r m a t i o nf r o m x m lq u e r yt os q lq u e r y , w h i c hi sc o m p o s e do ft w os t e p s :f i r s t ,w e c o n s t r u c tx p a t h e x p rg r a p ha c c o r d i n gt ox p a t he x p r e s s i o n ;s e c o n d , w eg e n e r a t es q l q u e r yb a s e do nx p a t h e x p rg r a p h t h en o d ea n de d g e i nx p a t h e x p rg r a p ha r eu s e dt og e n e r a t et h ev a r i o u sc o m p o n e n t so f s q lq u e r y , a n dd e s c r i b e dh o w t od e a lw i t hx p a t hf u n c t i o ne f f e c t i v e l y i nd e t a i 】 k e yw o r d s :d a t a i n t e g r a t i o n 乒x m l ,h e t e r o g e n e o u sd a t a ,r d b m s , d i e t z ,x p a t h i v 陕两科技大学颉士学位论文 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本人完全意识到本声明的法律责任由本人承担。 论文作者签名:座座匕绫 日 期:2 q q 墨生墨旦 关于学位论文使用授权的声明 本人完全了解陕西科技大学有关保留、使用学位论文的规定, 同意学校保留或向国家有关部门或机构送交论文的复印件和电 子版,允许论文被查阅和借阅;本人授权陕西科技大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:鏖因埠导师签名: 哗 基于x m l 的异构数据库集成系统的研究 1 绪论 1 1 问题的提出 人类在二十一世纪的可持续发展从战略意义上看,将会越来越依赖于社会 的整体科技创新能力和由此派生而出的知识经济,而以信息技术为特征的全球 网络化及i n t e r n e t 的逐渐普及的影响也毫无例外地冲击着产品制造业。使世界 形成一个统一的全球市场,激烈的国际竞争促使企业采用各种先进制造技术, 如敏捷制造、虚拟制造、智能制造、网络化分散制造等,以提高产品开发水平。 建立一套适合我国国情,支持产品开发与生产全过程的数字化、并行化、智能 化、集成化的现代设计方法与系统,有效地组织多学科的产品开发队伍,充分 利用各种计算机辅助工具,综合应用现代先进的设计方法,有效地考虑产品开 发与生产的全过程,从而缩短产品开发周期,降低成本,提高质量,快速响应 用户需求,这导致了: 从制造产品所需的企业管理与组织结构方面看,具备全球化、并行化与敏 捷化特征的企业集成技术将成为新一代企业生存的决定性因素。 传统的企业信息集成系统,由于信息不是一种标准化的数据形式来表现, 而是采取一种系统自定义的数据格式,因此很难推广应用,更为严重了的是影 响了企业间的信息交互。可扩展标记语言( 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 的企业信息集成平台是制造业信息化发展过程中必然的选择。 1 2 研究现状 数据集成的研究是从2 0 世纪8 0 年代早期对联邦数据库系统的研究开始 的,经过二十多年的研究,国内外已经积累了众多关于数据集成的研究成果。 例如国外的b e al i q u i dd a t ab u s i n e s so b j e c t sd a t ai n t e g r a t o r ,国内的数据集成 中间件o n e e d i 、东方通科技集成中间件t o n g i n t e g r a t o r m 等。这些中间件利用 i n t r a n e t 或i n t e r n e t 进行数据集成,为数据库、文件系统以及应用程序等异构数 据源提供包含转换、传输和存储等操作的数据集成服务。 目前数据集成领域用到的几个比较成熟的系统结构,有联邦数据库系统结 构、中间件系统结构和数据仓库系统结构【2 3 1 : ( 1 ) 联邦数据库系统( f d b s ) :联邦数据库系统( f e d e r a ld a t a b a s es y e t e m ) 主 要面向多数据库系统,其中数据源有可能要映射到每一个数据模式,这就需要 各数据源之间相互提供访问接口,因此开发者必须开发n 幸( n 1 ) 段代码来支持 两两之间的查询访问,而且这种数据集成方式对以后添加数据源会相当困难。 ( 2 )中间件体系结构( w r a p p e r m e d i a t o r ) :中间件体系结构 陕西科技大学硕士学位论文 ( w r a p p e r m e d i a t o r ) 又称为w r a p p e r m e d i a t o r 系统( 如图1 1 所示) 【4 】是另外一种 完全不同的体系结构。它们适用于对数据即时性要求比较高的集成情况。这种 体系结构下,真正的数据都不存放在中间层,而是当用户发出查询请求的时候, m e d i a t o r 将其分解并发送到不同的底层数据源服务器。由于,数据源服务器的 种类也可能是千差万别,例如它们可能是一个动态h t m l 或者x m l 页面,可 能是一个关系数据库,可能是一封电子邮件,也可能是一个文件,这种差别需 要包装器( w r a p p e r ) 的功能层完成数据源服务接口的一致化。 这种数据集成系统的核心是m e d i a t i o n 模式。数据集成系统通过m e d i a t i o n 模式将各数据源的数据集成起来,而数据仍存储在局部数据源中,通过各数据 源的包装器( w r a p p e r ) 对数据进行转换使之符合该模式。用户的查询基于 m e d i a t i o n 模式,提出查询时不必知道每个数据源的特点,m e d i a t o r 将查询转 换为基于各局部数据源模式的查询。然后其查询执行引擎通过各数据源的 w r a p p e r 将结果抽取出来,并由m e d i a t o r 将结果集成返回给用户。由于在w e b 数据集成系统中,不可能完全将数据源的数据下载,而且也不可能期待数据源 在更新数据的时候能给予通报,这种体系结构对于w e b 数据集成尤其具有吸引 力。 由于这种技术在查询的处理上要花很大的力气,而对数据的处理相对要少 得多,因此它与传统的数据服务有很大区别。首先,m e d i a t o r 需要确定哪些数 据源可能为一个用户查询贡献结果,在数据源的数量成千上万的时候,这个问 题可能并不简单。其次,当相关的数据源确定以后,m e d i a t o r 需要进行查询转 换,这个过程有时候被称为查询重写;当涉及的数据源不止一个的时候, m e d i a t o r 还需要生成一个全局执行方案,确定查询的执行方案。 中间件方法解决了数据的更新问题从而弥补了数据仓库的不足。但是,由 于各个数据源的w r a p p e r 是要分别建立的,因此w e b 数据源的w r a p p e r 建立问 题给人们提出了新的挑战。 2 基于x m l 的异构数据库集成系统的研究 图1 1 中间件体系结构 f i g l - 1a r c h t e c t u r eo fm i d d l e w a r e ( 3 ) 数据仓库体系结构:在数据仓库体系结构( 如图1 2 所示) 中,用户端和 数据源之间有一个新的功能层,称为数据仓库,它存储来自不同数据源的数据。 这样结构的系统不仅可以提供数据集成服务,也可以为从业务系统中分离的决 策支持查询提供服务。数据仓库中需要两项新的技术:有效的数据加载和增量 式更新维护。 这种数据集成系统结构的优点是数据高度集中,建立用户端较为方便,利 于支持决策等应用所需要的大量集成数据的高效处理。但是,由于w e b 数据源 包含海量的数据而且数据是不断变化的,数据仓库的集成系统面临着初始数据 装载和变化后数据的更新问题。如果用户需要实时数据,那么数据即时更新的 效率影响了系统的可用性。数据更新问题成为该方法的最大弊端。由于数据的 更新问题不能很好地解决,数据的即时性无法得到保证,影响了数据仓库方法 的应用范围。 3 陕西科技大学硕士学位论文 图1 - 2 数据仓库体系结构 f i g1 - 2a r c h t e c t u r eo fd a t aw a r e h o u s e 目前,由于x m l 良好的可靠性与互操作性,确保了网络中信息的传输与 交互,加上x m l 是基于w e b - i - 作设计的,更适合于网络化环境,因此在电 子商务时代b 2 b 的商业模式得到广泛应用。x m l 的可扩展性和自描述性更让 其在数据描述和信息共享方面有着天然的优势。其标记可根据需求由企业自由 定制,有极大的灵活性,可形成针对行业特点的不同标记集。x m ls c h e m a 支 持许多复杂的数据类型,引入原型和命名空间概念,可随意扩充等,使得其不 但编写简单,而且内容充实完整,可以给出x m l 文档详细明确的定义。由 s c h e m a 定义约束的x m l 文档,有效性更加严格,内容结构更加严谨。总之, x m l 的结构性、可扩展性、自描述性、简单性等多种特性,使之表示数据的 方式真正做到了独立于应用系统,不受任何特殊的软件或者硬件平台限制,并 且这些数据能重复使用,简单易懂,成为交换各种结构化、半结构化、非结构 化信息的良好方式。 此外,x m l 本身突出表现数据结构和语义的特点,使其自然地与数据库 结合在一起。一旦将x m l 数据文件与数据库表关系关联起来,不但可以保留 关系数据库表的结构信息,还可以利用x m l 文档的优势在网络及数据库间交 换数据,并解决不同数据库系统及数据关系、语义定义等数据表达方面的差异, 如对应关系中字段内容不同、字段命名不同、数据类型不同等。这将较好地解 决企业应用系统间信息资源集成的分布和异构等问题,使得数据交换的手段更 为透明,并为e a i 的发展提供了有效手段【s l 。 1 3 课题来源 本课题来源于陕西省科技攻关项目:制造业信息化集成应用服务平台( 项 4 基于x m l 的异构数据库集成系统的研究 目编号:2 0 0 7 k 0 5 - 1 1 ) 。 1 4 本文主要内容及结构 本文对如何实现数据库数据与x m l 数据之间的转换、如何基于关系型数 据库存储x m l 文档以及如何将x p a t h 查询转化为s q l 这三个研究领域进行了 深入的研究,并且提出了一套解决方案。本文的后序内容组织如下:第二章介 绍x m l 的基本概念以及与它相关的技术;第三章详细地介绍了本文所提出的 基于d i e t z 编码如何在关系数据库中存储x m l 文档,并介绍了在这种存储方 法基础上如何将x p a t h 转化为s q l 的方法;第四章介绍了整个系统各个功能 模块的实现方法。最后一章介绍的是对本系统的总结以及未来的研究方向。 陕西科技大学硕士学位论文 2 相关技术 2 1x m l 2 1 1x m l 的发展 x m l 有两个先驱s g m l 和h t m l t 6 j ,这两个语言都是非常成功的置标语 言,但是它们都在某些方面存在着与生俱来的缺陷。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 非常复杂,并且价格昂贵,几个主要的浏览器厂商都明确 拒绝支持s g m l ,使s g m l 在网上传播遇到了很大障碍。 相反,超文本置标语言h t m l ( h y p e rt e x tm a r k u pl a n g u a g e ) 免费、简单, 在世界范围内得到了广泛的应用。它侧重于主页表现形式的描述,大大丰富了 主页的视觉、听觉效果,为推动w w w 的蓬勃发展、推动信息和知识的网上交 流发挥了不可取代的作用。可是,i - l t m l 也有如下几个致命的弱点,这些弱点 逐渐成为h t m l 继续发展应用的障碍。 h t m l 是专门为描述主页的表现形式而设计的,它疏于对信息语义及其内 部结构的描述,不能适应日益增多的信息检索要求和存档要求。h t m l 对表现 形式的描述能力实际上也还非常不够,它无法描述矢量图形、科技符号和一些 其他的特殊显示效果。h t m l 的标记集日益臃肿,而其松散的语法要求使得文 档结构混乱而缺乏条理,导致浏览器的设计越来越复杂,降低了浏览的时间效 率与空间效率。正因为如此,19 9 6 年人们开始致力于描述一个置标语言,它既 具有s g m l 的强大功能和可扩展性,同时又具有h t m l 的简单性。x m l 就是 这样诞生的。 正象s g m l 和h t m l 一样,可扩展置标语言x m l 也是一种置标语言,它 通过在数据中加入附加信息的方式来描述结构化数据。不过,x m l 并非象 h t m l 那样,只提供一组事先已经定义好的标记。准确地说,它是一种元置标 语言,允许程序开发人员根据它所提供的规则,制定各种各样的置标语言。在 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 ) 来描述的,也就是说,通过d t d 来描述什么是有效的标记,并进一步定义置 标语言的结构。除了定义置标的语法外,为了明确各个标记的含义,x m l 还 使用与之相连的样式单( s t y l es h e e t ) 来向应用程序,比如浏览器,提供如何 处理显示的指示说明。一言以蔽之,x m l 是通过数据文档、d t d 、样式单三 个分离的部分来描述数据的。 虽然x m l 貌似复杂,但它有一些突出的优点: 6 基于x m l 的异构数据库集成系统的研究 ( 1 ) 良好的可扩展性。x m l 允许各个不同的行业根据自己独特的需要制定 自己的一套标记,同时,它并不要求所有浏览器都能处理这成千上万个标记, 同样也不要求一个置标语言能够适合各个行业各个领域的应用,这种具体问题 具体分析的方法更有助于置标语言的发展。 ( 2 ) 内容与形式的分离。正如前面所说,x m l 中信息的显示方式已经从信 息本身中抽取出来,放在了“样式单 中。这样做便于信息表现方式的修改, 便于数据的搜索,也使得x m l 具有良好的自描述性,能够描述信息本身的含 义甚至它们之间的关系。 ( 3 ) 遵循严格的语法要求。x m l 不但要求标记配对、嵌套,而且还要求严 格遵守d t d 的规定。这增加了网页文档的可读性和可维护性,也大大减轻了 浏览器开发人员的负担,提高了浏览器的时间空间效率。 ( 4 ) 便于不同系统之间信息的传输。不同企业、不同部门中往往存在着许 多不同的系统,x m l 可以用作各种不同系统之间的交流媒介,是一种非常理 想的网际语言。 ( 5 ) 具有较好的保值性。x m l 的保值性来自它的先驱之一一s g m l 语言, 可以为文档提供5 0 年以上的寿命。 正是基于这些优点,国际标准化组织一万维网联盟w 3 c ( w o r l dw i d ew e b c o n s o r t i u m ) 推荐x m l 作为第二代网页发布语言。 2 1 2x m l 相关技术 1 符合规则的x m l 文件 x m l 提供了一些特定的规则,x m l 文件必须符合这些规则,才可以被称 作”w e l l f o r m e d ,也就是符合规则的文件。对于不符合规则的x m l 文件,解 析器会拒绝处理这样的文件。 符合规则的条件: 文件必须以x m l 声明开始。 文件中必须有一个根元素。 标记必须是开始标记与结束标记成对出现。 如果标记不是成对出现的,必定是有“ 空标记。 文件必须是树状的结构。 大小写是不同的。 属性值的设置必须用“ 括起来。 限定字需用其他的方法。 2 x m l 三要素 7 陕西科技大学硕士学位论文 虽然x m l 有许多部分,但是只需要了解其中的三个就可以了解它是怎样 工作的。它们是文档类型定义d t d ,也就是x m l 的布局语言;可扩展的样式 语言x s l ,也就是x m l 的样式表语言;可扩展链接语言x l l 。 ( 1 ) 文档类型定义介绍: 一个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 ,文档类型定义) 中定 义的种种规定【,1 。d t d 描述了一个x m l 文档的语法和词汇表,也就是定义了 文档的整体结构以及语法。简而言之,d t d 规定了一个语法分析器为了解释一 个“有效的”x m l 文件所需要知道的所有规则的细节。d t d 原来是为使用s g m l 开发的,它可以是x m l 文档的一部分,但是它通常是一份单独的文档或一系 列文档。x m l 本身并没有一个通用的d t d ,想使用x m l 进行数据交换的行业 或组织可以定义他们自己的d t d 。 d t d 标记声明可以是元素类型声明、属性表声明、实体声明或符号声明。 x m l 提供一种称为文档类型声明的机制,用于定义对逻辑结构的约束支持 预定义存储单元的使用。文档类型声明指定了文档使用的d t d 。文档类型声明 出现在文档的序言部分,处在x m l 声明之后和第一个元素之前。它可以包括 d t d ,也可以标识d t d 所在文档的u r l 。一个合法的x m l 文档必须符合文 档类型声明指定的约束条件。而且,它的基本元素必须是在文档类型声明中指 明的。 d t d 的功用很多:定义内容模式,限制范围、属性的数据类型。但它也有 着一些缺点,如采用了非x m l 的语法规则,不支持多种多样的数据类型,扩 展性较差,不支持名称空间( n a m e s p a c e ) 等等。 因此,w 3 c 又推出了x m ls c h e m a 规范。事实上s c h e m a 也是x m l 的一 种应用,它是将d t d 重新使用x m l 语言规范来定义。这从某种意义上讲正好 体现了x m l 自描述性的优点。与d t d 相比,x m ls c h e m a 具有如下一些优点: 一致性:s c h e m a 建立在x m l 之上,它的样子和一般的x m l 文件完全 相同,使得x m l 达到了从内到外的完美统一。 扩展性:s c h e m a 中引入了丰富的数据类型,它们包括:布尔型、数字、 日期时间、u r l 、整数、十进制数、实数、时间段,等等。而且它还支持由这 些简单的类型生成复杂的类型,以及由用户定义的数据类型( 原型) 。 易用性:x m ls c h e m a 取代d t d 的另一个原因要归结于d o m 和s a x ( 关 于d o m 和s a x 的概念将在后面介绍) 。此时对于x m l 文档结构的描述已变成 为s c h e m a 这种“形式良好的 x m l 文档,可以方便d o m 和s a x 去访问。 规范性:同d t d 一样,s c h e m a 也提供了一套完整的机制以约束x m l 基于x m l 的异构数据库集成系统的研究 文档中标记的使用,但相比之下,后者基于x m l ,更具有规范性。 支持名称空间。 互换性:每个人都可根据需要设计适合自己应用的s c h e m a ,并且可以 同其他人交换彼此的s c h e m a 。利用s c h e m a 能够书写x m l 文档,验证文档的 合法性。另外,通过映射机制,还可以将不同的s c h e m a 进行转换,以实现更 高层次的数据交换。 ( 2 ) 可扩展的样式语言介绍: x s l ( e x t e n s i b l es t y l e s h e e tl a n g u a g e ,可扩展样式语言) 是为x m l 文件定义 的一种标识语言【7 】,它将提供远远超过c s s 的强大功能,如将元素再排序等。 实际上简单的x m l 已可被c s s 所解释,然而复杂的高度结构化的x m l 数据 或x m l 文档则只能依赖于x s l 极强的格式化的能力而展现给用户。 x s l 以包含了一套元素集的x m l 语法规范而定义,该语法规范将被用来 把x m l 文件转换成h t m l 文件或x m l 文档。一个x s l 样式表集合了一系列 设计规则以用于将信息从x m l 文件中吸取出,并将其转换成h t m l 等其它格 式。这种转换将采用一种公开的方式,使其更加容易方便地被程序员描述。而 且x s l 还将提供多种脚本语言的通道以满足更为复杂的应用需求,因此尽管 x s l 是一项新的标识语言,但程序员完全可以继续充分发挥其所熟练的h t m l 或脚本语言的优势。x s l 凭借其可扩展性能够控制无穷无尽的标签,而控制每 个标签的方式也是无穷尽的。这就给w e b 提供了高级的布局特性。例如旋转 的文本、多列和独立区域。它支持国际书写格式,可以在一页上混合使用从左 至右、从右至左和从上至下的书写格式。 x s l 能使w e b 浏览器直接根据用户的不同需求改变文档的表示法,例如 数据的显示顺序改变,从而不需要再与服务器进行交互通信。通过变换样式表, 同一个文档可以显示得更大,或者经过折叠只显示外面的一层,或者变为打印 格式。可以设想一个适合用户学习特点的技术手册,它为初学者和更高一级的 用户提供不同的样式,而所有的样式都是根据同样的文本产生的。 正如x m l 介于h t m l 和s g m l 之间一样,x s l 标准介于c s s 和s g m l 的d s s s l ( d o c u m e n ts t y l es e m a n t i c s a n ds p e c i f i c a t i o nl a n g u a g e ,文档样式语义 和规范语言) 之间。d s s s l 定义格式化对象的全特征模式。由于d s s s l 使用框 架语法,而且是很复杂的,所以d s s s l 未能得到推广应用。x s l 支持d s s s l 流对象和c s s 对象,并对复杂的任务提供进入脚本语言的通道,而且允许扩展。 实现从c s s 到x s l 的映射是可能的,因而内容开发商无需学习这种语言的全 部。 9 陕西科技大学硕士学位论文 ( 3 ) 可扩展链接语言x l l 可扩展链接语言x l l ( e x e n s i b l el i n k i n gl a n g u a g e ) 分为两部分:x l i n k 和 x p o i n t e r 。x m l 链接语言x l i n k ( x m ll i n k i n gl a n g u a g e ) 定义了一文档如何 与另一文档的链接。x m l 指针语言x p o i n t e r ( x m lp o i n t e rl a n g u a g e ) 定义文 档的各部分如何寻址。x l i n k 指向u r i ,以指定特定的资源。此u r i 可能包含 x p o i n t e r 部分。 最后,让我们来看一个完整的x m l 例子,以便对x m l 的整体机制有一个 大致的了解。在下面的例子中,我们用x m l 来描述一个图书的信息列表。我 们先为这些数据定义一个d t d : 以下是引用片段: s t u m l d t d 关于图书信息的标准x m l 文档是这样的: 以下是引用片段: 一一- 一p u b x m l l o 基于x m l 的异构数据库集成系统的研究 be i ji n gl i b r a r y d a t a b a s es y s t e mc o n c e p t 2 6 5 0 k a i l yj o n e k j o n e r e s e a r c h b e l l l a b s c o m si l e ns m i t h i n t r o d u c t i o nt ox m l 18 8 0 k a i l yj o n e aq u e r yl a n g u a g ef o rx m l k a i l yj o n e a d e u t s c h 现在我们为它制定一个样式单,以描述这些数据的显示: 以下是引用片段: 一m y s t y l e x s l l l 陕西科技大学硕士学位论文 图书信息 p r i c e : n a m e : e m a i l : k - - 在i e 5 或以上版本中看到的x m l 文件的显示结果是这样的: 以下是引用片段: d a t a b a s es y s t e mc o n c e p t p r i c e :2 6 5 0 n a m e :k a i l yj o n e e m a i l :k j o n e r e s e a r c h b e l l l a b s c o r n n a m e :s i l e ns m i t h 基于x m l 的异构数据库集成系统的研究 e m a i l : i n t r o d u c t l o nt ox l v l l p r i c e :1 8 8 0 n a m e :k a i l yj o n e e m a i l : 3 x m l 解析器 ( 1 ) d o m d o m 是用与平台和语言无关的方式表示x m l 文档的官方w 3 c 标准【8 】。 d o m 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人 员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构, 然后才能做任何工作。由于它是基于信息层次的,因而d o m 被认为是基于树 或基于对象的。d o m 以及广义的基于树的处理具有几个优点。 首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据 和结构作出更改。它还可以在任何时候在树中上下导航,而不是像s a x 那样 是一次性的处理。d o m 使用起来也要简单得多。 另一方面,对于特别大的文档,解析和加载整个文档可能很慢且很耗资源, 因此使用其他手段来处理这样的数据会更好。这些基于事件的模型,比如 s a x 。 ( 2 ) s a x 这种处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等 待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此 不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上, 应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一 般来说,s a x 还比它的替代者d o m 快许多。 ( 3 ) j d o m j d o m 的目的是成为j a v a 特定文档模型,它简化与x m l 的交互并且比使 用d o m 实现更快。由于是第一个j a v a 特定模型,j d o m 一直得到大力推广和 促进。正在考虑通过“j a v a 规范请求j s r 一1 0 2 ”将它最终用作“j a v a 标准扩展”。 从2 0 0 0 年初就已经开始了j d o m 开发。 j d o m 与d o m 主要有两方面不同。首先,j d o m 仅使用具体类而不使用 接口。这在某些方面简化了a p i ,但是也限制了灵活性。第二,a p i 大量使用 了c o l l e c t i o n s 类,简化了那些已经熟悉这些类的j a v a 开发者的使用。 j d o m 文档声明其目的是“使用2 0 ( 或更少) 的精力解决8 0 ( 或更多) 】3 陕两科技大学硕士学位论文 j a v a x m l 问题”( 根据学习曲线假定为2 0 ) 。j d o m 对于大多数j a v a x m l 应用程序来说当然是有用的,并且大多数开发者发现a p i 比d o m 容易理解得 多。j d o m 还包括对程序行为的相当广泛检查以防止用户做任何在x m l 中无 意义的事。然而,它仍需要您充分理解x m l 以便做一些超出基本的工作( 或 者甚至理解某些情况下的错误) 。这也许是比学习d o m 或j d o m 接口都更有 意义的工作。 j d o m 自身不包含解析器。它通常使用s a x 2 解析器来解析和验证输入 x m l 文档( 尽管它还可以将以前构造的d o m 表示作为输入) 。它包含一些转 换器以将j d o m 表示输出成s a x 2 事件流、d o m 模型或x m l 文本文档。j d o m 是在a p a c h e 许可证变体下发布的开放源码。 ( 4 ) d o m 4 j , 虽然d o m 4 j 代表了完全独立的开发结果,但最初,它是j d o m 的一种智 能分支。它合并了许多超出基本x m l 文档表示的功能,包括集成的x p a t h 支 持、x m ls c h e m a 支持以及用于大文档或流化文档的基于事件的处理。它还提 供了构建文档表示的选项,它通过d o m 4 ja p i 和标准d o m 接口具有并行访问 功能。 为支持所有这些功能,d o m 4 j 使用接口和抽象基本类方法。d o m 4 j 大量 使用了a p i 中的c o l l e c t i o n s 类,但是在许多情况下,它还提供一些替代方法以 允许更好的性能或更直接的编码方法。直接好处是,虽然d o m 4 j 付出了更复 杂的a p i 的代价,但是它提供了比j d o m 大得多的灵活性。 在添加灵活性、x p a t h 集成和对大文档处理的目标时,d o m 4 j 的目标与 j d o m 是一样的:针对j a v a 开发者的易用性和直观

温馨提示

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

评论

0/150

提交评论