




已阅读5页,还剩73页未读, 继续免费阅读
(计算机软件与理论专业论文)xml数据在microsoft+sql+server+2005中的存储和优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文题目:x m l 数据在m i c r o s o f ts q ls e r v e r2 0 0 5 中的存储和优化 专业:计算机科学与技术 硕士生:谢剑刚 指导教师:叶小平 摘要 可扩展标记语言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 ) 是半结构数据的一种 表现形式,它已经成为i n t e r n e t 以及电子商务中数据交换事实上的标准。对于 传统的结构化数据可以采用关系型数据库或对象型数据库进行管理;无结构的数 据则可以采用信息检索的方式进行访问。而如何对半结构化的数据进行有效的管 理,包括存储、索引、查询等,则是亟待解决的问题。 现在比较流行的数据库管理系统大都是关系数据库,且关系数据库占据大部 分市场份额的情况将在相当一段时间内持续。因此,研究如何在关系数据库中存 储、访问和处理半结构化的x m l 数据也就很有必要了。 在众多的关系数据库管理系统中,m i c r o s o f ts q l s e r v e r2 0 0 5 对x m l 数据 处理方式进行了大量改进,在x m l 数据处理方面具有一定优势。本文利用 m i c r o s o f ts q l s e r v e r2 0 0 5 在x m l 处理上的新特性,尝试采取x m l 及关系混合 存储模式对x m l 数据进行存储。x m l 及关系混合存储模式的主要策略是从数据中 分解出结构化和半结构化的两部分,使用关系模式存放结构化的数据,而把半结 构化数据分离到m i c r o s o f ts q l s e r v e r2 0 0 5 中特有的x m l 字段中,使关系数据 和x m l 数据能够在同一张数据库表中共存。该存储模式在使用c # n e t 开发的论 文信息管理系统中仿真实验成功。 关键词:x m l ,存储,优化,m i c r o s o f ts q ls e r v e r2 0 0 5 t i t l e :s t o r a g ea n do p t i m i z a t i o no fx m ld a t ai nm i c r o s o f ts q l s e r v e r2 0 0 5 m a j o r :c o m p u t e rs c i e n c ea n dt e c h n o l o g y n a m e :x i ej i a n g a n g s u p e r v i s o r :y ex i a o p i n g a b s t r a c t e x t e n s i b l em a r k u pl a n g u a g ei saf o r mo f s e m i s t r u c t u r e dd a t a i th a sa l r e a d y b e c o m et h es t a n d a r do fd a t ai n t e r c h a n g ei ni n t e r a c ta n de - c o m m e r c e n t r a d i t i o n a l s t r u c t u r e dd a t ac a l la d o p tr e l a t i o n a ld a t a b a s eo ro b j e c t - o r i e n t e dd a t a b a s et om a n a g e ; t h ed a t aw i t h o u ts 缸t i c 舡ec r na d o p tt h ei n f o r m a t i o ns e a r c h e st ov i s i t h o wt om a n a g e t h ed a t ao fs e m i - s t r u c t u r e de f f e c t i v e l y , i n c l u d i n gs t o r i n g ,i n d e x i n g ,q u e r y i t a g ,e t c ,i s a l lu r g e n tp r o b l e mt ob es o l v e d n o w , m o s to f t h ep o p u l a rd a t a b a s em a n a g e m e n ts y s t e m sa r er e l a t i o n a ld a t a b a s e s , a n dr e l a t i o n a ld a t a b a s ew i l l o c c u p ym o s to ft h em a r k e ts h a r ef o ral o n gt i m e t h e r e f o r e ,t h er e s e a r c ho nh o wt ou s er e l a t i o n a ld a t a b a s et os t o r e ,a c c e s sa n dp r o c e s s s e m i - s t r u c t u r e dx m ld a t aw i l lb ev e r yn e c e s s a r y i na l lt h er e l a t i o n a ld a t a b l em a n a g e m e n ts y s t e m s m i c r o s o f ts q ls e r v e r2 0 0 5 h a sm a d eag r e a ti m p r o v e m e n ti nx m ld a t ap r o c e s s i n g ,a n di th a ss o m ec e r t a i n a d v a n t a g e si nt h ex m l d a t ap r o c e s s i n g t i l i sp a p e rs t u d i e sh o wt os t o r ed a t ai nm i x e d m o d eo fx m la n dr e l a t i o n a lb yu s i n gm i c r o s o f ts q ls e r v e r2 0 0 5 m i x e dm o d eo f x m la n dr e l a t i o n a la r em a i n l ya b o u th o wt od e c o m p o s i t i o nd a t ai nt h et w o p a r t so f s t r u c t u r e da n ds e m i - s t r u c t u r e d ,a n ds t o r et h es t r u c t u r e dd a t ai nr e l a t i o n a lm o d ea n dt h e s e m i - s t r u c t u r e di nx m lm o d e n er e l a t i o n a ld a t aa n dx m ld a t as t a yi nad a t a b a s e t a b l e t h em i x e dm o d eo fx m la n dr e l a t i o n a lh a sb e e ns u c c e s s f u l l yu s e di nt h e s i m u l a t i o ns y s t e mo f p a p e rm a n a g e k e y w o r d :x m l ,s t o m g e ,o p t i m i z a t i o n ,m i c r o s o f ts q ls e r v e r2 0 0 5 中山大学硕士学位论文 论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指 导下,独立进行研究工作所取得的成果。除文中已经注明引 用的内容外,本论文不包含任何其他个人或集体已经发表或 撰写过的作品成果。对本文的研究作出重要贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本声明的 法律结果由本人承担。 学位论文作者签名:镬脚目3 日期:z o o t 年f o 月3 0 日 x 札数据在m i c r o s o f ts q ls e r v e r2 0 0 5 中的存储和优化 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规 定,即:学校有权保留学位论文并向国家主管部门或其指定 机构送交论文的电子版和纸质版,有权将学位论文用于非 赢利目的的少量复制并允许论文进入学校图书馆、院系资料 室被查阅,有权将学位论文的内容编入有关数据库进行检 索,可以采用复印、缩印或其他方法保存学位论文。保密 的学位论文在解密后使用本规定。 学位论文作者签名:诎劝 导师签名:砸t 乎 日期:z o o t # f o r g o 日日期:z 0 0 1 年f d 月3 0 日 中山大学硕士学位论文 1 1 课题内容 第一章绪论 本文利用m i c r o s o f ts q l s e r v e r2 0 0 5 在) 【m l 处理上的新特性,尝试采取) ( m l 及关系混合存储模式对半结构化数据进行存储。x m l 及关系混合存储模式的主要 策略是从数据中分解出结构化的和半结构化的两部分,使用关系模式存放结构化 的数据,而把半结构化的数据分离到m i c r o s o f ts q l s e r v e r2 0 0 5 中特有的x m l 字段中,使关系数据和x m l 数据能够在同一张数据库表中共存。x m l 及关系混合 存储模式既能发挥关系数据库性能上的优势,又能利用x m l 良好的扩展性,较好 的维持了二者之间的平衡。 该存储模式在使用c # n e t 开发的论文信息管理系统中仿真实验成功。 论文信息管理系统主要功能包括论文信息录入、论文信息修改、论文信息删 除、论文信息查询。论文信息管理系统中论文信息主要包括标题、关键字、作者、 摘要、单位、分类、发表与否,发表刊物和发表时间等信息。其中标题、摘要、 分类等是结构化的适合用关系存储的数据,而作者、关键字、发表刊物、发表时 间等是半结构化的数据。可能存在1 个到多个作者,作者之间有顺序;可能存在 一个到多个关键字,关键字间无顺序;论文如果未发表,就没有发表刊物和发表 时间。因此,作者、关键字、发表刊物、发表时间信息的存储适合使用x m l 格式 存储。系统中通过x m l 字段保存作者、关键字、论文发表情况,并建立x m l 索引 以提高检索效率。 x m l 数据在m i c r o s o f ts q ls e r v e r2 0 0 5 中的存储和优化 解决方案示意图: i 标蹶作者作者作者摘簧关键关键关键关键关键关键分类 l23 诲l词2调3诲4 邂5谭6 标题 摘要 分类 盎先珍( 作者 s 钆s e r v e r 辛继胜 x m l ( 作者 李明 数据存储 查询优化( 美键词l 图卜1 纯关系模式与x m l 及关系混合存储模式比较示意图1 发震值息 f a l s e t r u e 华求理工大学学报( ,发裘单位 2 0 0 6 - 0 6 - 2 9 z 图i - 2 纯关系模式与) ( h i l 及关系混合存储模式比较示意图2 2 中山大学硕士学位论文 1 2 课题意义 1 2 1 课题背景 在互联网技术迅速发展的推动下,现代社会的信息化程度越来越高、发展速 度越来越快。伴随着信息化的过程,产生了各种形式的信息。这些信息从结构化 的程度可以分成3 类:第一种是完全结构化的数据,如关系型数据和面向对象 的数据;第二类是完全无结构的数据,如文本、声音数据等。还有一种介于两者 之间的数据,称之为非结构化的数据。这些数据的特点是拥有不规则、可变的数 据结构。近年来流行的可扩展标记语言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 ) 是 半结构数据的一种表现形式,它已经成为i n t e r n e t 以及电子商务中数据交换和 标识的标准。对于传统的结构化数据可以采用关系型数据库或对象型数据库进行 管理;无结构的数据则可以采用信息检索的方式进行访问“1 。而如何对半结构化 的数据进行有效的管理,包括存储、索引、查询等,则是亟待解决的问题。 现在市场上比较流行的数据库系统大都是关系数据库,虽然很多数据库系统 近年来都开始加入对象数据库的元素,但是关系数据库占据相当一部分市场份额 的局面并未改变,且将在相当一段时间内持续。因此,研究如何在关系数据库中 存储、访问和处理半结构化的x m l 数据也就很有必要了。以往x m l 数据在关系数 据库中的存储,要么将元素和属性拆分成各个关系数据表的字段,要么利用文本 字段整份文件存入字段中。拆分的方式扼杀了x m l 原有的延伸性。整份放入则无 法有效的建立索引,无法以y d d l 的查询方式找寻数据。这两种方式都需要前端程 序的支持。 在众多的关系数据库系统中,m i c r o s o f ts o ls e r v e r2 0 0 5 在对早期版本优 化加强的基础上,提供了对x m l 数据处理的大量改进,在支持x m l 方面具有了一 定的优势,因此本文采用s q ls e r v e r2 0 0 5 为主要关系数据库平台进行研究。s o l s e r v e r2 0 0 5 采用了新的存取机制“。,能将x m l 包含在数据库中,而不是数据库 内的数据表中,并支持全新的) ( m l 数据类型,使得x m l 数据的处理方式产生了革 命性的变化。使用煳l 数据类型,支持通过x m ls c h e m a 来维护数据的正确性, x m l 数据在m i c r o s o f ts q ls e r v e r2 0 0 5 中的存储和优化 支持x p a t h ,x q u e r y 语法进行数据查询和修改,还能够通过建立专门的x m l 索引 提高数据访问效率。x m l 数据类型让传统的s q l 语言融入了新的元素,在访问上 可以综合关系数据和x m l 两种数据的特色。当然,s q l s e r v e r 2 0 0 5 对x m l 的支持 还有一些不足,例如:空白字符,属性的顺序,命名空间的前缀等信息未能保 留,对完整的存储和保留x m l 的特性来说,这些问题亟待解决。如何更好的利用 s q l s e r v e r 2 0 0 5 中的新特性,充分发挥其性能,有必要对s q l s e r v e r 2 0 0 5 对x m l 各项全新的支持功能进行研究和应用。 1 2 2 国内外研究情况 国内外有关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 b l 数据转换到面向对象的数据库中 进行管理。从理论上说,面向对象数据库的结构使得x m l 文档很适合于用对象数 据库进行存储,而且实现瑚l 模式到对象的转换规则也比较简单,且技术比较成 熟。但是对象数据库应用范围较窄,所以到目前为止,应用并不多见。 ( 4 ) 基于关系数据库的存储;近年来,用关系数据库进行x m l 数据的管理 得到越来越多的关注,现在的市场占有率最高的几大关系数据库厂商都对姗l 有 一定的支持。 4 中山大学硕士学位论文 选择关系数据库来进行x m l 的存储具有优势:首先,同对象数据库和原始 x m l 数据库相比,关系数据库具有数据结构化、最低冗余度、较高的程序与数据 独立性、易于扩充、易于编制应用程序等优点。关系数据库的发展已经非常成熟, 能够提供对大量数据进行高效存储的技术手段。其次,目前大量的数据都是存储 在关系数据库中。现在流行的数据库大多数是关系数据库,如m ss 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 文档和关系数据库间的 映射不可避免的存在很多问题,如模式的转换、结构变动、文档复原和查询效率 等 3 1 2 3 课题意义 以往由于关系数据库系统本身对x m l 数据处理的支持较弱,关于x m l 在关 系数据库中的存储的研究主要集中在模式转换的方面,并且已经有了一些较为系 统的算法。但是这些算法通常相当复杂,一般人较难应用;而且转变模式之后需 要把原来的x m l 表分割成相当多的分表。结果往往导致原来的信息变得较为零 散,难于理解。因此这些模式转换算法大多处于研究阶段或针对特定的应用,短 期内难以广泛应用。 实际上在大多数通常的应用中,数据结构并不十分复杂,往往是大量适合 关系型数据存储的规范数据中掺杂少量不规范的数据。例如,一个论文信息管理 系统,主要管理标题、关键字、作者、摘要、单位、分类、发表刊物和发表时间 等信息。其中标题、摘要、分类等是规范的可以用关系存储的数据,而作者、关 键字、发表刊物、发表时间是不规范的数据。因为可能存在1 个到多个作者,作 者之间有顺序;可能存在一个到多个关键字,关键字间无顺序;论文如果未发表, 就没有发表刊物和发表时间。作者、关键字、论文发表信息的存储适合使用x 儿 格式存放。如果完全使用关系数据库存储,则一般解决方案是添加额外字段存储 信息,同时限制作者或关键字的数量,例如,创建3 个作者字段分别命名为作者 1 、作者2 、作者3 ,创建1 0 个关键字字段分别命名为关键字1 至1 0 。这种方案 x 札数据在m i c r o s o f ts o ls e r v e r2 0 0 5 中的存储和优化 扩展性较差,并且需要添加额外的程序逻辑对这些字段进行分析处理。如果完全 使用x m l 格式存储,由于x m l 数据处理相对还不完善,执行效率与关系数据库相 比差距甚大,势必对查询等操作带来较大影响。 m i c r o s o f ts o ls e r v e r2 0 0 5 提供了全新的x m l 数据类型,这为我们提供了 新的解决思路。x 札数据类型可以建立单独的字段,支持用s c h e m a 进行规范化, 同时也可以使用x p a t h 进行定位,结合x q u e r y 进行查询和处理,所有操作都能 够通过经过扩展后支持x ( ) u e r y 的s q l 语句进行处理。) 【m l 数据类型还可以建立 特有的x m l 索引,以提高检索速度。x m l 数据类型的出现,使得在一张关系数据 表中混合使用关系和x m l 数据成为可能。我们可以将结构化的数据存放在关系型 字段中,非关系数据存放在x m l 字段中,而关系型字段和x m l 字段共存在同一张 数据表中。这种解决方案,对于大多数层次不太复杂的数据都能很好的解决,我 把它称为】( m l 及关系混合存储模式。) ( m l 及关系混合存储模式简单直接,容易实 现;既能发挥关系数据库性能上的优势,又能利用x m l 良好的扩展性,较好的维 持了二者之间的平衡。 1 3 主要研究内容 为了完成论文工作,需要解决以下技术问题: ( 1 ) x m l 文档方面。由于需要以x m l 格式存放半结构化数据,需要对x m l 内 容文档的格式定义进行研究;为了保证存储的x m l 数据的完整性,需要对x m l 模 式定义文档进行研究,本文中通过x m ls c h e m a 对x m l 数据进行有效性验证;为 了能够对x m l 数据进行查询,需要熟悉x p a t h 、x q u e r y 语法。 ( 2 ) 对于半结构化的数据,需要研究如何从数据中分离出适合于关系存储的 部分和适合于用x m l 格式存储的部分,然后根据分离结果设计出合适的数据库 表。目前本文还是采用人工分析的方式处理并完成转换。 ( 3 ) 数据库设计方面。需要研究m i c r o s o f ts q l s e r v e r2 0 0 5 对x m l 数据处理 方面的最新支持,包括如何建立x m l 字段,如何绑定s c h e m a ,如何在查询中嵌 入) ( q u e r y 语句、如何建立】( m l 索引等。另外也涉及到标准的s q l 、视图、存储 过程、触发器的使用。 ( 4 ) 开发前台程序。需要熟悉c # 和v s n e t 2 0 0 5 的使用,尤其是对数据库连 6 中山大学硕士学位论文 接和显示方面的技术进行研究。本文主要使用a d o n e t 组件进行数据库连接和访 问数据。 以上技术,经过一段时间的研究和实践,均在仿真实验论文信息管理系统中 得到了整合应用,基本上实现了x m l 及关系混合存储模式。 1 4 完成的效果 论文信息管理系统中通过建立带s c h e m a 的x m l 字段存放半结构化数据,初 步实现了x m l 及关系混合存储模式;通过扩展支持x q u e r y 的s q 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 及关系混合存储模式不需要涉及复杂的模式转 换算法,不需要建立大量的分表,又能够具有较好的扩展性,在实现难度上相对 较低,更容易被接受和应用。 1 5 存在的问题 由于本文只选取了众多关系数据库中对x m l 支持较好的s q ls e r v e r2 0 0 5 进 行研究存储,因此具有相当的局限性。主要设计优化和性能提升都直接依托s q l s e r v e r2 0 0 5 ,移植到其他关系数据库系统需要做的更改较大。由于理论研究较 为浅薄且时间仓促,只是选取了较为简单的半结构数据进行存储研究,未能给出 通用的解决方案。由于数据和研究工具的局限,未能给出x m l 及关系混合存储模 式与单纯关系数据存储模式、单纯x m l 格式存储在性能差异上的详细比较实验数 7 x 虬数据在m i c r o s o f ts q ls e r v e r2 0 0 5 中的存储和优化 据。 1 6 本文的章节结构 本论文分为五章,各部分的内容简单介绍如下: 第1 章是绪论,首先介绍了在关系数据库中存储半结构化x m l 数据的意义和 国内外的研究现状。然后介绍了m i c r o s o f ts q l s e r v e r2 0 0 5 中对煳l 的支持及 其优势,研究如何通过运用m i c r o s o f ts q l s e r v e r2 0 0 5 中新的特性对x m l 数据 的存储进行优化,提出了x m l 及关系混合存储模式设想。最后介绍了本文的主要 研究内容。 在第2 章中,简单介绍了x m l 的特点和应用领域,详细介绍并比较了两种 x m l 模式定义语言x m ls c h e m a 、d t d 的特点,最后还介绍了两种x m l 查询语言 x p a t h 、x q u e r y 的特点和用法。以上的理论研究,为后面仿真系统设计实现作概 念上的准备。 第3 章主要介绍了c # n e t 和m i c r o s o f ts q l s e r v e r2 0 0 5 中对】( m l 数据处理 的编程支持和技术要点。主要包括n e t 的数据库接口、x m l 处理类库,m i c r o s o f t s q l s e r v e r2 0 0 5 中对s c h e m a 、x q u e r y 等的支持,x m l 数据得导入和存储模式等。 这些都为第4 章仿真系统地实现提供了技术上的支持。 在第4 章中,针对日常处理的大量半结构化x m l 数据,为了达到性能最优化, 同时具有良好的结构并兼顾扩展性,提出了一个采取关系数据库结合m i c r o s o f t s q l s e r v e r2 0 0 5 特有的x m l 数据类型进行处理的x m l 及关系混合存储模式。并 以在n e t ,m i c r o s o f ts q l s e r v e r2 0 0 5 平台上实现的论文信息管理系统为仿真 实验,验证了该存储摸式。 第5 章是总结部分,回顾了论文的基本工作,并对论文的不足之处进行了分 析,对今后努力方向进行了展望。 8 中山大学硕士学位论文 第二章y d v i l 相关技术简介 2 1 可扩展标记语言x m l 2 1 1 什么是x 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 月发布的一种标准。它是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 p l a n g u a g e ,标准通用标记语言) 的一个简化子集,它将s g m l 的丰富功能与h t m l 的易用性结合到w e b 的应用中,以一种开放的自我描述方式定义了数据结构,在 描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。这样所 组织的数据对于应用程序和用户都是友好的、可操作的。 x m l 并不是标记语言。它只是用来创造标记语言( 比如h t m l ) 的元语言,它的 用途比h t m l 广泛得多。用户可以定义自己需要的标记,这些标记必须根据某些 通用的原则来创建,但是在标记的意义上,也具有相当的灵活性。标记可以有三 类意思:结构、语义和样式。结构定义了元素之间的层次关系,语义将单个的元 素与外部的实际事物联系起来,而样式指定如何显示元素”。 一个x m l 文档必须满足两点:良构和有效”1 。遵循x m l 语法的文档叫做良构 的文档,可以表达一定的语义信息。而一份附带有外部或内部d t d 或者x m ls c h e m a 的良构x m l 文档,并且x m l 文档本体符合d t d 或者) ( m ls 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 文档,需要满足以下几项基本原则。: ( 1 ) 文档以x m l 声名 开始; ( 2 ) 有一个包含所有其他内容的根元素; ( 3 ) 所有元素必须合理的嵌套; ( 4 ) 起始标签和结束标签应当匹配;结束标签必不可少,不能像h t m l 那么随 9 x m l 数据在m i c r o s o f ts q ls e r v e r2 0 0 5 中的存储和优化 意; ( 5 ) 大小写应当完全一致;x m l 对字母的大小写是敏感的,同时,x , i l 不忽略 空格; ( 6 ) 属性必须在单引号或双引号中,在结构上构成“名一值”对; ( 7 ) 标签和属性的命名必须是合法的,元素中的属性是不允许重复的。 以上是一个简单的x m l 文档。此文档中的第一行- x m l 声明一定义了 x m l 的版本和文档中使用的字符编码。接下来的一行描述了文档的根元素。接 下来的4 行描述了根元素的4 个子元素( t o ,f r o m ,h e a d i n g ,以及b o d y ) 。 最后的一行定义了根元素的结尾。 一个完整的x m l 文档包括三部分”。:x i d l 模式定义文档,x m l 内容文档,x m l 内容表现文档。所谓x m l 模式定义指的是对x m l 内容文档中所使用的标记进行说 明。x m l 内容表现形式文档即x m l 格式,指的是x m l 以什么样的形式展现给用户。 2 1 2x m l 的特点 x m l 是一种自描述的可扩展标记语言,具有简洁、灵活和结构化的特点,它 不但能描述数据本身,还能够描述其结构,它具有以下特点: ( 1 ) 易于扩展。x m l 是摒弃了s g m l 中一些复杂性并考虑到适合w e b 特性的一 个子集,可以用来定义其他语言,同时x m l 的标记又是用户定义的,所以从理论 上说,其类型的数量可以是无限的”。; ( 2 ) 结构性强。x m l 的文件结构可以嵌套到任意复杂程度,能表示面向对象的 等级层次:恻 ( 3 ) 交互性好。用户与应用程序进行交互式,利用x m l 可以非常方便地在本 l o 中山大学硕士学位论文 地进行排序、过滤及其他数据操作;6 1 ( 4 ) 丰富的语义。可以自行设计一些有意义的标记,便于异构系统间的数据 交换和信息检索;”1 ( 5 ) 基于内容的数据标识。可以被不同应用城区用于不同的目的。6 3 ( 6 ) 可格式化。可利用x s l ( e x t e n s i b l es t y l el a n g u a g e ,可扩展样式语言) 指定如何显示数据。数据和显示是分离的,可以为同一数据指定不同的样式表( 即 不同的输出) ;嘲 ( 7 ) 易于处理。) 【m l 文档是层次结构,具有严格的格式定义,便于机器处理; ( 8 ) 与平台无关。x m l 文档无需更改即可被移植到不同的硬软件平台上。刚 2 1 3x m l 的应用领域 x m l 在信息化的各个领域都能够发挥广泛的作用。“ ( 1 ) x m l 可以从h t m l 中分离数据。通过x m l ,你可以在h t m l 文件之外存储数 据。在不使用x m l 时,h t 札用于显示数据,数据必须存储在h t m l 文件之内; 使用了x m l ,数据就可以存放在分离的x m l 文档中。这种方法可以让你集中精力 到使用h t m l 做好数据的显示和布局上,并确保数据改动时不会导致h t m l 文件 也需要改动。这样可以方便维护页面。x m l 数据同样可以以“数据岛”的形式存 储在h t m l 页面中。你仍然可以集中精力到使用h t m l 格式化和显示数据上去; ( 2 ) x m l 用于交换数据。通过x m l ,我们可以在不兼容的系统之间交换数据。 在现实生活中,计算机系统和数据库系统所存储的数据有n n 种形式,对于开发 者来说,最耗时间的就是在遍布网络的系统之间交换数据。把数据转换为x m l 格 式存储将大大减少交换数据是的复杂性,并且还可以使得这些数据能被不同的程 序读驭;。 ( 3 ) x m l 和b 2 b ,使用x m l ,可以在网络中交换金融信息。x m l 正在成为遍布 网络的商业系统之间交换金融信息所使用的主要语言。许多与b 2 b 有关的完全基 于x m l 的应用程序正在开发中: ( 4 ) x m l 可以用于共享数据。通过x m l ,纯文本文件可以用来共享数据。既然 x m l 数据在m i c r o s o f ts o ls e r v e r2 0 0 5 中的存储和优化 ) ( m l 数据是以纯文本格式存储的,那么x m l 提供了一种与软件和硬件无关的共享 数据方法。这样创建一个能够被不同的应用程序读取的数据文件就变得简单了。 同样,我们省级操作系统、升级服务器、升级应用程序、更新浏览器就容易多了; ( 5 ) x m l 可以用于存储数据。利用x m l ,纯文本文件可以用来存储数据。大量 的数据可以存储到x m l 文件中或者数据库中。应用程序可以读写和存储数据,一 般的程序可以显示数据;哺。 ( 6 ) x m l 可以充分利用数据。使用x m l ,你的数据可以被更多的用户使用。因 为x m l 是与软件、硬件和应用程序无关的,所以可以使你的数据可以被更多的用 户、更多的设备所利用,而不仅仅是基于h t m l 标准的浏览器。别的客户端和应 用程序可以把你的x m l 文档作为数据源来处理,就像他们对待数据库一样,你的 数据可以被各种各样的“阅读器”处理,这时对某些人来说是很方便的,比如盲 人或者残疾人;”1 ( 7 ) x m l 可以用于创建新的语言。瑚l 是w a p 和w m l 语言的母亲。无线标记语 言( 州l ,t h ew i r e l e s sm a r k u pl a n g u a g e ) ,用于标识运行于手持设备上( 比如: 手机) 的i n t e r n e t 程序。”。 2 2x m l 模式 x m l 模式m 是指用来描述x m l 结构、约束等因素的语言,例如x m ls c h e m , x m ld t d 、x d r 、s o x 等等。本文主要涉及x m ls c h e m a 。 2 2 1d t d d t d 即文档类型定义( d o c u m n e tt y p ed e f i n i t i o n ) ,d t d 是一套关于标记符 的语法规则。它是x m l i 0 版规格得一部分,是x m l 文件的验证机制,属于x m l 文 件组成的一部分。“。 d t d 是一种保证x m l 文档格式正确的有效方法,可以通过比较x m l 文档和 d t d 文件来看文档是否符合规范,元素和标签使用是否正确。一个d t d 文档包含: 元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或 中山大学硕士学位论文 符号规则。 翮l 文件提供应用程序一个数据交换的格式,d t d 正是让x m l 文件能够成为数 据交换的标准,因为不同的公司只需定义好标准的d t d ,各公司都能够依照d t d 建 立x m l 文件,并且进行验证,如此就可以轻易的建立标准和交换数据,这样满足了 网络共享和数据交互。“。 d t d 文件是一个a s c i i 的文本文件,后缀名为d t d 。文档类型定义用不同于 x m l 的独立语法来规定了x m l 文档中各种元素集合的内容模式。该语言直接沿袭 了定义s g m l 语言的方法。d t d 使得x m l 文档保持一致;d t d 可以共享:d t d 提供 了对x m l 语汇的形式化和完整的定义;每个x m l 文档有单个的d t d 来限制。“1 2 2 2 煳ls c h e m a x m ls c h e m a 与d t d 一样,也是对一类x m l 文档进行约束、确定其结构,元 素、属性及数据类型。即x m l 文档中所使用的元素,实体,元素的属性,元素 与实体之间的关系的约束。x m ls c h e m a 首先由微软提出,已经被w 3 c 接受成为 一个标准。与d t d 不同的是,) ( m ls c h e m a 文件使用) ( m l 语法,它的设计目的跟 d t d 相似,但在功能,扩展性方面超越了d t d 。l s j x m ls c h e m a 提供了创建x i - i l 文档必要的框架,详细说明了一个x i d l 文档的 不同元素和属性的有效结构、限制和数据类型。x m ls c h e m a 规范由3 部分组成: ( 1 ) x m ls c h e m ap a r t o :p r i m e r 。1 一个非标准化的文档,提供了x m ls c h e m a 的一个简单可读的描述,目的是快速地理解如何利用x m ls c h e m a 语言创建一个 s c h e m a ( 框架) 。 ( 2 ) x l d ls c h e m ap a r t l :s t r u c t u r e s 。”。这一部分详细说明了x m ls c h e m a 定义语言,这个语言为描述x m l l 0 文档的解构和内容提供了便利,包括开发了 x i d ln a m e s p a c e ( 命名空间) 的使用。x m ls c h e m a 本身是由x m l l 0 自描述并且 使用了命名空间,实际上重新构造了并且极大地扩展了x i d l i 。0 文档类型定义 ( d t d ) 的能力。 其中,框架概念介绍了x i d ls c h e m a 的本质,d i ls c h e m a 的抽象数据类型和 x m l 数据在m i c r o s o f ts q ls e r v e r2 0 0 5 中的存储和优化 一些其他术语。 x m ls c h e m a 由诸如类型定义和元素声明的组件组成,可以用来评估一个格式 良好元素和属性信息的有效性。) ( m ls c h e m a 是s c h e m a 组件的集合,这些组件分 为三组:基本组件、组件和帮助组件。其中基本组件包括简单类型定义、复杂类 型定义、属性声明和元素声明;组件包括属性组、完整性元素定义、模型组和符 号声明;帮助组件包括注释、模型组、小品词、通配符、属性使用。州 x m ls c h e m a 组件详细说明了抽象数据模型的每个组件的严格语义,每个组件 在x m l 中的标识。一个硎ls c h e m a 文档类型的d t o 和瑚ls c h e m a 引用。 ( 3 ) x m ls c h e m ap a r t 2 :d a t a t y p e s 。这一部分定义了可用于x m ls c h e m a 和其他x m l 规范中的定义数据类型的方法。这个数据类型语言,本身由x m l l 0 自描述,提供了说明元素和属性数据类型的】( m l1 0 类型定义( d t d ) 的一个超集。 这部分提供了标准的数据类型内容集合。其中,讲述了目的、需求、范围、术语。 类型系统描述了这个规范中定义的类型系统的概念框架。内嵌数据类型讲述 了可通过命名空间引用( x m l n s = “h t t p :w w w 3 o r g 2 0 0 1 x m ls c h e m a “) 的 一些内嵌的数据类型:有1 9 种基本数据类型,包括s t r i n g ,b o o l e a n ,d e c a i m a l 等;有2 5 种引用数据类型,包括n o r m a l i z e d s t r i n g ,t o k e n 等。哺。 数据类型组件提供了数据类型定义中所涉及到的每一种s c h e m a 组件特性的 详细说明。 x m l s c h e m a 与d t d 相比,有其独特的优点,提供了丰富的数据类型,实现了 继承和复用,与命名空间紧密联系,易于使用。1 。 ( 1 ) x m ls c h e m a 的丰富数据类型”1 与d t d 不同,瑚ls c h e m a 规范提供了丰富的数据类型。其中不仅包括一些 内嵌的数据类型,例如:s t r i n g ,i n t e g e r ,b o o l e a n ,t i m e ,d a t a 等,规范还提供 了定义新类型的能力,如c o m p l e x t y p e 和s i m p l e t y p e 。开发者可以利用内嵌的 数据类型和用户定义的数据类型,有效地定义和限制x m l 文档的属性和元素值。 在d t d 中,基本只支持文本类型,这一点上,捌ls c h e m a 有了重要的发展。 ( 2 ) 继承和复用 x m ls c h e m a 支持继承是它的另一特点。可以利用从已经存在的s c h e m a 中获 1 4 中山大学硕士学位论文 得某些类型而构造新的s 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 s 时,就 可以正确地引用已经定义的组件。继承性使得软件复用更加有效,帮助开发者避 免了每一次创建都从零开始,极大地缩短了x m l 软件开发过程,方便了代码维护, 提高了编程效率。 ( 3 ) 与命名空间紧密联系。 x m ls c h e m a 与x m ln a m e s p a c e 紧密联系,使得在一个命名空间中创建元素和 属性非常容易。这种联系简化了使用多个命名空间定义多个s c h e m a 的x m l 文档 的创建和验证文档有效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家政服务行业互联网+转型:家政服务O2O平台运营策略报告(2025年)
- 数字化赋能下的全球价值链重构-洞察及研究
- 中级银行从业资格之中级银行业法律法规与综合能力预测复习及答案详解【网校专用】
- 自考专业(金融)考试综合练习【培优A卷】附答案详解
- 中山大学招聘7名博物馆(校史馆)专业技术人员的笔试备考题库及答案详解一套
- 环保产业绿色制造技术与装备开发方案
- 中级银行从业资格之中级银行业法律法规与综合能力通关测试卷带答案详解(考试直接用)
- 2025年城市地下综合管廊专项债券资金申请项目社会效益分析报告
- 矿区生态重建-洞察及研究
- 自考专业(计算机应用)高频难、易错点题附完整答案详解(典优)
- 2024年长沙市公安局招聘警务辅助人员真题
- 待灭菌物品的装载
- 《急性肺栓塞诊断和治疗指南2025》解读
- 2025年职业卫生技术服务专业技术人员考试(放射卫生检测与评价)历年参考题库含答案详解(5套)
- 《健康体检超声检查质量控制专家建议(2025版)》解读课件
- 2025至2030年中国小信号分立器件行业市场运行现状及投资战略研究报告
- 老年人基础照护护理协助协助老人床椅转移
- 2025年北京中考真题英语试题及答案
- 班组人工协议书
- 2025年浙江省中考社会试题卷(含答案)
- 2025年公需课考试题库(附答案)
评论
0/150
提交评论