(系统工程专业论文)XML数据到关系数据库的存储研究.pdf_第1页
(系统工程专业论文)XML数据到关系数据库的存储研究.pdf_第2页
(系统工程专业论文)XML数据到关系数据库的存储研究.pdf_第3页
(系统工程专业论文)XML数据到关系数据库的存储研究.pdf_第4页
(系统工程专业论文)XML数据到关系数据库的存储研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(系统工程专业论文)XML数据到关系数据库的存储研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 可扩展标记语言x m l 技术自出现以来,在许多领域内得到广泛的支持并有 着广阔的应用前景。x m l 的核心作用体现于数据的交换与共享,利用x m l 的样 式语言来实现数据间的转换和显示,可以满足用户的多种需求。但是x m l 的诸 多优势并没有表现在存储上,如何更为有效地存储和管理x m l 数据已成为一个 研究热点。 本文说明了x m l 与数据库的结合是大势所趋,提出了一个x m l 数据到关系 数据库的转换框架,这个转换框架的主要设计思想分为两个部分,一个是从 s c h e m a 到数据库的映射技术,将x m l 数据存储到关系数据库,另一个是x m l 的数据查询。本文针对此框架工作流程中的前三个步骤展开研究。 首先是d t d 到s c h e m a 的转换方法的研究。第一步使用设计好的d t d 到 s c h e m a 转换表将d t d 转换为s c h e m a 。第二步运用元素抽取算法,提取可选元素、 复杂元素、多值元素和组元素等产生新的类型,将原始s c h e m a 转换成为 ds c h e m a ,从而建立s c h e m a 树。 然后是对x m l 文档至关系模式映射算法的研究。本文在研究前人的理论成 果的基础上,针对一种生成数据表多、占据存储空间大的映射算法,提出了这种 映射算法的改进算法:使用s c h e m a 树将复杂元素转换为数据表,通过父亲儿子 节点之间的联系设置每个表之间的主外键,保留了s c h e m a 各元素之间的关系, 将s c h e m a 映射为关系表,减少了生成数据表所占的存储空间。本文又提出了另 外的一种算法:建立s c h e m a 树,同时将这棵树上的每个节点赋予五个属性,然 后对这棵树进行深度优先搜索将该树的节点存入一个关系表中,这种方式将 s c h e m a 各元素还有各元素之间的关系直接存入数据库,最后通过深度优先搜索将 x m l 文档的数据存入数据库。这个过程只需生成两张表,相比第一种算法生成的 数据表所占存储空间更小。最后介绍了利用j a v a 语言工具对x m l 文档解析和将 数据写入数据库中的技术。 在实例验证阶段,采用x m ls c h e m a 描述的x m l 水质信息作为数据源,选 用s q ls e r v e r 2 0 0 0 关系数据库来实现存储,实验表明能够利用关系数据库的优势, 有效地实现关系模式下的水质信息的存储。 在本文的最后,针对基于x m l 数据存储存在的一些问题,提出今后进一步 广东工业大学工学硕士学位论文 的工作。 关键词:x m l ;s c h e m a ;半结构化数据;模式映射;数据存储 i i a b s t r a c t a b s t r a c t s i n c et h em a r kl a n g u a g ex m lt e c h n o l o g yh a sb e e np o s s i b l et oe x p a n dt oa p p e a r , h a v i n gw i d e s p r e a ds u p p o r ti nm a n yd o m a i n sa n dh a v i n g t h eb r o a da p p l i c a t i o n p r o s p e c t t h ex m lk e yr o l em a n i f e s t si nt h ed a t ae x c h a n g ea n ds h a r i n g r e a l i z e st h e d a t at r a n s f o r m a t i o na n dt h ed e m o n s t r a t i o nu s i n gt h ex m ls t y l el a n g u a g e ,m a ys a t i s f y t h eu s e rm a n yk i n d so fd e m a n d s a l t h o u g hx m lh a sm a n ys u p e r i o r i t y ,b u th a sn o t d i s p l a y e di nt h em e m o r y ,h o wt os a v ea n dm a n a g e s t h ex m ld a t ah a sb e i n gb e c o m ea r e s e a r c hh o ts p o te f f e c t i v e l y t h i sa r t i c l es h o w e dt h a tx m la n dd a t a b a s eu n i o ni su l t i m a t e l y , p r o p o s e da t r a n s f o r m a t i o nf l a m ef r o mx m ld a t at or e l a t i o n a ld a t a b a s e t h i st r a n s f o r m a t i o n f r a m e sm a i nd e s i g nc o n c e p td i v i d e si n t ot w op a r t s ,o n ei sf r o ms c h e m at ot h e d a t a b a s e m a p p i n gt e c h n o l o g y i t c a ns t o r et h ex m ld a t at ot h er e l a t i o n a l d a t a b a s e a n o t h e ri st h ex m ld a t a si n q u i r y t h i sa r t i c l el a u n c h e st h er e s e a r c hi nv i e w o ft h et h r e es t e p so ft h i sf r a m e sw o r kf l o w f i r s tr e s e a r c h i n gi st h em e t h o di nd t dt ot h es c h e m at r a n s f o r m a t i o n t h ef i r s t s t e pi s t h ed t dt os c h e m a st r a n s f o r m a t i o nt h r o u g ht r a n s l a t i o nt a b l ei nd t dt o s c h e m a t h es e c o n di st r a n s l a t i o no fp r i m i t i v es c h e m at od s c h e m at h r o u g ht h e e l e m e n te x t r a c t i o na l g o r i t h m ,w h i c hc a np r o d u c e st h en e wt y p et h r o u g he x t r a c t i n g e l e c tt h ee l e m e n t ,t h ec o m p l e xe l e m e n t ,t h em u l t i p l e v a l u e de l e m e n ta n dt h eg r o u p e l e m e n t t h r o u g ht h e s ew o r k ,w ec a nb u i l dt h es c h e m at r e e t h e nw em a k ear e s e a r c ho nt h ex m ld o c u m e n t st ot h er e l a t i o n a ls c h e m e m a p p i n ga l g o r i t h m i nt h i sa r t i c l e ,w es t u d yp r e d e c e s s o r st h e o r ya c h i e v e m e n t a tf i r s t f i n d i n go n ek i n do fm a p p i n ga l g o r i t h mp r o d u c tm a n yd a t as h e e t sa n do c c u p ys ob i g d a t as t o r a g es p a c e ,w ep r o p o s et h i sk i n do fi m p r o v e m e n tm a p p i n ga l g o r i t h m u s et h e s c h e m at r e et ot r a n s f o r mt h ec o m p l e xe l e m e n ti n t ot h ed a t as h e e t ,e s t a b l i s ht h em a i n f o r e i g nk e yb e t w e e ne a c ht a b l et h r o u g ht h ef a t h e ra n ds o n n o d e sr e l a t i o na n dr e t a i n t h es c h e m av a r i o u se l e m e n t sr e l a t i o n s ;i nt h i sw a yt h es c h e m am a p p i n gb e c o m e st h e r e l a t i o n a lt a b l e a n dt h ed a t as h e e t s s t o r a g es p a c ei s r e d u c e d t h i sa r t i c l ea l s o p r o p o s e sa n o t h e r o n ea l g o r i t h ma n de s t a b l i s h e st h es c h e m at r e e s i m u l t a n e o u s l ye a c h i i i 广东工业大学工学硕士学位论文 n o d eo ft h et r e ew a se n t r u s t e df i v ea t t r i b u t e s ,t h e nt h r o u g ht h i st r e et oc a r r yo nt h e s e a r c h t h i sw a yt o o kv a r i o u se l e m e n t sa n de l e m e n t s r e l a t i o n so fs c h e m at os t o r et h e d a t a b a s ed i r e c t l y ,t h e ns t o r e st h ed a t ao fx m ld o c u m e n t st ot h ed a t a b a s et h r o u g ht h e d e p t h - f i r s ts e a r c h ,t h i sp r o c e s so n l yn e e dp r o d u c et w ot a b l e s ,c o m p a r e dw i t ht h ed a t a s h e e tp r o d u c e db yt h ef i r s ta l g o r i t h mt h es t o r a g es p a c ew a ss m a l l e r f i n a l l yt h r o u g h ) 娥入l a n g u a g et o o lw er e a l i z e d t h ex m ld o c u m e n t s ja n a l y s i sa n dt h ed a t at o d a t a b a s e i ne x a m p l ec o n f i r m a t i o ns t a g e ,u s e sx m lw a t e rq u a l i t yi n f o r m a t i o no fx m l s c h e m a sd e s c r i p t i o nf o rd a t as o u r c ea n ds e l e c t ss q ls e r v e r 2 0 0 0r e l a t i o n a ld a t a b a s e t or e a l i z et h em e m o r y t h ee x p e r i m e n ti n d i c a t e dt h a tw ec a ns t o r et h er e l a t i o n a l s c h e m ew a t e rq u a l i t yi n f o r m a t i o nm e m o r ye f f e c t i v e l yb yt h eu s eo ft h er e l a t i o n a l d a t a b a s e ss u p e r i o r i t y f i n a l l y ,w ep r o p o s et h ef u r t h e rw o r kb a s e do ns o m ee x i s t e n c eq u e s t i o n so fx m l d a t as t o r a g e k e y w o r d s :x m l ;s c h e m a ;s e m i - s t r u c t u r e dd a t a ;p a t t e r nm a p p i n g ;d a t as t o r a g e i v 广东工业大学工学硕士学位论文 独创性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以 标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,不包 含本人或其他用途使用过的成果,与我一同工作的同志对本研究所做的贡献均已 经在论文中做了明确的声明,并表示了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师指导下取得的,论文 成果归广东工业大学所有。 申请学位论文与资料有不实之处,本人承担一切相关责任,特此声明。 论文作者签字: 柄绷j 指导老师签字:弓唆 ? m 驴年6 其多b 第一章绪论 第一章绪论 1 1 本研究课题的背景和意义 近年来i n t e r n e t 迅猛发展,作为互联网最主要应用的w e b 正成为整个世界的 窗口,它实现了全球用户和各种信息的共享。同时,随着i n t e r n e t 的迅速发展, 网站和静态h t 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 1 ) 应运而生。1 9 9 8 年2 月,w 3 c ( 全 球互联网联盟) 给出了其正式的x m l l 0 版本,并正式推荐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 的w e b 数据不仅是一种新的w e b 数据组织形式,而且x m l 面向数据交 换的特性推动了w e b 应用模式的发展。电子商务、网络出版、移动通信、网上教 育等行业无不引入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 数据的存储管理方 法主要可以划分为以下四大类: ( 1 ) 基于文件系统的存储。此种方法直接把x m l 文档作为磁盘文件进行存储, 它是最简单,但是缺点也最多的一种存储方法。如每次浏览和查询时都需要解析, 文件占用空间大、修改数据很困难等。 ( 2 ) x m l 原生数据库的存储( n a t i v ex m ld b m s ,n x d ) 。建立原始x m l 数 据库系统( n a t i v ex m ld a t a b a s e ) 进行管理。x m l 原生数据库的基本存储单元是 x m l 文档,这种数据库维持原有文档的数据结构和相关的元数据,而不关心数据 的底层存储格式,只能通过x m l 特有的相关技术对数据进行存储。由于内部采 用的是标准的x m l 格式,存储时不需要进行格式的转换因而可以充分发挥x m l 的优势,但它采用的是一种全新的数据组织方式,技术还不成熟,其性能也还没 有得到充分验证,因而应用不多。 ( 3 ) 基于面向对象数据库的存储。将x m l 数据转换到面向对象的数据库中进 行管理。从理论上说,面向对象数据库的结构使得x m l 文档很适合于用对象数 据库进行存储,而且实现x m l 模式到对象的转换规则也比较简单,且技术比较 成熟,但是由于对象数据库应用范围较窄,所以到目前为止,使用并不多见。 ( 4 ) 基于关系数据库的存储。近年来,用关系数据库进行x m l 数据的管理得 到了许多学者的关注,这是因为关系数据库是己经发展了几十年的非常成熟的技 术,而且现有的大多数数据都是以关系数据库形式存放,如果x m l 能与关系数 据库结合就能充分地利用关系数据库的这一技术成果并实现对这两种数据的统一 利用。现在的几大数据库厂商如m i c r o s o f ts q ls e r v e r ,o r a c l e 9 i ,d b 2 等都对x m l 有一定的支持。 由文献 5 - 1 1 】可知,目前大多数的研究主要集中于x m l 在关系数据库中的存 储,这是因为选择关系数据库来进行x m l 的存储是因为用关系数据库存放x m l 有以下几个优势:首先,同对象数据库和原始x m l 数据库相比,关系数据库具 有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应 用程序等优点。关系数据库己发展的非常成熟,能够提供对大量数据进行高效存 取的技术手段。其次,目前大量的数据都是存储在关系数据库中。现在流行的数 2 第一章绪论 据库绝大多数是关系数据库,如s q ls e r v e r ,d b 2 ,o r a c l e 等都是第二代的关系数 据库。如果x m l 数据能够以关系的形式存放,就可以实现对数据的统一管理, 最大限度的利用关系数据库现有的存储管理、并发控制、恢复、版本机制等技术 来有效的管理数据。但由于x m l 数据和关系型数据在组织上的差异,如层次、 顺序、包含等,所以在x m l 文档和关系数据库间的映射不可避免的会存在许多 的问题,如模式的转换、结构变动、文档复原和查询效率等。 1 3 本课题的主要研究内容 本文的研究课题是x m l 数据到关系数据库的存储方法,针对国内外在这一方 面的研究不足之处,本文做了以下工作: ( 1 ) 提出了一种x m l 数据与关系数据库的转换框架,研究了原始s c h e m a 向 ds c h e m a 转化的方法。 ( 2 ) 研究了x m l 数据到关系数据库的关键问题一一s c h e m a 到关系数据库表的 映射理论,改进了一种映射算法,提出了另一种映射算法。 ( 3 ) 将所研究的理论运用到实例化的水质信息x m l 文档中,成功的将x m l 水 质信息存储到关系数据库中。 课题来源: ( 1 ) 区域水质优化复杂大系统的监测与控制国家自然科学基金项目 ( 6 0 5 7 4 0 5 2 ) ( 2 ) 水环境治理复杂系统的监测与总量控制广东省科技计划项目 ( 2 0 0 5 8 3 3 3 010 0 8 ) ( 3 ) 水质预测复杂大系统的模拟与控制及其算法研究 广东省自然科学基金项目 ( 0 5 0 0 1 8 2 0 ) 广东工业大学工学硕士学位论文 第二章x m l 半结构数据与数据库 2 1x m l 简介 2 1 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 于1 9 9 8 年2 月推出的新一代网页标记语言,是继h t m l 后新兴的互联网信息交 换标准。它是s g m l n2 1 ( s t a n d a r dg e n e r a l i z em a r k u pl a n g u a g e ) 的一个子集,使用者 可以定义各种标记来描述文件中任何元素数据,从而突破了h t m l 固定标记集合 的约束,使文件的内容更加丰富、更加复杂并且形成了一个完整的信息体系。x m l 继承了s g m l 的诸多优点,如高度的可扩展性、数据的自我表示、数据的结构化 特性以及平台无关性等特点。一个规范的( w e l l f o r m e d ) x m l 文档要满足下列条件: ( 1 ) 作为一个整体,它匹配文档( d o c u m e n t ) 产生式: d o c u m e n t := p r o l o ge l e m e n tm i s c 宰 ( 2 ) 它满足x m l l 0 规范中定义的所有规范性约束。 ( 3 ) 此文件中直接或间接地引用每一个已解析的实体都是规范的。 匹配文档产生式意味着:这个文档包含一个或多个元素,并且有且仅有一个 称为根( r o o t ) 或文档元素的元素,它不出现在其他任何元素的内容( c o n t e n t ) q b 。对 于其他所有元素,如果起始标签在另一个元素中,则其结束标签也在同一元素的 内容中。换一个更简单的说法,以起始标签和结束标签为界的各个元素必须严格 的嵌套。如下文本显示了一个规范的x m l 文档: 2 2 5 0 3 3 2 1 计算机 4 第二章x m l 半结构数据与数据库 1 x m l 文档的元素一个x m l 文档的核心是它的元素( e l e m e n t ) ,元素的定 义为:e l e m e n t := e m p t y e l e m t a g ls t a gc o n t e n t e t a g 。一个x m l 元素由开始标记( s t a g ) 和结束标记( e t a g ) 来定界,在开始标记和结束标记之间是元素的内容( c o n t e n t ) ;如 果元素为空,则用空元素标记( e m p t y e l e m t a g ) 来表示。一个元素的内容可以是: ( 1 ) 一个或多个子元素。 ( 2 ) 字符数据( c h a r a c t e rd a t a ) ,x m l 文档中除去标记的部分就是字符数据。一 般的字符用它本身来表示,对于x m l 中的保留字则需要用字符引用或相应的特 定字符串来表示; ( 3 ) 引用( r e f e r e n c e ) ,包括实体引用( e n t i t yr e f e r e n c e ) 和字符引用( c h a r a c t e r r e f e r e n c e ) 。实体引用以“& 开始,以“;”结束,中间是引用的实体名。字符 引用代表了i s o i e c l 0 6 4 6 字符集中的一个特定字符,它是一个十六进制代码。 ( 4 ) c d a t a 段( c d a t as e c t i o n ) ,是一段字符序列,以“ ”结束,中间为字符内容。c d a t a 段中的内容不被解析器所解析,为x m l 的后续处理提供了编程接口。 ( 5 ) 处理指令( p r o c e s si n s t r u c t ,p i ) ,是x m l 文档中为应用准备的指令,以“ 结束,中间是处理指令目标。处理指令并不是x m l 文档中的字 符数据,它的作用是为解析器和其他应用程序提供信息。 ( 6 ) 注释,可以在标记之外的任何地方增加注释,以“ 结束,中间是注释内容。为了保持兼容,在注释中不能加入“一”。 2 x m l 文档的序言一个x m l 文档的序言定义如下: p r o l o g := x m l d e c l ? m i s c 木( d o c t y p e d e c lm i s c 水) ? 。一个序言包括两个核心部分: ( 1 ) x m l 声明( x m l d e c l ) ,用来表明x m l 文档的版本信息、内码编码方式和 独立文档声明等通用信息。 ( 2 ) 文档类型声明( d o c t y p e d e c l ) ,规定元素的结构和属性列表以及元素间的逻 辑关系,以对文档进行有效性检查。 2 1 2x m l 主要技术规范 1 x m ld t d 在x m l 中,置标的语法是通过文档类型定义d t d ( d o c u m e n t t 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 ) 来响应程序,比如浏览器,提供如何 处理显示的指示说明。d t d 不仅用于x m l ,还可以用它为任何类型的s g m l 文 档创建模式,包括h t m l 。d t d 是w e b 标准,任何能处理x m l 文档的浏览器都 能对照d t d 模式来检查文档。x m l 允许文档的编写者制定基于信息描述、体现 数据之间逻辑关系的自定义标记,确保文档具有较强的易读性、易检索性和清晰 的语义。因此,一个完全意义上的x m l 文档不仅仅是“格式良好的”( 文档必须 包含一个或多个元素,必须包含且仅包含一个根元素) ,而且还应该是使用了一些 自定义标记的“有效的 x m l 文档。也就是说,它必须遵守文档类型定义d t d 中已声明的种种规定。以下举一个简单的d t d 的例子: 以上文档的含义是:定义n o t e 元素包含四个子元素:“t o 、f r o m 、h e a d i n g ,、 b o d y ”,定义t o 、f r o m 、h e a d i n g 、b o d y 四个子元素为”# p c d a t a ”类型。在d t d 中,用e l e m e n t 表示元素,a t t l i s t 表示属性列表,“( ) 表示元素间的嵌套 关系。在d t d 中还可以限定元素出现的次数,例如:设a 、b 、c 和d 是在下 例中代表元素的变量:i ) ,此格式表示元素 必须有正好一个a 、至少一个b ( 由加号表示) 、零个或多个c ( 由星号表示) 以及零 个或一个d ( 由问号表示) 。i i ) ,此格式表示元素 可能有a 或b 或c 之一。i i i ) ,此格式表示元素不 包含任何内容。v i ) ,此格式表示元素可以包含在d t d 中列出的任何元素。 d t d 规定文档的逻辑结构。它可以定义文档的语法,而文档的语法反过来能 够让x m l 语法分析程序确认某页面标记使用的合法性。d t d 定义页面的元素、 元素的属性以及元素和属性之间的关系。例如d t d 能够规定某个表项只能在某 个列表中使用。理想的定义应面向描述与应用程序有关的数据结构而不是如何显 示数据。换句话说,应把一个元素定义为一个标题行,然后让样式表和脚本定义 如何显示标题行。d t d 描述了一个置标语言的语法和词汇表,定义了文档的整体 6 第二章x m l 半结构数据与数据库 结构以及文档的语法,即d t d 规定了语法分析器以解释一个“有效的”x m l 文 档需要知道的所有规则的细节。 2 x m ls c h e m a由于d t d 缺乏对x m l 文档的内容及其语义的约束机制, 这将限制x m l 处理器进行有效的类型检验,应用软件开发者将不得不专门编写 有关类型检验的代码,因此有必要为x m l 建立一个更全面的有效性约束机制, 使x m l 处理器更好地进行有效性检验,这样就产生了x m ls c h e m a 。 传统意义上的数据模型的s c h e m a 一般是指数据模型,x m ls c h e m a 是一种描 述x m l 数据模型的s c h e m a 技术。x m l 数据模型也可以通过文件类型定义( d t d ) 来描述,但是由于x m ls c h e m a 具有更强大功能,并且提供了一系列高级特征, 如开放内容模型、名字空间集成以及复杂数据类型,所以正逐步取代d t d 成为 描述x m l 数据模型的标准。 x m ls c h e m a 本身实际上是一个x m l 应用,它具有以下特点: ( 1 ) x m ls c h e m a 基于x m l ,没有专门的语法。 ( 2 ) x m ls c h e m a 可以象其他x m l 文件一样解析和处理。 ( 3 ) x m ls c h e m a 支持一系列的数据类型( i n t ,f l o a t ,b o o l e a n ,d a t e 等) 。 ( 4 ) x m ls c h e m a 提供可扩充的数据模型,它允许你扩充词表并在没有无效文 件的情况下确定元素之间的关系。 ( 5 ) x m ls c h e m a 支持综合命名空间,它允许你在s c h e m a 中将类型声明与文 件个体节点相关联。 ( 6 ) x m ls c h e m a 支持属性组,它允许你逻辑的联合属性。 x m ls c h e m a 元素包括: ( 1 ) s c h e m a 元素s c h e m a 元素作为x m ls c h e m a 文件的根元素,它们是所有 其他s c h e m a 内容的容器。它拥有两个属性: n a m e :s c h e m a 的名字 x m l n s :s c h e m a 的命名空间 ( 2 ) e l e m e n tt y p e 元素 e l e m e n tt y p e 元素用来定义确定文件的s c h e m a 的元 素类型。与a t t r i b u t et y p e 元素配合,它构成了所有x m ls c h e m a 文件的结构基础。 e l e m e n tt y p e 可以包含d a t a t y p e ,e l e m e n t ,g r o u p ,a t t r i b u t e t y p e ,a t t r i b u t e 和d e s c r i p t i o n 子元素。它拥有五个属性: n a m e :元素的名称 广东_ t 业大学1 = 学硕士学位论文 m o d e l :内容模型是开放型还是封闭型 c o n t e n t :包含在元素中的内容类型 o r d e r :包含在元素中的子元素和组的次序 d r :t y p e :元素的类型。 ( 3 ) a t t r i b u t e t y p e 元素a t t r i b u t e t y p e 元素用来定义使用在元素中的属性类 型。为了真正将属性声明为元素的一部分,必须同时使用a t t r i b u t e 元素,它用来 引用a t t r i b u t e t y p e 元素。它包括五个属性: n a m e :属性类型的名称 d t :t y p e :属性类型的数据类型 d t :v a l u e s :枚举属性的可能值清单;只有在d t :t y p e 设置为e n u m e r a t i o n 时有 效 d e f a u l t :属性的默认值 r e q u i r e d :标志这个属性是否必须在元素中提供 ( 4 ) d a t a t y p e 元素d a t a t y p e 元素描述元素和属性的数据类型,它必须在 e l e m e n tt y p e 和a t t r i b u t e x y p e 元素中使用。它拥有一个属性: t i t :t y p e :指定元素或属性的类型 ( 5 ) e l e m e n t 元素 e l e m e n t 元素用来声明一个组和元素类型的元素的实例。它 包括三个属性: t y p e :元素的类型 m i n o c c u r s :元素必须出现的最小次数 m a x o c c u r s :元素必须出现的最大次数 ( 6 ) g r o u p 元素g r o u p 元素用来组织元素并确定复杂内容模型。它拥有三个 属性: o r d e r :包含在组中的子元素的次序 m i n o c c u r s :组必须出现的最少次数 m a x o c c u r s :组必须出现的最大次数 ( 7 ) a t t r i b u t e 元素 a t t r i b u t e 元素用来为元素类型声明属性的实例。它包括三 个属性: t y p e :属性的类型 d e f a u l t :属性的默认值 第二章x m l 半结构数据与数据库 r e q u i r e d :表示属性是否必须在元素中提供 ( 8 ) d e s c r i p t i o n 元素d e s c r i p t i o n 元素提供一种在s c h e m a 中放置文本描述的 方法,它没有属性。 3 x s lx m l 的一个最重要的特性是把内容和显示格式分开,从而满足不同 的用户希望按照各自的格式显示同一x m l 文档的数据内容的要求,这也就意味 着x m l 文档本身没有关于格式方面的信息,为x m l 文档提供格式信息的是样式 表,适用于x m l 文档的样式表语言有x s l 和c s s 2 语言。c s s 2 语言既可以用于 h t m l 文档、也可以用于x m i 文档,而x s l 是专为x m l 设计的样式表语言,并 采用x m l 语法,x s l 的优势在于它可以用于转换,可以把x m l 文档转换为h t m l 格式。并且同一个样式表可以用于多个相似源树结构的文档。不仅能够在w e b 浏 览器上显示,而且可以是印在纸上的书和报告等。 处理x s l 样式表的是x s l 样式表处理器。样式表处理器工作原理为:接受 一个x m l 文档或数据,以及x s l 样式表,输出特定样式的显示,其显示格式根 据x s l 样式表确定。这个处理过程分两步,首先,从x m l 源树构建一棵结果树, 然后将其翻译为结果树,产生作用于显示器或纸或其它媒介的显示。第一步被称 为树转换,第二步称为格式化。 4 xl in kx l i n k 是一种用x m l 元素向x m l 文档中加入链接的机制。它提 供了比h t m l 更加灵活的链接机制,不仅支持h t m l 的单向链接,还支持多目 的、多方向链接。它甚至还允许链接单独提出来存放在数据库中,或者是单独的 文档中。x l i n k 通过u r i 引用来定位资源。u r i 因为由u r i 和一个可选的块标识 符构成,两者用“群”分开。对于定位x m l 文档来说,块标识符使用x p o i n t e r 规 定的格式。对于链接元素来说,应用软件可以通过获取元素类型及树形名字或通 过名为“x l i n k ”的名字空间来辨认和处理链接。这两种方法都能很简单地确定 链接元素。 链接可以分为简单链接( s i m p l el i n k ) 和扩展链接( e x t e n d e dl i n k ) 。简单链接功 能相当于h t m l 中的 标记,但与h t m l 不同的是,在x m l 中没有规定必须 使用 之类的元素进行链接。这一点很重要,因为这就允许用户根据需要在同 一文档中加入不同的具有自己独有属性的链接元素。这充分体现x m l 的灵活性 和可扩展性。扩展链接器是x l i n k 为支持多方向的目的而提出的。和简单链接不 同,它可以有多个目标。多方向( m u l t i d i r e c t i o n a l ) 链接是指对链接的操作可以从任 9 广东工业人学工学硕上学位论文 一个链接资源开始。为支持多方向链接,x l i n k 允许链接元素本身处于链接资源 之外。链接资源可以是x m l 文档中的任何元素,也可以是整个文挡。由于链接 元素本身处于链接资源之外,因此这种链接可以自由组织多个文档之间的关系。 当然h t m l 也可以通过在所有文档中d i :i 来实现同样的功能。但若要对这些关 系进行修改,h t m l 需要修改所有文档,而外部链接只要修改一个文档中的一个 链接元素就可以了,显然要比h t m l 方便得多,这也是x l i n k 链接机制的优点所 在。 扩展链接组是一种特殊的扩展链接,它定义了一批包含扩展链接和其他扩展 链接组的扩展链接文档,要求处理软件能够同时处理这批扩展链接文档,而不是 一个一个约束处理。对浏览器来说,要求能够把这些链接的内容同时显示。扩展 链接组是一个全新的概念,它要求应用软件在处理时能够理解和调用组中成员之 间的关系。 5 x o u e r yx q u e r y 是从q u i l t 开始的,q u i l t 是三位工作组成员共同努力的 结果,他们是j o n a t h a nr o b i e ,d o nc h a m h e r l i n 和d a n i e l af l o r e s c u 。r o b i e 最著名 的成就大概在于率先标准化和推动x q l ,x q l 是x q u e r y 的前身和当前x m l 查 询语言世界中最接近实际标准语言的一种语言,有十几种在使用的实现方法。描 述和定义x q u e r y 的所有文档集现在包括: ( 1 ) x m l 查询需求。工作组规划文档。x q u e r y 需求列表。 ( 2 ) x m l 查询用例。解决特定问题的几个实际方案和x q u e r y 片段。 ( 3 ) x q u e r y1 0 :x m l 查询语言。中枢文档,介绍语言本身和大部分其它内 容的概述。 ( 4 ) x q u e r y1 0 和x p a t h2 0 数据模型。x m l 信息集扩展。描述查询实现必须 理解的数据项和形式语义的基础。 ( 5 ) x q u e r y1 0 形式语义。形式上定义语言的基本代数。 ( 6 ) x q u e r y1 0 ( x q u e r y x ) 的x m l 语法。为喜欢使用x m l 的人提供的另一个 语法。 x m l 用户最熟悉的x q u e r y 关键组件将是x p a t h ,它本身就是w 3 c 规范。自 己独立存在的单独p a t h 位置路径是非常有效的x q u e r y 。在数据方面,x q u e r y 类 似于s q l 的外表和能力将会受到以前使用关系数据库的用户的欢迎和熟悉。 1 0 第二章x m l 半结构数据与数据库 2 2 半结构化数据 2 2 1 半结构化数据简介 目前,互联网上存在着各种形式的数据,其数据结构的组织方式也各不相同, 网络半结构化数据日趋丰富。一种极端的情况是:完全结构化数据,有非常良好 的数据结构,如关系数据库、面向对象数据库中的数据。另一种极端是完全没有 结构的数据,例如声音、图像文件等无模式数据以及原始的文本文件。我们曾经 看到过纯对象数据库、面向对象的关系型数据库、数字图书馆、多媒体文档管理 系统等等各种尝试,但到目前为止还没有一种解决方法能像数据库对结构化数据 那样容易的进行存储、查询、分发和维护等操作。尤其是查询操作,针对声音、 图形、图像等数据的检索,目前的系统是那么无力。只能根据一些有限的索引或 标志信息来操作,与对关系型数据所提供的检索手段相比,真有天壤之别。然而, 现实世界中大多数数据则处于两种极端情况之间,究其原因也是多方面的3 1 : ( 1 ) 数据可能是有结构的,但用户并不知道; ( 2 ) 用户可能知道其结构,但为了浏览有意将其忽略掉; ( 3 ) 结构可能隐含在数据中( 如具有格式的文本文件中的数据) ,而不是象传统 d b 中那样,具有明显、严格及规整的结构; ( 4 ) 数据可能具有非传统的格式,如a s n 1 交换格式; ( 5 ) 数据的模式可能十分巨大且经常变化,因而不得不将忽略。 由此,人们提出了半结构化数据的概念。w e b 上的数据非常复杂,没有特 定的模型描述,每一站点的数据

温馨提示

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

评论

0/150

提交评论