(计算机应用技术专业论文)紧密耦合下xml数据的存储方式研究.pdf_第1页
(计算机应用技术专业论文)紧密耦合下xml数据的存储方式研究.pdf_第2页
(计算机应用技术专业论文)紧密耦合下xml数据的存储方式研究.pdf_第3页
(计算机应用技术专业论文)紧密耦合下xml数据的存储方式研究.pdf_第4页
(计算机应用技术专业论文)紧密耦合下xml数据的存储方式研究.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着i n t e r n e t 和w e b 的飞速发展,x m l 作为一种可扩展标记语言,其自描 述性、内容与表示的分离性等特点使其成为表示各种数据的理想公共格式,大量 的数据以x m l 格式进行存储、发布和交换。 处理x m l 数据主要有两种技术:x m l - e n a b l e dd b m s ( x e d ) 和n a t i r ex m ld b m s ( n x d ) 。本文主要讨论的是x e d 技术。在开发格式较简单、数据内容比格式更 重要的应用时,特别是在已有的传统数据库上要提供x m l 的访问接口的情况下, x e d 是不错的选择。 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 时,这些字段再被拼接成原状,以创立各种应用程序可 以读懂的数据,使客户与不同数据库间只通过一种标准语言x m l 进行交互,降低 数据交换的复杂性,从而解决数据的统一接口问题。本文即是在这个方向上做了 一些初步的研究,介绍了x m l 和数据库系统的相关知识,探讨了l m l 文档的解析 技术,详细分析和阐述了紧密耦合下x m l 数据与关系数据库双向映射的技术,讨 论了基于表的映射和基于对象的映射两种映射机制,利用d t d 和x m ls c h e m a 的 特性,实现了关系模式与x m l 模式的相互转换,并通过实例分析其映射过程。这 种映射建模在x m l 文档中的数据,对于以数据为中,i l , 的文档是良好的选择。 传统关系型数据库是一种二维关系数据库,但在实际的应用中还存在一些复 杂的多维关系。在多维数据模型中,数据以多维逻辑方式组织,并以多维方式显 示,数据在各个维之间相互交叉,形成立体的数据视图。本文还介绍了多维数据 的存储方式、模式,并对多维数据与x m l 文档的映射进行了初步探讨。 研究传统数据库与x m l 文档之间的转换关系与转换过程,可以充分利用传统 数据库技术已有的二三十年的积累,在安全性、可用性和灵活性等方面具有较大 优势,特别适用于对数据安全性和数据交换要求高的金融、保险、气象、地震等 部门。 关键词:x 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 ft h ei n t e r n e ta n dt h ew e b ,t h ex m l ,a ne x t e n s i b l e m a r k u pl a n g u a g e ,b e c o m et h ei d e a lp u b l i cf o r m a tt h a tm e a nm a n yk i n d so fd a t aw i t h i t sc h a r a c t e r i s t i c ss u c ha s s e l f - d e s c r i p t i v e n e s s ,s e p a r a b i l i t y o fc o n t e n ta n d r e p r e s e n t a t i o ne t c l a r g ea m o u n t so fd a t ai ss t o r e d ,i s s u e da n de x c h a n g e dw i t hx m l f c r m a t p r o c e s s i n gx m ld a t ac o n t a i n st w ok i n d so ft e c h n i q u e s :x m l - e n a b l e dd b m s ( x e d ) a n dn a t i v ex m ld b m sf n - x d ) t h i sp a p e rd i s c u s s e sp r i m a r i l yo fx e d ,x e d i saq u i t eg o o ds e l e c t i o no nc o n d i t i o nt h a tt h ea p p l i c a t i o nd e m a n d ss i m p l ef o r m a to r d a t ac o n t e n ti sm o r ei m p o r t a n tt h a nf o r m a t ,e s p e c i a l l yt h ex m la c c e s si n t e r f a c eo n t h ee x i s t i n gd a t a b a s ei si nd e m a n d t h ec o m b i n a t i o no f x m la n dd a t a b a s eh a sb e c o m ea l li n e v i t a b l et r e n d r e a l i z i n g b i d i r e c t i o n a lt r a n s m i s s i o no fd a t ab e t w e e nx m ld o c u m e n ta n dd a t a b a s ei sa m o n g h o t s p o ti nt h es t u d yo fx m lt e c h n i q u ea p p l i c a t i o n a tp r e s e n t ,r e l a t i o n a ld a t a b a s ei s t h ep r i m a r yd a t a - s a v i n gm o d e t h ep a a e mo fd a t am a n a g e m e n tt h a tr e l a t i o nd a t a r e g a r d e da ss a v i n gm e a n sa n dx m la st h ee x c h a n g ec a r r i e rh a sb e c o m et h et r e n d w h e nd a t ai nx m la n dd a t ai nr e l a t i o nt a b l ea r ec l o s e l yc o u p l i n g ,c o n v e r s i o no fd a t a b e t w e e nt h e mi sm o r ee f f i c i e n t m a p p i n gr e l a t i o nb e t w e e nx m la n dd a t a b a s eh a s b e e nc r e a t e d a f t e rr e c e i v i n gx m l ,d a t a b a s ed e c o m p o s e st h e mi n t o f i e l da n ds a v e t h e mi nc o m m o nw a y w h e nr e t r i e v i n gx m l ,t h e s ef i e l d sw i l lb ec o n c a t e n a t e di n t o o r i g i n a ls h a p et oe s t a b l i s ht h ed a t at h a te v e r yk i n do fa p p l i c a t i o np r o g r a mc a nr e a d t h ec l i e n tm a yu s eo n l yas t a n d a r dl a n g u a g ex m lt oi n t e r a c t i v ep r o c e e dw i t h d i f f e r e n td a t a b a s e t h i sl o w e r st h ec o m p l e x i t yo fd a t ae x c h a n g i n ga n du n i f yt h ed a t a i n t e r f a c e t h i sp a p e rh a sd o n et h ee l e m e n t a r ys t u d yo nt h i sd i r e c t i o n i ti n t r o d u c e st h e k n o w l e d g er e l a t et ox m la n dd a t a b a s es y s t e m ,p r o b e si n t ot h ep a r s i n gt e c h n i q u eo f x m ld o c u m e n t ,a n a l y s e sa n de x p a t i a t e st h eb i d i r e c t i o n a lm a p p i n gb e t w e e nx m l d a t aa n dr e l a t i o n a ld a t a b a s ec i r c u m s t a n c e dc l o s ec o u p l i n g ,d i s c u s s e st w os o r t so f m a p p i n gm e c h a n i s mb a s e do nt a b l ea n do b j e c t i tu t i l i z e st h ec h a r a c t e r i s t i co fd t d a n dx m ls c h e m at or e a l i z et h ei n t e r c o n v e r tb e t w e e nr e l a t i o nm o d ea n dx m lm o d e , a n di n s t a n c e st oa n a l y z et h em a p p i n gp r o c e d u r e t h i sm a p p i n gm o d e l i n gi si nt h ed a t a o f x m ld o c u m e n t ,s oi ti sag o o dc h o i c ef o rd a t a - c e n t r i cd o c u m e n t i i i t h d i t i o n a lr e l a t i o n a ld a t a b a s ei st w o d i m e n s i o n a l h o w e v e ht h ec o m p l i c a t e d m u l t i d i m e n s i o n a l r e l a t i o ns t i l le x i s t si np r a c t i c a la p p l i c a t i o n i nm u l t i d i m e n s i o n a ld a t a m o d e l ,d a t ai so r g a n i z e da n dd i s p l a y e di nm u l t i d i m e n s i o n a ll o g i c a lm e t h o d t h ed a t a c r o s s e sm u t u a l l ye a c hd i m e n s i o n ,f o r m st h es t e r e o s c o p i cd a t av i e w t h i sp a p e ra l s o i n t r o d u c e st h es a v i n gm o d ea n dt h ep a t t e r no fm u l t i d i m e n s i o n a ld a t a ,e l e m e n t a l l y d i s c u s s e st h em a p p i n gb e t w e e ni ta n dx m ld o c u m e n t t h er e s e a r c ho ft h ec o n v e r tr e l a t i o na n dp r o c e d u r eb e t w e e nt r a d i t i o n a ld a t a b a s e a n dx m ld o c u m e n tc a r lm a k et h em o s to ft h ea c c u m u l a t i o no f 乜a d r i o n a ld a t a b a s e t e c h n i q u ei nt h ec o u r s eo ft w e n t yt ot h i r t yy e a r s t h i ss t u d yh a sg o o da d v a n t a g ef o r s a f e n e s s ,a v a i l a b i l i t ya n df l e x i b i l i t y , e t c e s p e c i a l l yf o rt h ef i e l do ff i n a n c e ,i n s u r a n c e , w e a t h e r , e a r t h q u a k e e t c w h i c hi se x i g e n to f d a t as a f e n e s sa n de x c h a n g e k e y w o r d s :x m l ,r e l a t i o n a ld a t a b a s e ,s a v i n gm o d e ,m a p p i n g 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:丝基皇 日期:z 丝乡笪 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:挝纽导师签名: 丝;立l 日期:型羔:鉴 1 1 研究的意义 第一章绪论 i n t e r n e t $ 口w e b 的飞速发展使人类社会的信息量以指数增长,对信息管理和 信息交换的需求更是空前强烈和迫切。已在传统的商业和事务处理等领域内趋于 成熟的传统数据库技术,面临着许多新的问题和挑战:数据库技术的应用是建立 在一定的数据库管理系统基础上的,各数据库管理系统之间的异构性及其所依赖 操作系统的异构性,严重限制了信息共享和数据交换范围,如何有效地存储和管 理w e b 上的数据( 文档) ,使它们既能被高效地操作和维护。又能方便地表示和 交换? 时至今日,数据交换的能力已成为新的应用系统的一个至关重要的要求。 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 本质上是一种描述 性的标记语言,是一种更好地表示信息的手段,这也意味着x m l 可以是用于信息 存储和管理的一种方式。x m l 的表现力和可扩展性为数据交换和集成提供了通用 语言,使用x m l 集成w e b 技术和数据库系统有三个方法:通过把文档转换为关系 或对象,x m l 文档可以存储在一个关系型或面向对象的d b m s ( d a t a b a s e m a n a g e m e n ts y s t e m ,数据库管理系统) 中:用数据库软件把数据库中现有的关 系或对象表示为x m l ;用一个基于x m l 的数据模型创建一个新的d b m s 。 出自以下考虑,我们使用现有的数据库类型和产品而不是以原始格式来存 储x m l :普通的关系型和面向对象数据库已尽人皆知,人们了解它们的行为和性 能,选择关系型数据库和面向对象数据库这样的成熟技术是比较安全的。到关系 型或面向对象d b m s 的x m l 接口提供了对健壮的数据库技术的访问,同时可以进 行x m l 传输,这在一个关系型或面向对象数据库已经存在、数据库必须被与其他 关系型或面向对象数据库进行互操作应用程序访问时特别有用,它在与其他关系 型或面向对象数据库的互操作能力、精确的事务管理和恢复机制以及大量工具对 它的支持等方面提供了实际的方法。由于x m l 的自定义性及可扩展性,它足以表 达各种类型的数据。当客户与不同的数据源进行交互时,数据可能来自不同的数 据库,它们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语 言进行交互,那就是x m l 。客户收到数据后可以进行处理,也可以在不同数据库 间进行传递,从而解决了数据的统一接口问题。研究传统数据库与x m l 文档之间 的转换关系与转换过程,可以充分利用传统数据库技术已有的二三十年的积累, 在安全性、可用性和灵活性等方面具有较大优势,特别适用于对数据安全性和数 据交换要求高的金融、保险、气象、地震等部门。 1 , 2 国内外研究现状 x m l 的需求正在扩大,新的应用包括:采用x m l 标签的i n t e r n e t 搜索引擎、 必须快速输出结果的电子商务系统、带x m l 标签的电子数据交换、数据重复使用 和内容个性化。作为处理上述应用的一环,x m l 数据库的需求也将快速增长。当 酊主流的数掘库产品都宣布了对x m l 的支持,如i b m 提供了 x m le x t e n d e rf o rd b 2 ,以允许用户在d b 2 中存储x m l 文档,并提供一些新功能 协助用户处理x m l 文档;m i c r o s o f t 的s o ls e r v e r6 5 和7 0 也进行了x m l 扩 充,据悉s o l 将来要加入x m l 输出选项,用以向其他系统传送信息;o r a c l e 也 拥有功能强大的x m l 索引引擎。 事实上,x m l 作为数据交换的标准,更着重于统一数据格式。x m l 数据本身的 树形结构不同于关系模型中的二维表结构,这种差别反映在现有的数据库产品处 理x m l 数据的两种技术上:x m l e n a b l e dd b m s ( x e d ) 和n a t i v ex m ld b 凇( n x d ) 。 x e d 在原有关系型( 或面向对象) 数据库基础上扩展了x m l 支持模块,获取 x m l 数据的方法是解析x m l 文档,把信息保存在关系型( 或面向对象的) 数据库 中,然后必要时根据数据生成一个x m l 文档,从而完成x m l 数据和数据库之间的 格式转换和传输。从存储粒度上,可以把整个x m l 文档作为r d b m s 表中一行,或 把x m l 文档进行解析后,存储到相应的表格中“1 。现在,己经有一些公司开发了 处理x m l 的x e d “1 。设在麻省r e a d i n g 的x y v i s i o n 企业解决方案公司研制的 c o n t e n t x m l 是一套内容管理系统,它可以在任何一种流行的关系数据库中存储 x m l 文件,其好处是可以开展基于内容的协同工作,进行多通道内容输出。l o t u s 公司的d o m i n o 数据库也可以处理x m l ,而且其x m lt o o l k i t 甚至可以让用户像 在n a t i v e x m l 数据库中一样创建和处理内容。在关系数据库中处理x m l 数据时, 还可用第三方中间件进行转换,其中有一种产品称为x m l d b m s ,这是一种基于 r d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ,j a v a 数据库连接) 的工具,可以在x m l 文 档和数据库之间传输数据。x e d 方法不需要将传统的关系型或面向对象数据库中 的原有数据重新移植到新系统中,只是将x m l 文档的数据进行重新组织,在存入 关系数据库中时进行分解、映射等预处理,存储相对规范,稍加改变就支持了 x m l 应用,而且可以充分利用传统数据库的成熟技术和经验知识。在开发格式较 简单、数据内容比格式更重要的应用时,特别是在已有的传统数据库上要提供 x m l 的访问接口的情况下,x e d 是不错的选择。再加上各大关系型数据库生产厂 商对x m l 数据库的支持使得x e d 技术得到很快发展。 n x d 是从数据库设计的角度进行) ( i l 数据的存储。它把x m l 文档保存在一个 x m l 数据库中,x m ld b m s 提供对x m l 文档和文档片段的直接访问。与传统数据库 技术相比,n x d 还未得到时间的检验,人们还不能完全信任它,但的确有一些n x d 在实际应用中得到青睐。最有名的是位于美国加州的s o f t w a r ea g 公司开发的 t a m ir i o ,除了可以存储和访问x m l 外,它还具备多项功能,包括 o p e nd a t a b a s ec o n n e c t i v i t y 、符合u n i c o d e 要求、h t t p 通信及处理非x m l 数 据的能力。其他包括d b x m l 、e x c e l o n 和x h i v e d b ,分别由美国的 d b x m lg r o u pl l c 公司、 e x c e l o n 公司和荷兰的t h ec o n n e c t i o nf a c t o r y 公司 研制。n x d 方法保留了x m l 文档的原始结构和x m l 原有的优点,存储简单,同时 有利于对文档的进步的数据挖掘,但信息的格式、内容相对繁杂,建立索引庞 大复杂,应用范围仅局限在x m l 应用领域中。 1 3 主要研究内容及组织 由于国内经常采用的o r a c l e 、s y b a s e 及s q ls e r v e r 数据库多数是关系型数 据库,本文研究的对象主要是指关系数据库。在x m ld b m s 达到商用关系型d b m s 的成熟阶段之前、在一个关系型或面向对象数据库已经存在时,研究如何建立 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 文档向数据库、从数据库向x m l 文档 传输数据,这对于以数据为中心的文档是良好的选择。 本论文共分五章: 第一章:绪论。简要介绍了本课题的研究背景和意义,对研究内容进行了阐 述,最后列出了本论文的组织结构。 第二章:基础知识。介绍了系统的相关知识,包括对x m l 的综述及关系数据 库的存储方法。这些内容作为第三章研究的基础。 第三章:x m l 在关系数据库中的存储转换规则。这是本文的重点。详细分析 和阐述了紧密耦合下x m l 文档与关系数掘库双向映射的技术,对它进行了简单的 应用,并分析其优缺点:此外,还对x m l 文档与多维数据的转换进行了初步探讨。 第四章:解析x m l 文档。讨论了d o m 、s a x 和j d o m 三种应用程序接口。 第五章:结束语( 结论及展望) 。总结本文的工作并指出了未来的研究方向。 2 1x m l 综述 2 1 ,1x 札技术的发展 第二章基础知识 第一个标记语言g m l ( g e n e r a l i z e dm a r k u pl a n g u a g e ,g m l ) 发明子1 9 6 9 年, 主要用于支持文档处理应用。1 9 7 4 年,出现了标准通用标记语言( 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 是种功能十分强大但也相当复杂 的标记语言。i n t e r n e t 的广泛应用,需要人人都易h 手的描述语言,作为s g i l 的子集,超文本标识语言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 ) 应运而生,它受到 i n t e r n e t d 全球资讯网热潮的推波助澜,很快地就成为在网上制作页面的标准语 言。1 9 9 8 年,w o r l dw i d ew e bc o n s o r t i u r l l ( w 3 c ) 为一种具有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 ) , 它提供种灵活的语法来表示层次数据,这立即成为计算机史上一个重要的里程 碑。 x m l ,是s g m l 的一个配置,它给s g m l 提供在w o r l dw e b 环境中的可扩展能力,使 其能够将s g m l 的灵活性和强大功能与已经被广泛采用的h t m l 结合起来,h t m l 只是 s g m l 衍生出来的一种文件格式,x m l 则继承了s g m l 的规范,并出于易用性的考虑 而更为简化。相对于h t m l 的适合于表示,x m l 更适台于数据。 设计之初,x m l 的目标之一是取代h t m 乙为新出现的复杂的w e b 应用提供标准的 i n t o r n e t 语言。然而,由于x l l 在可扩展性、可移植性和结构性等方面的突出优 点,它的瘦用范围早已突破了h t 札所达到的范围。今天,x m l 在很多领域中崭露 头角这其中包括传统的数据库技术的范畴。例如,人们开始考虑用x m l 文档来 存储、组织和管理i n t e r n e t 上浩如烟海的庞大信息资源。 x m l 是s g m l 的一个子集,是一种经过简化的标记语言,它具有形式与内容分 离的特点。同时,x m i ,所拥有的良好的扩展性、自描述性、自帽容性以及跨文种 等优点,又使得它非常适于w e b 上的数据交换与发布。电子商务、w a p 、e b e o k 就 是x m l 的典型应用。x m l 作为一种可扩展性标记语言,其自描述性使其非常适用于 足x m l 的典型应用。x m l 作为一种可扩展性标记语言,其自描述性使其非常适用于 2 1x m l 综述 2 1 1x m l 技术的发展 第二章基础知识 第一个标记语言g m l ( g e n e r a l i z e dm a r k u pl a n g u a g e ,g m l ) 发明于1 9 6 9 年, 主要用于支持文档处理应用。1 9 7 4 年,出现了标准通用标记语言( 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 ,8 g m l ) ,s g m l 是一种功能十分强大但也相当复杂 的标记语言。i n t e r n e t 的广泛应用,需要人人都易上手的描述语言,作为s g m l 的子集,超文本标识语言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 ) 应运而生,它受到 i n t e r n e t 和全球资讯网热潮的推波助澜,很快地就成为在网上制作页面的标准语 言。1 9 9 8 年。w o r l dw i d ew e bc o n s o r t i u m ( w 3 c ) 为一种具有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 ) , 它提供一种灵活的语法来表示层次数据,这立即成为计算机史上一个重要的里程 礁。 x m l 是s g m l 的一个配置,它给8 g m l 提供在w o r l dw e b 环境中的可扩展能力,使 其能够将s g m l 的灵活性和强大功能与已经被广泛采用的h t m l 结合起来,h t m l 只是 s g m l 衍生出来的一种文件格式,x m l 则继承了s g m l 的规范,并出于易用性的考虑 而更为简化。相对于h t m l 的适合于表示,x m l 更适合于数据。 设计之初,x m l 的目标之一是取代h t m l 为新出现的复杂的w e b 应用提供标准的 i n t e r n e t 语言。然而,由于x m l 在可扩展性、可移植性和结构性等方面的突出优 点,它的应用范围早已突破了h t m l 所达到的范围。今天,x m l 在很多领域中崭露 头角,这其中包括传统的数据库技术的范畴。例如,人们开始考虑用x m l 文档来 存储、组织和管理i n t e r n e t 上浩如烟海的庞大信息资源。 x m l 是s g m l 的一个子集,是一种经过简化的标记语言,它具有形式与内容分 离的特点。同时,x m l 所拥有的良好的扩展性、自描述性、自相容性以及跨文种 等优点,又使得它非常适于w e b 上的数据交换与发布。电子商务、w a p 、e b o o k 就 是x m l 的典型应用。x m l 作为一种可扩展性标记语言,其自描述性使其非常适用于 不同应用间的数据交换,具备很强的开放性,因而有广阔的应用前景。为了使基 于x m l 的业务数据交换成为可能,就必须实现数据库的x m l 数据存取,并且将x , i l 数据同应用程序集成,进而使之同现有的业务规则相结合。而开发基于x m l 的动 态应用,前提是必须有支持x m l 的数据库支持。 目前对x m l 的研究主要有两个方面: ( 1 ) 利用x m l 与半结构化数据的相似性,在原先半结构化数据的研究成果上支 持x m l 的存储和查询功能。这种方法实现起来比较彻底,但重新开始建筑数据库, 使得以前关系数据库的成果很难运用到,工作量比较大。 ( 2 ) 利用传统关系数据库已有的研究成果,实现x m l 文档到关系数据库记录 之间的转换,从而实现利用关系数据库存储、查询x m l 数据的功能。其存储前后 的转换工作比较繁杂,但其建筑在商业关系数据库基础上,实现工作相对其他方 法来说要轻松。 目前,围绕着x m l 己经形成了一大批新的技术及标准,x m l 数据已逐渐用于 实际应用。可以预见,今后的一段时间内,x m l 数据将爆炸性地递增而出现在 i n t e r n e t 世界里。 21 2 x m l 的概念 x m l 代表可扩展的标记语言。它是一种把数据表示为一个文本字符串的语言。 这个文本字符串还包括用于描述数据的散布的”标记”( t a g ( ) 。使用标记允许 把文本和与它的内容或形式相关的信息散布在一起。 x m l 文档由元素组成,元素是x m l 的基本的组成部分“1 。一个元素( e e m e n t ) 以一个开始标记开始,以一个结束标记结束,在标记里面的内容是文本( 文本 ) 。元素可以嵌套,嵌套在其中的其他元素叫子元素 ( s u b e l e m e n t ) 。一个具有相同属性的元素集合称为一个元素类型,它通过标记名 来区别。元素类型具有属性,一个属性由一个名字一值对组成。x m l 为注释和 标记字符数据提供一种可扩展的机制,这种机制扩展了与文档和数据库中的数据 相关联的信息类型。 下面是一个简单的例子: 1 9 7 0 0 8 1 0 0 2 :2 9 q u f u e p i c e n t e r ) 5 0 3 5 04 2 ( 纬度 曲阜 i 0 0 与其他数据交换语言相比,x m l 的两个关键特性是它具有相当的表现力和可 扩展性。 6 、开放的标准 x m l 基于的标准是为w e b 进行过优化的。微软和其他一些公司以及w 3 c 中的 工作组正致力于确保x m l 的互用性,以及为开发人员、处理人员和不同系统及浏 览器的使用者提供支持,并进一步发展x m l 的标准。x m l 包括一套相关的标准: 可扩展标识语言( x m l ) 标准:x m l 域名标准;文档对象模式( d o m ) 标准;可扩展类 型语言( x s l ) 标准;可扩展链接语言( x l l ) 标准和x m l 指针语言( x p o i n t e r ) 标准 等。 x m l 已经成为正式的规范,开发人员能够用x m l 的格式标记和交换数据。x m l 在三层架构上为数据处理提供了很好的方法。使用可升级的三层模型,x m l 可以 从存在的数据中产生出来。促进x m l 应用的是那些用标准的h t m l 无法完成的w e b 应用,x m l 给基于w e b 的应用软件赋予了强大的功能和灵活性,因此它给开发者和 用户带来了许多好处。 2 1 4x m l 的模式语言 x m l 的精髓是允许文档的编写者制定基于信息描述、体现数据之间逻辑关系 的自定义标记,确保文档具有较强的易读性、清晰的语义和易检索性。因此,一 个完全意义上的x m l 文档不仅仅是“格式良好的”,而且还应该是使用了一些自 定义标记的“有效的”x m l 文档。 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 文档中引入d t d 作为它的模式定义语言,d t d 定义了文档中元素和标记 的规则及相互关系等。d t d 的出现赋予了x m l 文档可扩展性、结构性和可验证性。 正因为如此,x m l 具备了类似于数据库的一些性质,使利用x m l 来组织和管理信 息成为可能。与此同时,又可以与h t m l 一样在浏览器中方便地表示,在i n t e r n e t 上高效地传递和交换。 d t d 描述了一个标记语言的语法和词汇表,实际上它是x m l 文件抽象出来的 模板。 ( 1 ) 调用d t d 文件的方法 内含在x m l 文档中: 定义在外部的d t d 文件中: s y s t e m 关键字主要用于引用一个作者或组织所编写的众多) 【m l 文档中通用的 d t d ,它不是引用外部d t d 的唯一方法,还存在另一种外部d t d : 使用关键字p u b l i c 可引用一个由权威机构制订的、提供给特定行业或公众 使用的d t d 。 外部d t d 的好处是:它可以方便离效地被多个x m l 文档所共享。只要写一个 d t d 文档,就可以被多个x m l 文档所引用。如果采用外部d t d 的话,需要有两个 文档,第一个文档就是关于d t d 的文档,第二个文档就是遵守d t d 格式的内容文 档。实际上我们可以建立无数遵守该d t d 格式的文档。举例来说,我们在构造关 系数据库中的表的时候,我们需要定义好表的结构( 也就是表包含的字段集合) , 然后我们就可以往这个表中放入记录,记录的个数从理论上讲可以是无穷多个 的。这里关于表的结构就类似于d t d 文档,记录类似于遵守d t b 格式的内容文档。 事实上,当许多组织需要统一它们的数据交换格式时,就是通过外部d t d 来完成 的。这样做不仅简化了输入工作,还保证当需要对d t d 做出改动时,不用一一去 改每个引用了它的x m l 文件,只要改一个公用的d t d 文件就足够了。 ( 2 ) d t d 中元素类型的声明 d t d 中使用元素类型声明e t d ( e l e m e n tt y p ed e c l a r a t i o n ) 来声明所有有 效的文档元素。e t d 应该采用如下的结构: x m l 的标准将元素按内容划分为四类: 空元素类型:这类元素在x m l 文档中使用空元素标记,元素中没有内容。 a n y 元素类型:该元素中可以包含任何内容。 父元素类型:这类元素中可以包含子元素,在d t d 中通过正则表达式 规定子元素出现的顺序和次数。 混合元素类型:这类元素中可以包含文本,同时文本之间可以有选择 地插入子元素,但子元素出现的顺序和次数不受限制。 ( 3 ) d t d 中元素属性的声明 在d t d 中定义属性时,我们使用下面的格式来给个元素定义一组合适的属 性,同时指定这些属性的类型和缺省值: 其中,属性类型用来指定该属性是属于十个有效属性类型中的哪种类型” 类型含义 c d a t a 纯文本,由可显示字符组成的字符串 e n u m e r a t e d取值来自一组可接受的取值的列表 以属性值的方式为文档中的某个元素定义唯一的标识,用以区分具 i d 有相同结构相同属性的不同元素 i d r e f属性值引用已定义的i d 值,方法是把那个元素的i d 标识值作为该 属性的取值;i d r e f s 是i d r e f 的复数形式,取值可以是若干个i d i d r e f s 标识 e n t i t y 取值为一个己定义的实体 e n t i t i e s n m t o k e n 面向处理程序的类型 n m t o k e n s 取值为一个d t d 中声明的符号,这个类型对于使用非x m l 格式的数 n o t a t i o n 据非常有用。 缺省值是属性的初值,有以下四种类型: 名称定义说明方式 不要求在x m l 文档中给该属性赋值, 属性值可有 省值 需要为一个特定的属性提供一个缺省 需要在d t d 中提供一个缺省值,在x m l 事先定义了 文档中可以为该属性给出新的属性 性 d t d 中给出的缺省值。 ( 4 ) 参数实体 参数实体专门用于d t d ,它可以方便元素和属性的声明。 建立数据库的关键就是要定义好表的格式,并使它的范式尽可能的高。对应 的,建立基于x m l 应用的关键就是要定义好d t d ,然后

温馨提示

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

评论

0/150

提交评论