




已阅读5页,还剩52页未读, 继续免费阅读
(计算机应用技术专业论文)保留语义约束的关系模式到xml+schema转换的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着i n t e r n e t 的迅速发展,电子商务等深层次的应用迅速崛起,人们对 i n t e r n e t 上的信息进行深层次处理的要求迅速提高。对信息管理和信息交换的 需求更是空前强烈和迫切,使得已在传统商业处理领域内趋于成熟的数据库技 术,面临着许多新的问题和挑战。它给数据库技术提出了一个必须面对的重要问 题:即如何有效地存储和管理w e b 上以指数增长的数据( 文档) ,使它们既能被 高效地操作和维护,又能在w e b 这个平台上方便地表示和交换,这是一个值得研 究的问题。 x m l 数据作为一种自描述的半结构化数据为w e b 的数据管理提供了新的数据 模型,x m l 在数据应用方面上具有易表义、跨平台等优势,x m l 已经快速发展为 w e b 上数据表示、集成和交换的标准。i n t e r n e t 上越来越多的数据表示为x m l 文档,但是,当今大多数商业数据还是存储和管理于关系数据库中。事实上,由 于关系数据库的优势,如技术成熟、应用广泛;数据管理能力强( 包括存贮、检 索、修改等) ;数据安全程度高;稳定可靠的并发访问机制等,x m l 尚不能代替 关系数据库。x m l 同数据库技术结合体现了一种趋势,目的就是如何使数据更通 用,能被异构系统、任何应用都接受。如何将关系数据库中数据转换成适于 i n t e r n e t 和w e b 的形式,需要相当的工作量。因此,为基于i n t e r n e t 的应用程 序将关系数据高效准确的自动转换发布为x m l 数据就成了研究的热点。 本文针对大量i n t e r n e t 应用程序需要将关系数据高效准确的转换发布为 x d l 数据的问题,在大量研究国内外研究成果、分析关系模式与x m ls c h e m a 的 语义约束的基础上,通过对目标关系数据库关系模式和关联约束的分析,将关系 模式表示为一般形式,归纳其在x m ls c h e m a 中的等价形式,提出关系语义图、 元素有向树和s c h e m a 树的概念,通过将关系模式重构为关系语义图,转化为元 素有向树,再合并元素有向树集合为s c h e m a 树,最后生成x l v i ls c h e m a 文档,提 出了_ 套从关系数据模式到x m ls c h e m a 的转换规则和算法,将目标数据库的结 构和语义约束完整的保留到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 ;关系数据库 a b s t r a c t w i t ht h ed e v e l o p i n go fi n t e r n e t ,f a s ts p e e d yo fe - b u s i n e s s ,p e o p l e n e e di m p r o v et h et e c h n o l o g yf o ri n f o r m a t i o nm a n a g i n gi nh i g hl e v e l q u i c k i n f l a t i o no ft h ea m o u n to fi n f o r m a t i o nh a st a k e np l a c ea n dt h e r eh a sa n i n c r e a s i n gn e e df o re f f i c i e n t l ym a n a g i n ga n de x c h a n g i n gd a t a ,s ot h e m a t u r er e l a t i o n a ld a t a b a s et e c h n o l o g yw o u l db e i nf a c eo fm a n yn e w p r o b l e m sa n dc h a ll e n g e i tp u t sf o r w a r da ni m p o r t a n tp r o b l e mt h a tt h e d a t a b a s et e c h n i q u em u s tf a c e :h o wt oe f f i c i e n t l ys t o r ea n dm a n a g ed a t a o nt h ew e ba n dh o was u b s t a n t i a la m o u n to fc o n v e n t i o n a lr e l a t i o n a ld a t a t ob ec o n v e r t e do rp u b li s h e da sx l ld a t a t h i sr e s e a r c hi sad e s e r v i n g t o p i c x m lh a sb e c o m et h es t a n d a r df o rp u b l i s h i n ga n de x c h a n g i n gd a t ao n t h ew e b h o w e v e r ,t h eu n d e r l y i n gd a t ai so f t e ns t o r e di nt h er e l a t i o n a l d a t a b a s e s i nf a c t ,b e c a u s eo fs t r o n g p o i n ti nr e l a t i o n a ld a t a b a s es y s t e m , x m lc a nn o tr e p l a c et h er e l a t i o n a ld a t a b a s es y s t e my e t s oi ti sat e n d e n c y t h a tx m lc o m b i n e dw i t hr e l a t i o n a l d a t a b a s es y s t e m s o m em e c h a n i s mi sn e e d e dt oc o n v e r tt h er e l a t i o n a ld a t ai n t ox m ld a t a b ya n a l y z i n gs c h e m aa n dc o r r e l a t i o nc o n s t r a i n t sd e f i n e di nt h et a r g e t d a t a b a s es c h e m aa n ds u m m i n gu pt h ec o r r e s p o n d i n gf o r mi nx m ls c h e m a ,w e p r o p o s ec o n c e p t so fr e l a t i o n a ls e m a n t i cg r a p h ( r s g ) ,e l e m e n t a ld i r e c t e d t r e e ( e d t ) a n ds c h e m at r e e ( s t ) w eb u il dar s gf r o mr e l a t i o n a ls c h e m a , a n dt u r ni tt oas e to fe d t t h e nw ei n t e g r a t et h es e to fe d ti n t oas t a n do u t p u ti tt oad o c u m e n to fx m ls c h e m a i nt h i sp a p e r ,w ep r o p o s ea s e to fr u l e sf o rt r a n s f o r m i n gar e l a t i o n a l d a t a b a s es c h e m ai n t ot h e c o r r e s p o n d i n gx m ls c h e m aa n dp r e s e r v es t r u c t u r ea n da l li n t e g r i t y c o n s t r a i n t sa n da c h i e v eh i g hl e v e lo fn e s t i n gi nt h et r a n s f o r m e dx m l s c h e m a k e yw o r d s :s c h e m at r a n s f o r m a t i o n ;x m l ;x m ls c h e m a ;r e l a t i o n a ld a t a b a s e s i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表 示谢意。 学位论文作者签名:签字日期:年月 日 学位论文版权使用授权书 本学位论文作者完全了解江西师范大学研究生院有关保留、使用 学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许论文被查阅和借阅。本人授权江西师范大学研究生院二 可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存、汇编学位论文。 , ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 签字日期:年月日 导师签名: 签字日期:年 月 日 保留语义约束的关系模式到x m ls c h e m a 转换的研究与实现 第一章绪论 1 1 研究意义 上个世纪9 0 年代以来,i n t e m e t 的飞速发展使人类社会的信息量迅速膨胀,对 信息管理和信息交换的需求更是空前强烈和迫切,使得已在传统的商业处理领域 内趋于成熟的数据库技术,面临着许多新的问题和挑战。它给数据库技术提出了 一个必须面对的重要问题:即如何有效地存储和管理w e b 上以指数增长的数据 ( 文档) ,使它们既能被高效地操作和维护,又能在w e b 这个平台上方便地表示 和交换,这是一个值得研究的问题。2 一 x m l 技术在数据应用方面具有很多优点。第一,跨平台。x m l i 】文件为纯 文本文件,不受操作系统、软件平台的限制;第二,易表义。x m l 具有基于s 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 具有两种解析机制,s a x 方式是基 于文件的解析,速度慢,d o m 方式是基于内存的方式,资源消耗极大;第四, 修改效率低,目前x m l 的修改是基于节点的;最后,x m l 的安全性及并发操作 机制也是需要解决的问题之一。 “ 总体上看,蹦l 在数据应用方面上具有易表义、跨平台等优势,x m l 已经 快速发展为w e b 上数据表示、集成和交换的标准。i n t e m e t 上越来越多的数据表 示为x m l 文档,但是,当今大多数商业数据还是存储和管理于关系数据库中: 事实上,由于关系数据库的优势,如技术成熟、应用广泛,数据管理能力强( 包 括存贮、检索、修改等) ,数据安全程度高,稳定可靠的并发访问机制等,x m l 尚不能代替关系数据库。 如何将关系数据库中数据转换成适于i n t e m e t 和w e b 的形式,需要相当的工作 量。时至今日,虽然从c g i 、s e r v e ra p i 、s c r i p t s 至u j a v a 等出现了许多解决方法, 并且已在实际应用中取得了很大的成就,但仍有问题存在,比如在这些应用系统 中,都是为特定的应用编写相应的程序,不同的应用系统之间的实现可能不同, 那这样就没有了通用性,所以每个应用都必须重复的去编写程序。 硕士学位论文 因此,为基于i n t e r n e t 的应用程序将关系数据高效准确的自动转换发布为 x m l 数据就成了研究的热点。 1 2 国内外研究进展 、 目前,国内外关于x m l 文档与数据库中的信息转换,己做了大量的研究工 作,引起了从高校科研院所到商业数据库公司,从政府部门到自由撰稿人的广泛 关注,其中具有的代表的有美国s t a n f o r d 大学的l o r e 项目,法国国家信息与 自动化研究所a g o r a 项目,还有加拿大多伦多大学的t o x 项目等等。相比之下, 国内相关研究则起始于新世纪之初,其中复旦大学、清华大学、西南交通大学等 等都进行了相关的研究。所探讨的方法可归纳为以下两种: 1 基于模板的转换:用预先定义好的x m l 数据模板,创建关系数据的x m l 视图。 例如,s i l k r o u t e 2 】用一种关系到x m l 转换语言r x l 定义关系数据库的x m l 视 图。x p e r a n t o 3 , 4 j 也是用类似的方法。这些技术支持以标准的x m l 方式 ( 如通过x q u e r y t 5 】) 对关系数据源进行查询,在一定程度上实现了关系数据 到x m l 数据的映射或转换,不过它们主要是将关系数据库作为x m l 的存 储手段,重点不在于这两种数据的动态转换。这些方法都摒弃了x m l 模式 ( d t d 、x m ls c h e m a 等) 的作用,关系数据中的约束得不到保持。 2 基于结构的转换:没有预先定义的x m l 数据模板,而是根据关系数据的结构 动态生成x m 蜞式,在根据生成的模式转换为x m l 文档。 主要成果有 d b 2 x m l 5 】中一一对应的f t 算法,d r l e e 提出的n e t 【6 】算法使用反复嵌套操 作来生成蹦l 模式和c o tf 7 】算法中考虑了关系模式和外关键字约束, x v i e w s 8 】构造基于主、外键的图来产生x m l 候选视图。在文献【9 】中及他们的 x r 1 0 】方法全面的进行了l 与数据库概念和映射模式的比较,并提出了 三种基本映射模式。这些算法都是以d t d 为目标模式,并且都没有完整的保 持关系数据的语义约束。 随着x m ls c h e m a 被w 3 c 确定为煳蜞式的推荐标准,x m ls c h e m a 以其众 多优点正在逐渐代替d t d ,而且x m ls c h e m a 丰富的数据类型和约束信息非常适 合作为关系模式转换为x m l 的目标模式。 以往算法研究主要都是针对相对简单的d t d 与关系模式之间的相互转化问 题展开的,研究x m ls c h e m a 与关系模式的映射转化问题还很少。尽管x m l s c h e m a 的语法结构远比d t d 复杂,但其比d t d 更具有表现力、更适应于各领域 应用的使用,能够更好地表达关系数据的结构和语义约束。 在关系模式与x m l 映射转换研究中,由于x m l 和关系模式表示的语义、结 构关系的机制、方式不尽相同,特别是x m l 语言,s c h e m a 描述有很强的自由度 和表现力,它们的数据语义约束信息在提取、映射、转换等方面的困难性,造成 现有x m l 与关系数据转换的映射算法存在缺陷。他们仅仅考虑了数据结构信息 2 保留语义约束的关系模式到x m ls c h e m a 转换的研究与实现 上的转换,忽略了数据语义约束的保留。保留约束条件的模式转换还处于研究阶 段,还没有一种行之有效的方法。关系模式与x 2 d l 映射转换的语义完整性,通 用性,双向性及算法等都有待进一步研究。 1 3 本文的研究内容 针对大量i n t e r n e t 应用程序需要将关系数据高效准确的转换发布为x m l 数 据的问题,在大量研究国内外研究成果和分析关系模式和x m ls c h e m a 的语义约 束的基础上,本文通过对目标关系数据库的关系模式和关联约束的分析,将关系 模式表示为一般形式,归纳其在x m ls c h e m a 中的等价形式,提出关系语义图、 元素有向树和s c h e m a 树的概念,通过将关系模式重构为关系语义图,转化为元 素有向树,再合并元素有向树集合为s c h e m a 树,最后生成x m ls c h e m a 文档,提 出了一套从关系数据库模式到x m ls c h e m a 的转换规则和算法,将目标数据库的 结构和语义约束完整的保留到x m ls c h e m a 中,并使转换后的) o i ls c h e m a 达到高 度的嵌套。 1 4 论文的组织与结构 第一章主要介绍关系模式到x m ls c h e m a 转换研究的背景、意义、研究的 动态和本文的主要研究内容,最后,简单地对本论文的组织与结构进行说明。 第二章通过大量文献的阅读和总结,详细介绍) f i v i l 技术的发展、特点、结, 构以及相关技术规范。 第三章本章主要对x i v i l 与关系数据库进行比较,总结他们的异同和优缺点, 并对关系模式和x 2 m ls c h e m a 的语义约束进行分析。最后介绍关系模式到l 转 换研究的一些成果。 第四章本章主要在对关系模式及其语义约束的研究基础上,从关系数据库 提取关系模式并对其重构,结合x m l 嵌套的特点,以x m ls c h e m a 为目标模式, 提出从关系模式到x m ls c h e m a 的转换规则,以及算法实现。 第五章本章介绍关系模式到删ls c h e m a 的转换系统原型的设计与实现, 设计部分包括对设计思路,对象模型,以及框架结构的阐述。并用部分截图对模 式获取、转换结果和一些其他功能设置进行比较直观的演示和说明。 第六章总结当前工作和展望下一步的工作。 3 硕士学位论文 第二章x m l 及其相关技术 2 1x m l 概述 x m l 即为“可扩展的标记语言”( e x t e n s i b l em a r k u pl a n g u a g e ) ,是一套定义 语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。是由万 维网协会( w 3 c ) 设计,特别为w c b 应用服务的s g m l t i l 】( s t a n d a r dg e n e r a lm a r k u p l a n g u a g e ) 的一个重要分支,x m l 作为s g m l 的最小完备子集继承了s g m l 的强 大功能而且剥除了繁琐的定义,用来弥补h t m l 作为网络标准语言的不足。x m l 结合了s g m l 和h t m l 的优点并消除其缺点,使其在w e b 应用中既能利用s g m l 的长处,又保留了h t m l 的简单性。x m l 实际上是s g m l 的一个子集,它保持了 对现有的面向s g m l 的系统的向下兼容性,与w e b 的结合也使得它们更便于被访 问。x m l 与h t m l 的比较如表2 1 。 一 。 表2 1x m l 与h t m l 的比较 比较内容 h t m lx m l 扩展性固定格式的标记,很难扩展用户自定义的标记,扩展方便 交互性不容易实现一般数据处理所可以很方便地实现一般处理 需要的交互访问功能:如排序、过滤等 语义表达无法表达语义语义表达功能丰富 异构信息交互实现非常困难信息交互的实现非常容易 搜索功能搜索不准确,垃圾信息太多可以实现准确无误的搜索 w e b 应用只能用于显示w e b 页面可以完成多种灵活的w e b 应 用:如本地计算与处理、数据 的多样显示、粒状更新 文档格式要求比较灵活要求严格 显示集成了数据与显示显示与数据相分离 2 1 1x m l 文档结构 x m l 是一种基于文本的格式,每一个x m l 文档都有其物理结构和逻辑结构。 物理上而言,文档由称为实体的单元组成【1 2 】。一个实体可v a 云j i p f l ( r e f e r ) 其他实体, 将它们包含在文档中。文档开始于“根( r o o t ) 一或文档实体。然后是一些嵌套的 元素结构,元素中包含的可以是属性,也可以是子元素,或者数据文本。下面是 一个x m l 文档的示例。逻辑上而言,x m l 文档由文档类型声明、元素、注释、 实体引用和处理指令组成,所有这些都在文档中用显式标记指明。 4 保留语义约束的关系模式到x m ls c h e m a 转换的研究与实现 x m l 文档示例: x m l 网页开发实例教程 机械工业出版社 、 2 3 0 0 从示例中可以看出x m l 文档是树型结构。这一树型结构既可以表示结构化 数据( 如关系数据、面向对象数据等具有严格结构的数据) i 又可以表示半结构化 数据,而且可以支持多媒体数据,具有很大的灵活性。 文档类型声明用来详细地说明文档信息,其中包括文档根元素和文档类型定 义f b t d ) 。 元素是x m l 文档的主要逻辑单元,它们的边界用起始标签和结束标签分 隔,对于空元素,则用一个空元素标签分隔。元素可以包含字符数据或 嵌套了元素,同时它还可以有一个属性值说明集。每一个属性有一个名 字和一个值。 注释被用来提供文件数据说明,以 ! 一开始,一结束,可以出现在文档 中任何地方。 实体引用在x m l 中被用来为数据片赋予别名。在& 和;之间加上实体名 称,即可引用实体。 处理指令是由处理x m l 文档的应用程序使用的特殊指令,x m l 解析器并 不处理它们,而将它们直接返回给应用程序。处理指令通常以 结束。 2 1 2x m l 的优缺点 x m l 的优势之一是它允许各个组织、个人建立适合自己需要的标记集合, 并且这些标记可以迅速地投入使用。这一特征使得x m l 可以在电子商务、政府 文档、司法、出版、c a d c a l v l 、保险机构、厂商和中介组织信息交换等领域中 一展身手,针对不同的系统、厂商提供各具特色的独立解决方案。x m l 的最大 优点在于它的数据存储格式不受显示格式的制约。一般来说,一篇文档包括三个 要素:数据、结构以及显示方式。对于h t m l 来说,显示方式内嵌在数据中,这 样在创建文本时要时时考虑输出格式,如果因为需求不同而需要对同样的内容进 行不同风格的显示时,要从头创建一个全新的文档,重复工作量很大。此外h t m l 缺乏对数据结构的描述,对于应用程序理解文档内容、抽取语义信息都有诸多不 便。x m l 把文档的三要素独立开来,分别处理。首先把显示格式从数据内容中 独立出来,保存在样式单文件( s t y l es h e e t ) 中,这样如果需要改变文档的显示 方式,只要修改样式单文件就行了。x m l 的自我描述性质能够很好地表现许多 硕士学位论文 复杂的数据关系,使得基于x m l 的应用程序可以在x m l 文件中准确高效地搜索 相关的数据内容,忽略其他不相关部分。x m l 还有其他许多优点,比如它有利 于不同系统之间的信息交流,完全可以充当网际语言,并有希望成为数据和文档 交换的标准机制。总体说来,x m l 主要具有以下一些重要特性: 1 ) 可扩展性:x m l 让使用者创建和使用他们自己的标记而不是h t m l 的有 限词汇表。可扩展性是至关重要的,企业可以为电子商务和供应链集成 等应用x m l 定义自己的标记语言,甚至特定的行业也可以一起来定义该 领域的特殊的标记语言作为该领域信息共享与数据交换的基础。 2 ) 灵活性:x m l 提供了一种结构化的数据表示方式,使得用户界面分离于 结构化数据。在x m l 中可以使用样式表如x s l t ” ( e x t e n s i b l es t y l e s h e e t l a n g u a g e ,扩展样式表语言) 、c s s 2 t 4 ( c a s c a d i n gs t y l es h e e t sl e v e l 2 ,层 叠样式表第2 阶) 将数据呈现到浏览器中。 3 )自描述性:x m l 文档通常包含一个文档类型声明,因而文档是自描述的, 不仅人能读懂x m l 文档,计算机也能处理。x m l 文档中的数据可以被 任何能够对x m l 数据进行解析的应用所提取、分析、处理,并以所需格 式显示,x m l 表示数据的方式真正做到了独立于应用系统并且这些数据 能重用。 4 ) 简明性:x m l 只有s g m l 约2 0 的复杂性但具有s g m l 功能的约8 0 。 ,同完整s g m l 的相比,x m l 简单、易学、易用,并且易实现。 当然,x m l 作为一个新建立的标准,还有许多不足之处:它在强调了数据 结构的同时,语义表达能力上略显不足。另外,x m l 的有些技术尚未形成统一 的标准,充分支持x m l 的应用处理程序还不多,甚至浏览器对x m l 的支持也是 有限的。尽管如此,我们仍然可以预言,随着人们对x m l 认识的逐渐深入,x m l 必将成为网络技术中不可缺少的一员。 2 2x m l 文档模式 x l 的文档数据模式定义方法有很多,其中比较常用的是d t d 和x m l s c h e m a 。它们限定了文档中使用的元素标记、出现顺序、嵌套层次以及包含的 属性。只有语法正确并且符合d t d 或x m ls c h e m a 的x m l 文档才是有效的。 2 2 1d t d d t d 1 5 1 是d o c u m e n tt y p ed e f i n i t i o n ( 文档类型定义) 的简称。它是一套关于标 记的语法规则,详细描述一组x m l 文档的结构。d t d 由文档模型提供规则的声 明所组成。每个声明包括元素、属性集、实体或表示法。这四种声明类型构成了 任意d t d 块: 元素声明:标识元素的名称和元素内容的特性。 6 保留语义约束的关系模式到x i d ls c h e m a 转换的研究与实现 属性声明:标识元素具有的属性、属性类型、值域默认值等。 实体声明:把一个名称关联到内容的其他某个片段上,该片断可以是一 个正规的文本块、一个文档声明块或一个指向某个含有文本或二进制数 据的外部文件的引用。 表示法声明:表示具体类型的外部数据。 示例x m l 文档对应的d t d 如下所示: 、 d t d 可以内嵌在x m l 文档的首部,也可以作为一个单独的文档由u r l 指定。 x m l 文档可以建立一个内部d t d ,此内部d t d 定义应位于x m 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 规范。 2 2 2x m ls c h e m a x v ls c h e m a 1 6 1 8 1 如同d t d 一样,负责定义和描述x m l 文档的结构和内容模 式。它是针对d t d 的缺点而设计的,它可以定义x m l 文档中存在哪些元素、元 素之间的关系,并且可以定义元素和属性的数据类型。x m ls c h e m a :才s :身是一个 x m l 文档,它符合x m l 语法结构。可以用通用的订l 解析器解析它。事实上x m l s c h e m a 也是x m l 的一种应用,它是将d t d 重新使用x m l 语言规范来定义。这从 某种意义上讲正好体现了x m l 自描述性的优点。 示例x m l 文档对应的x m ls c h e m a 文件为: q 。 7 硕士学位论文 与d t d 相比,x m ls c h e m a 具有如下一些优点: 1 ) 一致性:s c h e m a 建立在x m l 之上,它的样子和一般的x m l 文件完全相 同,使得x m l 达到了从内到外的完美统一。另一方面,因为s c h e m a 本 身也是一种x m l ,可以被现有的x m l 编辑制作工具所编辑、被x m l 语 法分析器所解析、被x m l 应用系统所利用,既有投资得到了最大程度的 、保护。 2 ) 扩展性:s c h e m a 中引入了丰富的数据类型,它们包括:布尔型,数字, 日期时间,u r l ,整数,十进制数,实数,时间段,等等。而且它还支 持由这些简单的类型生成复杂的类型,以及由用户定义的数据类型( 原 型) 。 3 ) 易用性:x m ls c h e m a 取代d t d 的另一个原因要归结于d o m 1 9 1 和s a x t 2 0 】 【2 l l ( 关于d o m 和s a x 的概念将在后面介绍) 。作为一种x m la p i ,d o m 和s a x 只是对x m l 实例文档有效,对于d t d 则无能为力,不能期望通过 d o m 或s a x 来判定一个元素的属性类型或者某个元素的子元素允许出 现的次数( 当然,这都是x m l 分析器的本职工作) 。但是,一旦有了 s c h e m a ,这个问题便不复存在,因为此时对于x m l 文档结构的描述已 变成为s c h e m a j 塞_ 种“形式良好的 x m l 文档,可以方便地d o m 和s a x 去访问。 4 ) 规范性:同d t d 一样,s c h e m a 也提供了一套完整的机制以约束x m l 文 档中标记的使用,但相比之下,后者基于x m l ,更具有规范性。s c h e m a 利用元素的内容和属性来定义x m l 文档的整体结构,如哪些元素可以出 现在文档中、元素间的关系是什么、每个元素有哪些内容和属性、以及 元素出现的顺序和次数等等,一目了然。 5 ) 支持名称空间。, 6 ) 互换性:每个人都可根据需要设计适合自己应用的s c h e m a ,并且可以同 其他人交换彼此的s c h e m a 。利用s c h e m a f l 皂够书写x m l 文档,验证文档 的合法性。另外,通过映射机制,还可以将不同的s c h e m a 进行转换,以 实现更高层次的数据交换。 2 3x m l 的相关规范 自从l 1 0 规范发布之后,x m l 的有关技术规范不断涌现,w 3 c 在1 9 9 9 年 先后推出- j n a m e s p a c e si nx m l ( 订l 中的名字空间) ,c s s 2 等推荐标准。- 与x m l 有关的重要技术规范还包括和d o m 【1 9 1 、x l i n k 2 2 1 、x p a t h 2 3 1 、x q u e r y l 2 4 】【2 5 】、x s l 8 保留语义约束的关系模式到x m ls c h e m a 转换的研究与实现 等。 2 3 1d o m 与s a ) ( 为了使) u v l 应用开发能够独立于x m l 分析器,w 3 c 和x m ld e v m g 件列表成 员分别提出了两个标准应用程序接口:d o m 和s a x 2 0 1 【2 l 】( s i m p l ea p if o rx m l ) 。 d o m 和s a x 在应用程序开发过程中所处地位如图2 1 所示。从图中可以看出,应 用程序不是直接对x m l 文档进行操作的,而是首先由l 分析器对x m l 文档进 行分析,然后,应用程序通过x m l 分析器所提供的d o m 接口或s a x 接口对分析 结果进行操作,从而间接地实现了对x m l 文档的访问。这些接口由不同的分析 器实现,但它们必须遵循共同的规范。 d o m 接口 荔糖绋瓣嘲绨觑缸掰鲥删糍瓣彘赫鳓溅 落每建: _ 警 恸j 爹 图2 1d o m 和s a x 接口示意图 d o m ( d o c u m e n to b j e c tm o d e l ) 是文档对象模型,最先用于d h t m l ,是h t m l 文档和x m l 文档的应用程序接口。它提供了分层对象模型访问删l 文档中信息 的方式,这些分层对象模型依据x m l 文档的结构形成一棵节点树。 在应用程序中基于d o m 的x m l 分析器将一个x m l 文档转换成一个对象模 型的集合,即d o m 树,应用程序通过对这个对象模型的操作实现对x m l 文档数 据的操作。d o m 由三部分组成:核心、h t m l 和x m l 。核心部分是结构化文档 比较底层对象的集合。h t m l 和x m l 两部分专门提供高级接口,使得操纵h t m l 和x m l 两类文件更方便。d o m 中最基本的对象是结点,由它派生出许多类型结 点,所有结点组成一棵文档树。 s a x ( s i m p l ea p i f o rx m l ,x m l 简单应用程序接口) 是一种基于消息的x m l 文档处理机制。它提供的是一种顺序的访问模式,是一种快速读写x m l 数据的 方式。它在分析x m l 文档时,当遇到元素的开始时会发送s t a r t e l e m e n t 消息,同 时把元素名、长度及所包含的属性作为消息的参数传回;遇到字符数据时发送 c h a r a c t e r 消息,并把内容作为参数送回。s a x 是一组事件驱动的用于x m l 文档的 a p i ,接口规范是x m l 分析器提供的更底层的接口,能够为应用程序提供更大的 灵活性。 s a x 分析器中主要的a p i 接口有以下几种: s a x p a r s e r f a c t o r y :用来按照系统属性中的定义创建一个分析器的实例。 9 吣 一;,一一一,一一一一一 硕士学位论文 p a r s e r :定义了类似s e t d o c u m e n t h a n d l e r 的方法来创建事件处理函数, 也定义t p a r s e r ( u r l ) 方法来对x m l 文档进行实际分析工作。 d o c u m e n t h a n d l e r :当分析器遇到x m l 文档中的标记时,就会激活该 接口中的s t a r t d o c u m e n t 、e n d d o c u m e n t 、s t a r t e l e m e n t 以及e n d e l e m e n t 等方法,另外,c h a r a c t e r s 方法以及p r o c e s s i n g i s t r u c t i o n 方法也是在 ,d o c u m e n t h a n d l e r 接口中实现。 e r r o r h a n d l e r :当分析器遇到不同的错误时,e r r o r h a n d l e r 接口中的e l t o l 、 f a t a l e r r o r 或者w a r n i n g 方法就会被激活。 d t d h a i l d l e r :处理d t d 中的定义。 e n t i t y r e s o l v e r :当分析器要识别由u r i 定义的数据时,就会调用该接 口中的r e s o l v e e n t i t y 方法。 s a x 非常简单,易于使用,对内存要求比较低,可以分析较大的x m l 文档: 当仅对x m l 文档中的部分内容感兴趣时,s a x 更方便,只需在感兴趣的地方停 下来处理,无需形成整个x m l 文档的d o m 树。但s a x 不能实现对文档的随机存 取,必须按照数据提交次序进行处理;信息在解析的过程中会丢失,不能完全从 生成的事件中重新生成文档;难以实现复杂的查询等。 通常,处理较小且需要复杂操作的x m l 文档使用d o m ,对于大量的操作简 单的x m l 文档使用s a x 。 2 3 2x p a t h 与x o u e r y x m l 提供了在x m l 文档中定位和查询数据的技术,这些技术在数据交换中 对x m l 数据进行操作和处理具有重要作用。 ( 1 ) x p a t h x p a t h 2 3 】是用于在x m l 文档中定位信息的语言。可以把x p a t h 看作文件路径, 通过文件路径的规则能够找到所需要的文件;同样,依据x p a t h 所制定的规则, 可以方便地找到l 文档树中的任何一个节点。x p a t h 操作于x m l 文档树之上, 使用紧凑的、非) 洲l 的语法来选择一个或一组节点,而不是基于标记的语法, 能够区别包括元素节点、属性节点、文本节点在内的不同类型的节点。 ( 2 ) x q u e r y x q u e r y i 冽【2 5 1 是为订l 所设计的、类似于s q l 的查询语言,用于定位和过滤 x m l 文档中的元素和文本。x q u a r y 是在x p a t h 上的扩展,为指向特定的元素或查 找具有指定特征的节点设计了简明的可理解的符号。它提供一系列类型和控制结 构的编程环境,能够煳l 文档和内含x m l 的资料库中查询并获取信息,也因 此而逐渐成为查询x m l 数据库的主流语言。 2 3 3c s s 与x s l 样式单( s t y l es h e e t ) 是一种专门描述结构文档表现方式的文档,样式单一般 l o 保留语义约束的关系模式到) ( m ls c h e m a 转换的研究与实现 不包含在x m l 文档内部,而以独立的文档方式存在。与h t m l 描述数据显示方式 的传统方法相比,样式单有许多突出的优点: , 1 ) 表达效果丰富:样式单可以支持文字和图像的精确定位、三维层技术以 及交互操作等,样式单的标准规范独立于其它结构文档的规范,当需要 实现更丰富的表达效果时,仅需修改样式单规范即可,不会牵涉到原始 的x m l 文档内容。 。 2 ) 文档体积小:在实际应用中,常常给相同名称标记下的内容定义相同的 表现方式,在样式单中,对于同一个标记只需进行一次描述,大大缩小 需要传输的文件的体积,可提高传输速度,并节约带宽。 3 ) 便于信息检索:样式单可以实现非常复杂的显示效果,但由于样式描述 与数据描述相分离,显示细节的描述并不影响文档中数据的内在结构。 因此,网络搜索引擎对文档进行搜索时,不会被种种显示描述标记所影 响。 一 4 ) 可读性好:样式单对各种标记的显示进行集中定义,且定义方式直观易 读。这使得它易学易用,可读性、可维护性都比较好。同时x m l 文档也 相对简洁、清晰,突出对内容本身的描述功能。 正是由于样式单的这种种优点,w 3 c 大力提倡使用样式单描述结构文档的显 示效果。与之相应,x m l 关于文档浏览的基本思想是将数据与数据的显示分别 定义。样式单还带来另一个好处,即定义不同的样式表可以使相同的数据呈现出 不同的显示外观,从而适合于不同应用,甚至能够在不同的显示设备上显示。这 样,x m l 数据就可以得到最大程度上的重用性,满足不同的应用需求。 迄今为止,w 3 c 已经给出了两种样式单语言的推荐标准,一种是层叠样式单 c s s ( c a s c a d i n gs 够l es h e e t s ) ,另一种是可扩展样式单语言x s l ( e x t e n s i b l e s t y l e s h e e tl a n g u a g e ) 。- c s s 是针对h t m l 提出的样式单语言,后来也能很好地应用于描述x m l 文 档,可以定义h t m l 或x m l 文档中元素的显示效果,包括元素的位置、颜色、背 景、边空、字体等。c s s 的基本思想是为结构文档中的各个标记定义出相对应的 一组显示样式,定义的基本格式为: 选择符 样式属性:取值;样式属性:取值;) 选择符:是指被施加样式的元素,浏览器在文件中碰到这些元素时, 就使用定义好的样式来显示它们。基本的选择符包括标记、类、标 识、伪类等。 j 样式属性:是指元素的哪些属性可以在样式单中给予改变。 - 属性值:在定义样式时,除需指出样式所施加的元素、元素的属性 之外,还要给属性赋予一个新值。 在x m l 文档中使用c s s 的方式也有所不同主要有两种:引用式和嵌入式。引 硕士学位论文 用式是指x m l 文档本身不含样式信息,通过引用外部c s s 文档来定义文档的表现 形式。大部分x m l 文档都采用这种方式,这也与x m l 语言内容与形式分开的原 则相致。内嵌式是指将c s s 样式直接嵌入到捌l 文档内部,为元素设置s t y l e 属性,并在属性值中给出对其样式的定义。这种用法主要出现在一些特殊的x m l 文档中,一般来讲内嵌c s s 样式的x m l 文档本身就是面向显示的,如s v g 、s m i l 等。 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 设计的样式表语言,x s l 是通过x m l 进行定义的,遵循x m l 语法规则,是x m l 的一种具体应用。它由两 部分组成:第一部分描述如何将一个x m l 文档进行转换;第二部分定义了格式 对象f o ( f o r m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025云南省丽江市检察系统公开招聘聘用制书记员(8人)笔试参考题库附答案解析
- 跨境支付风险评估-洞察及研究
- 社会治理空间技术-洞察及研究
- 2025广东广州市花都区狮岭镇旗新小学招聘编外教师考试参考题库附答案解析
- 2025福建漳州市龙海区城发环境服务有限公司招聘26人笔试参考题库附答案解析
- 乐山大佛文物保护管理委员会2025年面向社会公开考核招聘事业单位工作人员笔试备考试题及答案解析
- 2025年湖南郴州临武县第二幼儿园选调22名教师考试模拟试题及答案解析
- 2025云南玉溪易门县华亿投资有限责任公司招聘5人笔试备考试题及答案解析
- (2025年标准)房地转让协议书
- (2025年标准)房产退购协议书
- 医院课件:《老年综合评估》
- 饲料营销技巧培训
- 知识产权侵权培训课件
- 2024中国中煤销售集团总部及所属企业电力营销专业人才招聘笔试参考题库附带答案详解
- 2025年上半年北京广播电视台招聘140人笔试易考易错模拟试题(共500题)试卷后附参考答案
- 初中英语沪教牛津版单词表(共6册)
- 酒店客房验收工程项目检查表
- 加强教学常规管理提高教学质量
- 吉兰巴雷综合征病人的护理
- 《英语句子成分》课件
- 河北农业大学分子生物学题库(带答案)
评论
0/150
提交评论