




已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)基于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 l 和数据库记录集之间 相互转化的可行性以及基本转化步骤。之后本文着重分析了采用d o m 、s a x 、x p a t h 三种技术实现x m l 查询的工作原理,通过分析给出了这三种技术的查询实现,并对各 自适用的范围以及优缺点进行了比较。通过比较这三种技术各自不同的优势,本文将 d o m 和x p a t h 结合起来,提出一种简单灵活的x m l 查询解决方案,并设计出一个x m l 查询应用模型,最后给出了这个模型的分析与应用实现。研究表明,这种应用模型能更 加简单方便的实现x m l 的查询,具有较高的实用价值。 关键词:d o m ;s a n ;x p a t h ;n m l 查询应用模型 大连交通大学工学硕士学伊论文 a b s t r a c t w i t ht 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 ka n dd a t a b a s et e c h n o l o g y ,t h ea p p l i c a t i o no f d a t a b a s eb e c o m em o r ea n dm o r ew i d e l y ,e s p e c i a l l yi nt h ep r o c e s so ft h ee n t e r p r i s e i n f o r m a t i o n m a n ya p p l i c a t i o n su s ed a t a b a s e st om a n a g ea n ds t o r ed a t a , a n da l m o s ta 1 1t h e l a r g e s c a l eb u s i n e s sa p p l i c a t i o na r ea s s o c i a t e dw i t l ld a t a b a s e n o r m a l l y ,t h ed a t a b a s es e r v e r e f f e c t i v e l ym a n a g e st h es y s t e mr e s o u r c e sa n dh a n d l e st h er e q u e s t so f t h ec u s t o m e r h o w e v e r , t h ed i r e c ti n t e r a c t i o nw i 也d a t a b a s ea p p l i c a t i o nh a ss t r o n gd e p e n d e n c et od a t as t r u c t u r e , e s p e c i a l l yt h eq u e r yo p e r a t i o n , f r e q u e n tv i s i t sa n dh i g hc o n c e n t r a t i o no ft h ed a t aa c c e s s c a u s e s d a t a b a s ep e r f o r m a n c eb o t t l e n e c ka n dt h ew a s t eo fr e s o u r c e s ,e v e nm a k e sd a t a b a s eb u r d e na n d c o l l a p s e s o ,l e ta l lt h ea p p l i c a t i o np r o c e d u r e sc o n v e n i e n t l y i n t e r a c t i v er e s p e c t i v e l yi s b e c o m i n gm o r ea n dm o r ei m p o n a n t 。a n db e c a u s eo ft h ed i f f e r e n td a t af o r m a t sa n dv e r s i o n s b e t w e e nd i f f e r e n td a t a b a s e s i t sd i f f i c u l tt or e a l i z ef a s ta n dc o n v e n i e n td a t ai n t e r a c t i o n w e n e e dt of i n dam e d i u ma st h ei n t e r m e d i a t et os o l v et h ep r o b l e m t h et e c o n o l o g yo fx m l w i t h i t sf l e x i b l ea n ds i m p l ed a t af o r m a tb e c o m e so u rc h o i c ef o rt h ei n t e r m e d i a t e t h e nw ec a n c o n s t r u c tx m ld o c u m e n tt os i m u l a t ear e l a t i o n a ld a t a b a s e ,w h i c ht u r n st h ed a t a b a s eq u e r y i n t o 舭q u e r i e s i no t h e rw o r d s b yt r a n f e r r i n gt h ed a t a b a s er e c o r d s e ti n t ox m l d o c u m e n t s , t h eq u e r i e sd on o td i r e c t l ya c c e s st h ed a t a b a s e ,b u tt u mt or e l e v a n td a t a o r i e n t e dx m l d o c u m e n t t h u sm a k e st h ed a t aq u e r yf a s t e ra n dm o r ee m c i e n t b a s e do nt h i si d e a , t h i sp 印e rf i r s td i s c u s s e st h ef e a t u r e so ft h ex m la n dd a t a b a s e , a n a l v s i su n d e rw h a tc o n d i t i o n st h et r a n s f o r m a t i o ni st h em o s ts u i t a b l e ,d i s c u s s e st h em u t u a l t r a n s f o r m a t i o ns t e p sb e t w e e n ) ( m la n dd a t a b a s er e c o r d s s e c o n d l y t h ep a p e rd i s c u s s e st h a e e t e c h n o l o g yi n c l u d i n gd o m s a xa n dx p a t ht or e a l i z et h ex m lq u e r y ,p r o v i d e st h ed e t a i l m e t h o do fc o d er e a l i z e s ,t h e nc o m p a r e st h ea p p l i c a b l er a n g eo ft h e s et h r e ek i n d so f t e c h n o l o g y b yc o m p a r i n gt h e s et h r e ed i f f e r e n ts t r e n g t h so fe a c ht e c h n o l o g y ,t h ep a p e r c o m b i n e sd o ma n dx p a t ht o g e t h e r p r o p o s e sas i m p l ea n df l e x i b l ex m lq u e r ys o l u t i o n ,a n d ax m lq u e r ya p p l i c a t i o nm o d e l f i n a l l y ,p r o v i d e st h em o d e la n a l y s i sa n dt h ea p p l i c a t i o n r e a l i z e s t h er e s e a r c hs h o w st h a t 。t h i sm o d e lc a nr e a l i z et h ex m lq u e r ym o r es i m p l e l y ,a n d h a sg o o dp r a c t i c a lv a l u e k e yw o r d s :d o m ;s a x ;x p a t h ;3 l m lq u e r ym o d e l l i 大连交通大学学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢及参考 文献的地方外,论文中不包含他人或集体已经发表或撰写过的研究成 果,也不包含为获得太蓬塞通太堂或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 本人完全意识到本声明的法律效力,申请学位论文与资料若有不 实之处,由本人承担一切相关责任。 学位论文作者签名:考拐马彩卜一 嗍: 加夕钆阴 大连交通大学学位论文版权使用授权书 本学位论文作者完全了解太适塞通太堂有关保护知识产权及保 留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属太蓬塞通太堂一,本人保证毕业离校后,发表或使用 论文工作成果时署名单位仍然为太整塞通太堂。学校有权保留并向 国家有关部门或机构送交论文的复印件及其电子文档,允许论文被查 阅和借阅。 本人授权太整塞通太堂可以将学位论文的全部或部分内容编入 中国科学技术信息研究所中国学位论文全文数据库等相关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 文。 ( 保密的学位论文在解密后应遵守此规定) 学位论文作者签名:弓歆易墨耳一 魄一年心月,手日 学位论文作者毕业后去向: 2 e 作单位: 通讯地址: 申子信箱 导师签名: 琢c 幸军叉 日期:妒7 年,2 月,y - 日 电话: 邮编: 第一章绪论 第一章绪论弟一旱殖了匕 1 1 研究背景及意义 近年来,计算机和网络技术的发展呈加速态势,企业正在不断地增加它的数据库和 应用系统,数据的采集、存储、处理和传播的数量也与日俱增,但各种应用的核心 数据,仍以不同形式存储在不同的系统中,让各种应用程序方便地交互各自数据库中的 数据显得越来越重要。但是,与数据库的直接交互导致应用程序对数据结构有很强的依 赖性,而不同数据库之间因为数据格式和版本不同,很难实现快捷、方便地交互数据。 特别是查询操作往往是数据库性能的瓶颈,频繁的查询访问和密集度高的数据存取,不 仅严重浪费数据库连接资源,而且可能使数据库负担过重而崩溃。 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 ,可扩展的标记语言) 是种元标注语言,该语 言提供一种描述结构数据的格式,这有助于更精确地声明内容,方便跨越多种平台的更 有意义的搜索结果。目前,x m l 以其数据和表现相分离的特性和强大的数据表达能力【1 】, 己经成为互联网和数据库之间沟通的桥梁,它的出现使文本的互联网转变为数掘的互联 网一个全球范围的分布式数据库【2 】。 x m l 最大的优势在于对各种数据的管理,实现数据的检索、显示和交换等。首先, x m l 能够描述各种数据格式,无论其是结构化的还是半结构化的,无论其是否支持所 有的查询语言还是简单的文本查询。其次,x m l 易于发布和进行数据交换,集成后的 数据可以方便的以多种格式发布和便于应用交换数据。x m l 所具有的强大的数据表达 能力,不仅可以表达关系模型和对象模型的数据,而且还可以表达不规则的,易变的数 据。x m l 的这些优良特性使得不同数据库之间以及不同应用程序之间快捷的数据交互 成为可能。 x m l 已经成为i n t e m e t 以及电子商务中进行数据表示和数据交换事实上的标准【3 】。 由于其丰富的表达能力和自描述性、灵活性等特点,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 文档和从x m l 文档中查询信息,己成为数据库研究领 域的一个重要研究课题。 1 2 国内外研究进展 x m l 数据作为一种半结构化数据,以其简单、可扩展和跨平台等诸多优点,己经 成为数据表示、数据存储和数据交互的事实上的标准。与此同时,如何有效地存储和管 理海量x m l 数据,如何对x m l 数据进行高效的查找和检索,如何转换、集成、发布 x m l 数据等问题也愈来愈受到重视。近几年,工业界和学术界围绕x m l 相关的诸多课 题,都做了大量的研究,也取得了很多重要的研究成剁4 1 。 w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ,万维网协会) 为此专门成立了x m l 查询工作 组( x m lq u e r yw o r k i n gg r o u p ) ,专门负责制定有关x m l 查询的数据模型、查询语 言等方面的规范。可以说x m l 数据格式、x m l 数据库等各个与x m l 相关的各个方面 正在受到更大的重视。研究主要涉及以下一些问题: ( 1 ) 数据模型 x m l 数据是非常灵活的,表现为有些数据具有明确的数据类型定义,而另外一些 数据则缺乏严格的类型定义或根本就没有类型定义。为便于实现结构化数据查询,应将 x m l 数据映射到某种数据模型,如关系模型、关系对象模型、面向对象的半结构 化数据模型以及o o d b 数据模型等。 ( 2 ) 模式的建立与维护 在传统的数据库中,数据的定义、查询表达、查询的处理与优化等都依赖于模式。 对于x m l 数据的查询,模式同样是非常重要。文档类型定义描述了x m l 文档中元素 的结构信息,因此可以看作x m l 数据的模式,不过d t d 缺乏精确的类型定义,引用定 义机制也不完善,为此,可以针对所采用的数据模型根据d t d 建立相应的数据库模式【5 】。 关系模式、半结构化的数据库模式的更新也是众学者们关心的问题。 ( 4 ) 查询语言 自x m l l 0 推出后,有关各方先后提出了很多查询语言的方案,有的是在以前半结 构化数据的查询语言的基础上,针对x m l 的特点作了必要的扩展。另外一些则是专门 为x m l 的查询而提出的。x m l 查询工作组提出的查询语言x q u e r y l 6 1 借鉴了结构化、 半结构化数据查询语言的很多特性,并且较多地考虑了对不同类型数据源的访问能力以 及在小型化、易实现以及可读性等方面的要求。 ( 5 ) 查询处理 2 第一章绪论 在传统的数据库系统中,结构化数据的查询处理已经得到了广泛深入的研究,这为 x m l 数据的查询奠定了基础,很多方面都值得借鉴。不过x m l 数据具有新的特点和查 询需求,原有的方法应根据x m l 数据的特点进行改进,还要考虑与其他方法的结合。 x m l 的查询处理主要包括以下研究工作:索引技术、路径查询表达式的处理与优化、 相似性查询等。 ( 6 ) x m l 数据的存储 x m l 数据的物理存储格式对查询处理的效率有很大的影响,目前主要有三种方案: 文本格式,这是存储x m l 数据的标准格式。为了提高查询效率可以建立索引, 索引的维护是需要解决的关键问题。 将x m l 数据存储于传统数据库中。利用传统数据库系统的查询机制可以获得较 高的效率,但x m l 数据与传统数据库之间的转换可能导致信息损失。 使用对象管理器保存x m l 数据。这类系统目前缺乏s q l 通用的查询语言。 ( 7 ) 视图的建立与维护 视图在传统数据库中是一种重要的机制,同一物理数据上的多个视图可以满足不同 用户不同的需要,视图还可以控制用户对数据的访问,有利于数据库的安全。对于x m l 数据的查询来说,视图很可能同样重要,不过,x m l 数据的不规则性也给视图的定义、 维护及查询重写等带来了更多的困难,近年来在半结构化数据的视图方面已有不少研 究。 近年来,随着x m l 相关技术的深入研究,x m l 查询已经具备了坚实的技术基础。 x m l 是典型的半结构化数据,因此半结构化数据查询技术方面的研究成果可以直接应 用于x m l 查询】。更为重要的是,w 3 c 在x m l 工作文本【9 m 】中为其定义了模式( x m l s c h e m a ) 、查询语言( x q u e r y ) 、查询形式语义等数据库才具备的特征,并已得到广泛的支 持。此外,随着计算机硬件技术的发展,现代计算机的内存容量越来越大,可以在内存 中处理更多的数据,对x m l 数据的查询完全可以在内存中进行。 1 3 本文主要研究内容 由于信息化建设的阶段性特征,使得很多企业、机关等部门存在不同数据库并存的 现象,那么怎样有效地从不同数据源提取数据并且能够共享数据这个问题就变得日渐突 出,本文以这个问题为出发点,提出了将数据库表转化成x m l 文档来进行查询的这一 解决思路。 本文先讨论了x m l 和数据库各自的存储特点,分析什么情况下将数据库的查询转 化为对x m l 的查询是最适合的,并讨论了x m l 和数据库记录集之间相互转化的可行 大连交通大学t 稃硕十学位论文 性以及基本转化步骤。之后本文着重分析了采用d o m 、s a x 、x p a t h 三种技术实现x m l 查询的工作原理,通过分析给出这三种技术的查询实现,并对这三种技术适用的范围以 及优缺点进行了比较。通过比较这三种技术各自不同的优势,本文将d o m 和x p a t h 结 合起来,提出一种简单灵活的x m l 查询解决方案,并设计出一个x m l 查询应用模型, 最后给出了这个模型的分析与应用实现。 1 4 论文章节安排 直接查询x m l 文档是一种简单易行的提高数据库服务器性能的方法,能有效减轻 数据库和系统的压力,便于用户对各类信息和文档进行方便而快速的查找。根据课题的 研究内容,本文的组织安排如下: 第一章绪论介绍了课题研究意义,相关的背景知识以及目前的发展状况,并简要概 括了本文的行文思路。 第二章介绍x m l 技术基础,为本文后面的研究奠定了理论基石。 第三章针对目前的问题进行分析,提出将x m l 作为中间媒介进行数据交互的总体 解决方案。通过分析x m l 和数据库各自的存储特点,研究什么情况下将数据库的查询 转化为对x m l 的查询是最适合的,并给出了x m l 和数据库之间相互转化的技术实现。 第四章详细讨论d o m 、s a x 、x p a t h 实现x m l 文档查询的技术,分析各自的优缺 点及适用范围,并分别进行了查询实现。 第五章通过比较这三种技术各自不同的优势,将d o m 和x p a t h 结合起来,提出一 种简单灵活的x m l 查询解决方案,并设计出一个x m l 查询应用模型,最后给出了这 个模型的分析与应用实现。 最后对本文的工作进行了总结并展望了下一步的工作。 4 第二章x m l 相关知识介绍 第二章x m l 相关知识介绍 2 1x m l 简介 x m l 是w 3 c 的x m l 工作组为适应i n t e r n e t 的发展,实现快速的电子商务和电子 数据交换而推出的新型w e b 语言。这个工作组是这样描述该语言的 1 3 】:“x 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 ,标准通用标记语言) 的子集,其目标是允许普 通的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 在网络上得到了迅 速的普及,成为i n t e m e t 以及各种信息集成中的数据交换格式。x m l 结构的灵活性,是 x m l 与关系数据库的最大差别,x m l 也被人们普遍认为是一种典型的半结构数据【1 4 1 。 2 1 1x m l 的优势 x m l 作为i n t e m e t 上数据表示和交换的标准,与h t m l 不同,它具有自描述、半 结构的特点,更加适合机器理解;而h t m l 则注重对数据外观的表示,更加适合人的 理解。x m l 是对h t m l 的一个有益的补充f l5 1 。与最普遍的数据表现形式h t m l 相比, x m l 具有一些显著的特性【1 6 1 : ( 1 ) x m l 是自描述的。x m l 的最大能量来源于它不仅允许定义自己的一套标记i 而且这些标记不必局限于对于显示格式的描述。x m l 允许根据各种不同的规则来制定 标记,比如根据商业规则,根据数据描述甚至根据数据关系来制定标记。x m l 实现了 用定义它们自己的标记集来说明文档内容的功能,这些说明的精确度是实现者自己制定 的。 ( 2 ) x m l 支持对文档内容的验证。x m l 文档的结构和x m l 文档的内容是由其语法 定义的。文档类型定义就是这类语法的一种,正在形成的还有x m l 模式。有了模式, 就可以方便地验证文档的有效性。 ( 3 ) x m l 允许开发各种不同专业的特定领域的标记语言。有了这些语言,这个领域 的实践者们可以相互自由地交换短文、数据和信息,而不必担心对方是否利用特殊的、 专用的软件来创建数据。事实上,目前已经开发出了一些特定领域的标记语言,如 m a t h m l ( 用于数学领域的种标记语言) 。 ( 4 ) x m l 是非专有并易于阅读和编写的。这使得它成为在不同的应用间交换数据的 理想格式。x m l 不是第一种公共文档格式,但它与已有的文档交换格式相比具有很多 大连交通大学t 稃硕十学位论文 优点。x m l 是源文档的最佳格式,因为它允许用最佳的输出格式,例如h t m l 、p d f 格式,并格式化应用程序,例如电子数据交换( e d i ) 。 ( 5 ) 支持高级搜索。因为可以知晓文档内容的结构和含义( 根据它的语法规则) , 所以很容易在x m l 文档中进行搜索。在i n t e m e t 上如果w e b 页是x m l 格式的,则搜 索会更高效,而且不仅可以搜索数据,还可以在搜索中加入与数据相关的上下文信息, 这样就形成了更精确的搜索机制。 x m l 是基于w 3 c 定制的开放标准,从而使得基于x m l 的应用具有广泛性。目前, x m l 在很多领域都有相当广泛的应用。有人说,x m l 是下一代w e b 语言;甚至有人 说,x m l 是2 l 世纪的“世界语 。不管这些说法是否确切,都显示出了x m l 的巨大 潜力。 2 1 2x m l 的语言特点 x m l 是元标记语言,可通过它定制针对不同应用环境和要求的标记。它以统一、 开放、基于文本格式的模式来描述和交换数据。它是s g m l 的一个简化而严格的子集。 具有以下特点i l7 j : ( 1 ) 简洁性。x m l 文档语法包含一个非常小的规则集,使开发者能立刻开始工作。 x m l 严格的定义和规则集使人类和机器都能更容易地阅读文档。x m l 文档建立在基本 嵌套结构的一个核心集的基础之上。当一层又一层增加的细节,使结构变得越来越复杂 时,作者或开发者只需要为内部结构的复杂化付出非常少的努力。这些基本结构可以被 用来代表复杂的信息集合,而不需要改变结构自身。x m l 的语法解析器也非常容易创 建。 ( 2 ) 可扩展性和开放性。x m l 可以进行扩展,有一些附加标准可用以向核心的x m l 功能集增加样式、链接和参照能力。作为一个核心标准,x m l 为可能产生的别的标准 提供了一个坚实的基础。x m l 的标准完全开放的,可以免费获得。而且,x m l 使用的 是公开、非专有格式,允许不同专业开发与自己特定领域有关的标记语言,不受版权、 专利、商业秘密等知识产权的限制。x m l 的开放性决定了它可成为异质系统之间进行 交流的媒介,各系统只要装有x m l 解析工具,便可理解以x m l 为中介由其它系统传 送的信息并加以利用,而不用考虑对方的信息格式或使用特殊的软件而完成跨平台的交 流,这有力地促进了电子商务和w a p ( w i r e l e s sa p p l i c a t i o np r o t o c 0 1 ) 的发展。 ( 3 ) 数据的结构性。x m l 是可扩展的标记语言,这种格式不仅仅能够以统一的格式 定义数据,甚至能够封装与表示数据。这一特点,使x m l 能够在i n t e m e t 行走,成为 6 第二章x m l 相关知识介绍 数据交换的中介者,作为一种中介数据库语言开发数据库,在异种数据之间,异种数据 库之间,提供交换信息的平台。 ( 4 ) 互操作性。x m l 可以在多种平台上使用,而且可以用多种工具进行解释,并且 能够与多种开发语言一起打造不同需求的应用。例如:它能够进行数据的多样化显示, 服务器用同样的x m l 文件来保存数据,但能够针对每个客户端不同的样式表将x m l 中的数据,各取所需,显示到不同的客户端。因此可以说,x m l 是一种很好的多层应 用的粘合剂。 2 1 3x 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 数据。 ( 2 ) w e b 服务。w e b 服务让使用不同系统和不同编程语言的人们能够相互交流和分 享数据。其基础在于w e b 服务器用x m l 在系统之间交换数据。交换数据通常用x m l 标记,能使协议取得规范一致,比如在简单对象处理协议( s i m p l eo b j e c ta c c e s sp r o t o c o l , s o a p ) 平台上。s o a p 可以在用不同编程语言构造的对象之间传递消息。这意味着一 个c # 对象能够与一个j a v a 对象进行通讯。这种通讯甚至可以发生在运行于不同操作系 统上的对象之间。 ( 3 ) 内容管理。x m l 只用元素和属性来描述数据,而不提供数据的显示方法。这样, x m l 就提供了一个优秀的方式来标记独立于平台和语言的内容。x m l 具有的能够运行 于不同系统平台之间和转换成不同格式目标文件的能力,使得它成为内容管理应用系统 中的优秀选择。 ( 4 ) w e b 集成。现在有越来越多的设备也支持x m l 了。使得w e b 开发商可以在个 人电子助理和浏览器之间用x m l 来传递数据。这样做的目的是让用户更多地自己掌握 数据显示方式,更能体验到实践的快乐。常规的客户服务( c s ) 方式为了获得数据排序 或更换显示格式,必须向服务器发出申请;而x m l 则可以直接处理数据,不必经过向 服务器申请查询返回结果这样的双向“旅程 ,同时设备也不需要配制数据库。甚 至还可以对设备上的x m l 文件进行修改并将结果返回给服务器。 7 大连交通大学t 程硕+ 学f 移论文 2 2x m l 基本语法 x m l 是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加 以标识【1 9 1 。x m l 不是类似于h t m l 的预定义的标记语言,而是用于定义其它标记语言 的一种元语言。与h t m l 中有固定数量的标记,用来描述一定数目的元素不同,x m l 用于描述信息的各种标记都可以由设计者自行建立,以强化特定专业数据的结构和关 联,x m l 标记描述的是文档内容的结构和含义,而不是描述页面元素的格式化。 x m l 是一种元标记语言,用户可以定义自己需要的标记。可用c s s ( c a s c a d i n gs t y l e s h e e t ,级联式样式单) 和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 m l 文档增加格式化信息。x m l 文档本身只说明文档包括什么标记,而不是说明文档看起 来是什么样的。x m l 文档的准确含义见万维网联盟( w 3 c ) 发表的x m l 文档规范【l3 1 。这 个规范详细定义了x m l 文档是什么和不是什么。x m l 文档应有一个根元素,所有开始 标志要有相应的结束标志,所有属性只要放在引号中,文档中只能使用x m l 中合法的 u n i c o d e 字符。 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 l 文档,可以表达一定的语义信息。而一份附带有外部或内部d t d 或者x m l s c h e m a 的标准的x m l 文档,并且x m l 文档本体符合d t d 或者x m ls c h e m a 所声明 的文件格式的x m l 文档才称为有效的x m l 文档。 一个规范的x m l 文件必须满足w 3 c 所制定的标准,一个规范的x m l 文件应该满 足如下的语法规则: x m l 文件用“x m l 声明 开始。 x m l 文件有且仅有一个根标记。 x m l 的非根标记都必须封装在根标记中。 非空标记必须由“开始标签”和“结束标签 构成。 空标记没有“开始标签”和“结束标签 。 8 第二章。相关知识介绍 x m l 文件中的全体标记必须形成树状结构,即标记不允许出现交叉。 图2 1 是一个规范的x m l 文件的基本结构。 图2 。1 规范的x m l 文件 f i g 2 1t h es t a n d a r dx m 【ld o c u m e n t 2 3d d 与x n 见s c h e m a 一个x m l 文档的结构需要按一定规则进行必要的定义和描述。如x m l 文档中可 以使用哪些标记,哪些标记可以出现在其他标记中,哪些标记具有属性,使用的标记应 按什么次序出现,各标记及其属性的数据类型是什么等等。针对某些问题,有时可能需 要对x m l 文件怎样组织数据,对数据的结构进行必要的限制,以便解析器能更好地解 析其中的数据。比如,可能规定某个标记必须有两个子标记,而某个标记不允许有子标 记等等。 目前,用来定义x m l 文档格式的模式主要有d t d f 2 0 1 和x m ls c h e m a f 2 l 】。尽管d t d 和ls c h e m a 模式都可以对x m l 的数据结构进行限制,但两者最重要的一个区别是 x m ls c h e m a 模式是一个特殊的x m l 文件,而d t d 的语法和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 模式各 有所长,但订ls c h e m a 模式比d t d 更为复杂。 2 3 1 文档类型定义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 l 术语中称 为标记) 的内容和结构,是描述x m l 数据模式的模式定义语言。符合d t d 的x m l 文 档被称为是有效的x m l 文档。具体的说,个d t d 就是一组规则,它使我们可以规定 自己的元素、属性、实体的集合。因此,d t d 基本上就是一种语法,它表明怎样的标 记是允许的,它们出现的顺序,它们怎样被嵌套。从形式语言的角度看,d t d 是语言 9 大连交通大学t 程硕十学位论文 的词汇表和结构,描述了允许使用什么样的标记( 即定义新的标记语言) 、标记元素之 间如何相互嵌套,这样使x m l 成为一种元标记语言,可以用来描述其它标记语言。 d t d 是一套关于标记符的语法规则。它是x m l l 0 版规格的一部分,是x m l 文件 的验证机制,属于x m l 文件组成的一部分。d t d 在一般情况下包括标记声明和参数实 体的引用及外部实体的i d 。标记声明主要有元素类型声明、属性表声明、实体声明以 及符号声明这几种。元素声明通过e l e m e n t 关键字进行声明,同时要包含声明元素的 名称和内容规范,元素的名称必须符合x m l 命名规则。d t d 的属性声明通过a t t l i s t 标记进行声明,由a t t l i s t 关键字、属性修饰的元素名称及零个或多个属性定义组成。 属性定义包含属性名称、类型和缺省声明。x m l 文档可以看作是实体的组合,在实体 声明后才可以被引用。d t d 的符号声明目的是使用自定义的符号来识别外部二进制的 实体格式。 各个组织或者个人都可以定义各自的d t d ,近年来,在几个特定专业的领域己经 开发出相应的d t d 一包括大范围的商业、工程、金融、工业和科学领域。这些d t d 有助于程序员编写能够理解标记并智能处理标记的软件、不同的人们和程序互相阅读文 件,为应用程序、组织和兴趣组提供了共同遵循的方法,同时也以文档形式阐述了标记 标准并强制遵守此标准,同时为数据交换提供了中间模式。 x m l 文档的一个d t d ,可以把它看作数据库系统中的一个模式,然而,它们加在 文档上结构的多少又是易变的。一个结构化的极端是,它们也许可以添加与关系数据相 同的严格结构。另外一个极端是,它们可以允许任何元素类型包含任何元素类型。作为 一种中间状态,它添加不是很严格的结构,对于数据实例,允许具有比传统模式更多的 变化。虽然x m l 标准并不要求必须使用d t d ,但绝大多数x m l 文档都将使用d t d 。 这是因为当x m l 文档含有d t d 时,对于x m l 文档的存储、查询和交换都有重要作用。 2 3 2x m ls c h e m a x m ls c h e m a 于2 0 0 1 年5 月正式发布,经过数年的大规模讨论和开发,最终确定 下来,使得x m l 建模有了一个国际标准,并成为全球公认的首选x m l 环境下的建模 工具。x m ls c h e m a 如同d t d 一样,负责定义和描述x m l 文档的结构和内容模式。它 是针对d t d 的缺点而设计的,它可以定义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 是一种描述信息结构的模型,它是借用数据库中一种描述相关表格内 容的机制,为一类文件建立了一个模式,这个模式规范了文件中标签和文本可能的组合 形式【2 2 1 。它基本上包括属性和元素类型说明,可以为x m l 元素和属性提供内容模块。 l o 第二章x m l 相关知识介绍 因此,x m ls c h e m a 在很多情况下作用同d t d 差不多,但是d t d 文件在实际应用中存 在着一些不足之处。比如当我们将标记约束为“# p c d a t a 时,仅仅是限制了该标记 只能有文本数据,却不能限制文本数据的实际意义;又比如,不能强制限制文本内容是 浮点数或是日期形式的数据。而x m ls c h e m a 却完全克服了这些缺点,能更加清晰的表 现信息的内容。与d t d 相比,x m ls c h e m a 具有以下优点1 2 3 : 一致性。s c h e m a 本身就是x m l 文档,使得对x m l 的定义不必再利用一种特 定的形式化语言,而是直接借助x m l 自身的特性,使得x m l 达到从内到外的完美统 一o 扩展性。s c h e m a 对d t d 进行了扩充,从而使其具有较强的可扩展性,比如引 入了数据类型、命名空间等。 互换性。用户可以根据需要设计适合自己应用的s c h e m a ,并且可以同其他人交 换彼此的s c h e m a 。通过映射机制,可以将不同的s c h e m a 进行转换,实现更高层次的数 据交换。 规范性。同d t d 一样,s c h e m a 也提供了一套完整的机制以约束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 la p p l i c a t i o n ) ,因此模式的“实例文档 常 常用来描述一个与特定x m ls c h e m a 相一致的x m l 文档。x m ls c h e m a 真正出色的地 方是在表达属性值和元素内容的类型约束上,而这恰恰是d t d 最薄弱的地方。除了提 供非常丰富的一组内置s i m p l e t y p e 外,x m l 模式还允许使用者使用类似规则表达式的 语法,派生出新的s i m p l e t y p e 。x m ls c h e m a 是完全使用x m l 作为描述手段,具有很 强的描述能力、扩展能力和处理维护能力。 2 4d o m 与s a x 简介 x m l 数据实际上就是纯文本数据,使用x m l 数据格式的应用程序首先必须能对 x m l 数据进行分析,提取,进而进行处理。为了处理一个已有的文档,我们需要一个 “输入源 ,提供文档的内容。只要有这样一个输入源,词汇分析器就可以将它的字符 序列分析成一个权标序列,而且分析程序可以进行工作。使用分析程序的应用程序由于 显示或修改或重新排列文档不同部分的目的,需要访问它们。分析程序可以用两种方法 提供对文档组成的访i 矗- 2 4 1 。 大连交通大学t 程硕十学位论文 d o m 与s a x 是两种常用的x m l 应用程序接口标准。其中,d o m 是d o c u m e n t o b j e c tm o d e l ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒精依赖合并周围神经病护理查房
- 2025年甘肃省陇南市徽县柳林镇卫生院招聘考前自测高频考点模拟试题含答案详解
- 2025年牡丹江市高校毕业生留牡来牡就业创业专项行动工作的考前自测高频考点模拟试题及答案详解(全优)
- 2025福建三明市明溪县公安局招聘警务辅助人员13人考前自测高频考点模拟试题及一套完整答案详解
- 浙江国企招聘2025台州市椒江区市场开发服务中心(台州市椒江区心海市场管理有限公司)公开招聘工作人员笔试历年参考题库附带答案详解
- 庐山文控数字科技有限责任公司公开招聘笔试历年参考题库附带答案详解
- 吉水县人民检察院面向社会公开招聘1名新媒体运营岗笔试历年参考题库附带答案详解
- 2025年春季中国邮政储蓄银行湖南省分行校园招聘模拟试卷完整答案详解
- 2025陕西铜川市路桥工程公司招聘15人笔试历年参考题库附带答案详解
- 2025重庆国咨数据服务公司延长社会招聘笔试历年参考题库附带答案详解
- 《陆上风电场工程概算定额》NBT 31010-2019
- 2024年河北石家庄市高速公路集团限公司面向社会公开招聘收费人员150名公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 横纹肌溶解症学习课件
- 小学科学教学仪器配备标准
- 中医护理技术的质量与安全管理
- 证据法学-证明标准课件
- 质量管理程序文件汇总
- 国家开放大学电大《课程与教学论》形考任务3试题及答案
- 商务英语口语900句
- 辽宁省沈阳市基层诊所医疗机构卫生院社区卫生服务中心村卫生室名单目录信息
- 锅炉空预器清洗方案
评论
0/150
提交评论