(检测技术与自动化装置专业论文)协同设计中xml文档存储管理研究.pdf_第1页
(检测技术与自动化装置专业论文)协同设计中xml文档存储管理研究.pdf_第2页
(检测技术与自动化装置专业论文)协同设计中xml文档存储管理研究.pdf_第3页
(检测技术与自动化装置专业论文)协同设计中xml文档存储管理研究.pdf_第4页
(检测技术与自动化装置专业论文)协同设计中xml文档存储管理研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(检测技术与自动化装置专业论文)协同设计中xml文档存储管理研究.pdf.pdf 免费下载

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

文档简介

桂林工学院硕士学位论文 摘要 随着市场经济的发展和计算机信息技术在企业中的应用,现代制造企业正在从以 机器为特征的传统技术时代,向着以信息为特征的系统技术时代迈进。计算机支持的协 同工作( c s c w ) ,它的目标是要设计支持各种协同工作的应用系统。将c s c w 应用于现代 制造企业即:计算机支持的协同设计与制造,是计算机支持的协同工作的一个重要方面。 它通过网络将分布在各地的资源( 制造设备、设计者的知识技巧和数据库等资源) 有机地 联系在一起,为同一个设计或制造任务协同工作。在协同工作中,企业之间需要互相交 流,将产生大量的交换数据。这些用于协同的交换数据,因为来源于不同的企业,而不 同的企业具有不同的系统,使用不同的软件,所以产生的数据具有异构性。为了实现协 同设计,我们需要将这些不同格式的数据转换为相同的格式,以便于交换。目前普遍的 方法是将各种异构的文件转换为x m l 文档。对于这些用于数据交换的x m l 文档,系统需 要一种机制来进行管理,以支持企业协同工作。由于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 数据模型进行存储 管理。使得x m l 文档中的每个元素和属性都可以单独被访问、修改或删除,且对其它文 档结构影响最小,且关系数据表格模式固定,提供了x m l 文档存储管理最大的灵活性和 操作的简便性,克服了传统数据存储方式建立的表太多,影响访问效率的问题。 关键词:x m l ;关系存储;映射;关系数据库 桂林工学院硕士学位论文 a b s t r a c t a st h em a r k e te c o n o m yd e v e l o p sa n dt h ec o m p u t e ri n f o r m a t i o nt e c h n o l o g yi nt h e e n t e r p r i s ea p p l i c a t i o n s ,m o d e mm a n u f a c t u r i n ge n t e r p r i s e sf r o mt h em a c h i n e i sc h a r a c t e r i z e d b yt r a d i t i o n a lt e c h n o l o g ye r a , a n ds t r i v ef o rt h ec h a r a c t e r i s t i c so ft h ei n f o r m a t i o nt e c h n o l o g y e r aa h e a d c o m p u t e r - s u p p o r t e dc o o p e r a t i v ew o r k ( c s c w ) ,a n di t sg o a li st o s u p p o r t c o l l a b o r a t i v ed e s i g nw o r ko ft h ea p p l i c a t i o n n ea p p l i c a t i o no fc s c wi nt h em o d e m m a n u f a c t u r i n ge n t e r p r i s e s :c o m p u t e rs u p p o r t e dc o l l a b o r a t i v ed e s i g na n dm a n u f a c t u r i n g ,i s o n eo ft h ei m p o r t a n tp a r t so fc s c w i tw i l lb ed i s t r i b u t e dt h r o u g ht h en e t w o r ki nv a r i o u s p a r t so ft h er e s o u r c e s ( e q u i p m e n t ,s k i l l sa n dk n o w l e d g eo ft h ed e s i g n e r sa n dt h ed a t a b a s e r e s o u r c e s ,a n do t h e rr e s o u r c e s ) a r eo r g a n i c a l l yl i n k e d ,w i t had e s i g no rm a n u f a c t u r i n gt a s k st o w o r kt o g e t h e r i nt h ec o l l a b o r a t i v ew o r k ,t h ee n t e r p r i s e sn e e df o rm u t u a le x c h a n g e so f i n f o r m a t i o na n di tw i l lm a k eal a r g en u m b e ro fd a t a t h e s es y n e r g i e sf o rt h ee x c h a n g eo f d a t a ,w h i c hi sf r o mt h ed i f f e r e n te n t e r p r i s e s ,m a k i n gb yd i f f e r e n ts y s t e m sa n dd i f f e r e n t s o f t w a r e ,a r eh e t e r o g e n e o u s i no r d e rt oa c h i e v ec o l l a b o r a t i v ed e s i g n ,w en e e dt oc o n v e r t t h e s et h e s ed i f f e r e n tf o r m a t si n t ot h es a m ed a t af o r m a tw h i c hc a nb eu s e dt of a c i l i t a t et h e e x c h a n g e t h ep r e v a i l i n gm e t h o di st oc o n v e r tt h e s ev a r i o u sh e t e r o g e n e o u sd o c u m e n t si n t o x m ld o c u m e n t s f o rt h e s ed a t af o rt h ee x c h a n g eo fx m ld o c u m e n t s ,t h es y s t e mn e e d st ob e am e c h a n i s mf o rm a n a g e m e n tt os u p p o r te n t e r p r i s e st ow o r kt o g e t h e r b e c a u s eo fx m l p r o p e r t i e so fs e m i - s t r u c t u r e d ,x m ld a t am a n a g e m e n ti t s e l fi s i nt h ee x i s t e n c eo fa nl o w e f f i c i e n ts t o r a g e ,m a n a g e m e n td i f f i c u l t i e s ,d i f f i c u l t i e si na m e n d i n gs h o r t c o m i n g s ,h o wt o e f f e c t i v e l ym a n a g et h e s ex m l d o c u m e n t sh a sb e c o m eav e r yd i f f i c u l ta n di m p o r t a n tp r o b l e m t h ed a t a b a s ei sc u r r e n t l yt h em o s ti m p o r t a n td a t as t o r a g e ,i tw a sn a t u r a lf o rp e o p l et oh o p e t h a tw ec a n u s et h es y s t e mo fd a t a b a s et om a n a g ct h ex m ld o c u m e n t s a si nt h er e l a t i o n a l d a t a b a s es y s t e m :s t o r a g em a n a g e m e n t , q u e r yo p t i m i z a t i o n ,p a r a l l e lc o n t r o l ,t r a n s a c t i o n m a n a g e m e n ta n ds oo na r ef a rm o r em a t u r ea n ds t a b l ef o ro t h e rs y s t e m ,t h u sn a t u r a l l yb e c o m e t h ef o c u so ft h es t u d y f e a s i b l ea p p r o a c hi sr e l a t i o n a ld a t a b a s ef o rd a t as t o r a g ea n do p e r a t i o n , w i l lb es e m i - s t r u c t u r e dx m ld a t ai n t os t r u c t u r e dd a t at h r o u g hq u e r yt h ed a t a b a s et oe x t r a c t , s y n t h e s i sa n da n a l y s i so fav a r i e t yo fd a t a , w i l lb ea b l et ou s et h i sr e l a t i v e l ym a t u r er e l a t i o n a l d a t a b a s et e c h n o l o g y i nt h i sp a p e r , w es t u d i e dt h et e c h n o l o g yo fx m ld o c u m e n ts t o r a g em a n a g e m e n tb a s e d o nr e l a t i o n a ld a t a b a s e 1 1 h es y s t e mu s e dt h r e el e v e l ss t r u c t u r e ,n a m e l y :ar e l a t i o n a ld a t a b a s e s y s t e ma sas y s t e mo ft h ei n n e rs t o r a g es y s t e m s ,s t o r a g et h es p e c i f i cd a t ao fx m l 桂林工学院硕士学位论文 d o c u m e n t s ;t od e s i g na p p r o p r i a t el a y e ri n t e r f a c ea n dt oa d o p tac o m m o nd a t am o d e l d e s i g no ft h ec o n c e p to fx m ll a y e rm o d e l i nt h i sp a p e r , o nt h eb a s i so ft h ep u r p o s eo fs t o r i n gd a t ai nt h et r a d i t o n a lr e l a t i o n a l d a t a b a s e ,w eu s e ac o m m o nd a t am o d e lf o rx m ls t o r a g em a n a g e m e n t b e c a u s eo ft h es t o r a g e m a n a g e m e n t ,t h e x m ld o c u m e n te l e m e n t sa n da t t r i b u t e so fe a c hi n d i v i d u a lc a nb e a c c e s s e d ,m o d i f i e do rd e l e t e d ,a n dh a v et h e s m a l l e s ti n f l u e n c eo ft h eo t h e rd o c u m e n t s t r u c t u r e ,a n dt h er e l a t i o n s h i pb e t w e e nd a t at a b l e sa r ef i x e d i t p r o v i d e sa m a x i n u mw a yt o s t o r ex m ld o c u m e n ti to v e r c o m e st h ep r o b l e m so fh a v i n gt om a n yt a b l e sa n dh a v i n gal o w e f f i c e n tf o r v i s i t i n gf o r t h et r a d i t i o n a ld a t a k e yw o r d s :e x t e n s i b l em a r k u pl a n g u a g e ( x 1 订l ) ;m a p p i n g ;r e l a t i o n a ls t o r i n g ; r e l a t i o n a ld a t a b a s e - v 桂林工学院硕士学位论文 研究生学位论文独创性声明和版权使用授权说明 独创性声明 本人声明:所呈交的论文是我个人在周德俭教授指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含他人已经发 表或撰写过的研究成果,也不包含为获得桂林工学院或其它教育机构的学位或证书而使 用过的材料。对论文的完成提供过帮助的有关人员已在论文中作了明确的说明并致以了 谢意。 学位论文作者( 签字) 董鏖 签字日期:兰型:五:i 版权使用授权说明 本人完全了解桂林工学院关于收集、保存、使用学位论文的规定,即:按照学校要 求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并提 供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文; 在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。( 保密论文在解密后 遵守此规定) 学位论文作者( 签字) : 指导教师签字: ,桂林工学院硕士学位论文 1 1 课题研究的背景和意义 第1 章引言 计算机支持的协同工作( c s c w ) ,它的目标是要设计支持各种协同工作的应用系统。 而现代制造企业正在从以机器为特征的传统技术时代,向着以信息为特征的系统技术时 代迈进。将c s c w 应用于现代制造企业即:计算机支持的协同设计与制造,是计算机支 持的协同工作的一个重要方面。它通过网络将分布在各地的资源( 制造设备、设计者的 知识技巧和数据库等资源) 有机地联系在一起,为同一个设计或制造任务协同工作。在 协同工作中,企业之间需要互相交流,将产生大量的交换数据。这些用于协同的交换数 据,因为来源于不同的企业,而不同的企业具有不同的系统,使用不同的软件,所以产 生的数据具有异构性。为了实现协同设计,我们需要将这些不同格式的数据转换为相同 的格式,以便于交换。目前普遍的方法是将各种异构的文件转换为x m l 文档。x m l 既: 可扩展的标记语言,是w 3 c 组织于1 9 9 8 年2 月发布的标准。w 3 c 组织制定) ( m l 标准的 初衷是,定义一种互联网上交换数据的标准,其实际上是元语言中的一种。对于这些 用于数据交换的x m l 文档,系统需要一种机制来进行管理,以支持企业协同工作。但是 由于x m l 的半结构化特性,x m l 本身在数据管理上存在着存储效率底、管理困难、修改 困难等缺点,如何有效管理这些x m l 文档已经成为一个十分棘手的问题。 x m l 具有以下一些特性:1 、自描述性:) 【m l 文档通常包含一个文档类型声明,因而 文档是自描述的,不仅人能读懂x m l 文档,计算机也能处理;2 、可扩展性:x m l 让使用 者创建和使用他们自己的标记:3 、灵活性:x m l 提供了一种结构化的数据表示方式。使 得用户界面分离于结构化数据。在x m l 中可以使用样式表如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 2 ( c a s c a d i n gs t y l es h e e t sl e v e l 2 , 层叠样式表第2 进阶) 等方法将数据呈现到浏览器中;4 、简明性:x m l 源于s g m l ,但是 它只有s g m l 约2 0 的复杂性,却具有s g m l 功能的约8 0 乜1 。总体上看,在数据应用方面 上x m l 具有易表义、跨平台等优势,但客观上需要一种有效的存储、检索和修改等方面 的管理机制。相对k m l 来说,r d b 是一项经典和成熟的技术,其优势体现在:1 、技术成 熟;2 、应用广泛;3 、数据管理能力强、效率高;4 、数据安全程度高;5 、具有稳定可 靠的并发访问机制等跚。 在信息共享及异构应用数据交换方面,x m l 具有其他技术无法比拟的优点,在数据 管理方面,关系型数据库具有明显优势,所以我们将很自然地想到“以关系数据库为存 贮手段,以x m l 为交换载体的数据管理模式。如何实现x m l 文档的存储,特别是实现 x i d l 文档在关系数据库中的更好的存储管理,是本文所要研究的重点。 】 桂林工学院硕士学位论文 1 2 本课题的来源 本课题来源于广西科技计划重点项目:面向中小型企业的网络化制造异地协同设 计平台研究与建设( 编号:桂科计0 6 3 0 0 0 5 8 ) 。 1 3 国内外相关研究的历史,现状 x m l 文档数据是一种半结构化数据,利用其自身技术无法有效地存储和管理它,而 随着x m l 应用的广泛发展,产生了大量的x m l 文档数据,迫切的需要一种好的存储和管 理方法h 1 ,因此x m l 数据的存储技术是x m l 相关技术的中的一个研究重点。总的来说, x m l 数据的存储管理方法主要可以分为基于文件的存储、基于原生x m l 数据库的存储, 基于面向对象数据库的存储和基于关系数据库的存储四种。 由于x i d l 文档是一种作为文本来编辑的,故可以把文档作为一个普通的文本文件直 接存储在文件系统中,以文件的方式保存和处理x m l 数据,首先通过文件系统的目录结 构,然后通过x m l 文档的元素结构来提供对数据的层次访问陆3 。这种存储管理方式非常 简单,容易构建和维护,采用与文本兼容的工具就可以对x m l 数据进行访问和修改。但 是它每次访问x m l 文档时都需要将其调入内存重新进行解析,影响查询x m l 文档的性能 并且通常不提供并发控制、数据锁或恢复工具,不能满足数据管理的高级要求和保证数 据的安全。因此这种方法主要应用于少量x m l 文档的存储管理。 针对文本存储的问题,人们提出了一种原生x m l 数据库概念,既从核心层建立一 种易于存储、检索和查询x m l 结构数据的数据库系统砸1 。这种原生数据库系统可以基于 x p a t h 模型,也可以基于d o m 模型。其优点为在存储过程中维持了原有) ( 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 数据之间是包含层次结构,而关系数据库要求存储的数据具有原子 性,它无法表达一些层次型的数据。因此需要采用一定的映射方法,将x m l 文档分割成 多个相互关联的数据表,在不同的表中存储d i l 的不同信息,利用关系数据库表格的约 束关系表达x m l 数据间有序、层次结构等信息。 目前x m l 文档存储入关系数据库中,有两种映射方法:基于结构的映射和基于模式 的映射m 。 基于结构的映射:它是根据x m l 的结构( d t d 或s c h e m a ) 来生成关系模式,使得具 有不同d t d 或s c h e m a 的x m l 文档具有不同的存储模式。 基于模式的映射:它是根据d i l 文档建立x m l 图或x m l 树模型,将其中的节点和边 映射为关系模式,生成的关系模式固定,既:不同的潮l 文档具有相同的存储模式。 许多中间件产品都提供了在关系数据库与d i l 文档之间转换数据的方法,如 x m l d b m s ,是一个基于j a v a 的系统,可以在关系数据库和x m l 文档之间转换数据: i n f o s h a r k 公司的) ( m ls h a r k ,是关系型数据的一个双向适配器;x a w a r e 提供一个图形 开发环境,可以创建x m l 文档与传统数据源之间双向映射,包括关系型( 兼容o d b c ) 数 据库与w e b 服务器之间的映射伯1 。各种主流的数据库产品或者内部提供了多种中间件产 品,或者从内部建立支持x m l 的机制,如s o l s e r v e r2 0 0 0 、o r a c l e9 i 、i b md b 2 、s y b a s e 等都增加了对x 札的支持,但它们大都功能有限。这种方式很难实现对传统关系数据的 改造和继承,仅仅是提供了融合的途径。 1 4 研究思路及方法 l 、如何处理x m l 模式的半结构化特征和数据的层次嵌套关系,使之适应于关系数据库 的二维平面特征。 2 、如何保证x m l 文档在存储到关系数据库的过程中不丢失信息,并能够从数据库中完 桂林工学院硕士学位论文 整的恢复x m l 文档。 3 、如何提高x m l 文档存储的效率及查询的效率。 1 5 本文的组织结构 本文在介绍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 文档在关系数据库中的存储 本章研究了x m l 文档在关系数据库中的两种存储方法:基于模式的方法和基于结构 的方法。 第五章基于关系数据库技术的x m l 文档存储系统设计 本章采用了一种新的x m l 通用数据模型,并基于这种模型,研究了x m l 在关系数 据库中的三种存储方式。 第六章系统实现 本章对第五章研究的基于x m l 通用模型的关系数据库中的存储方法,进行了开发实 现。 第七章总结和展望 对全文进行总结,并对以后的研究工作进行展望。 桂林工学院硕士学位论文 2 1x m l 概述 2 1 1x m l 简介 第2 章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 的缩写,其全称为“可扩展标记语言 。它定 义了一种文件格式,一种保存数据的方法国3 ,使用这种格式和保存方法的计算机数据, 可以在不同的计算机平台和不同的计算机程序之间,方便、平稳、快速和无障碍地转移 和流动,从而大大提高了我们处理数据的效率和灵活性。 x m l 的基本原理规定,数据按照其固有的结构以层次化的格式存储,从而形成一种基 于内容的格式,使得无论是人、还是各种计算机程序,都能方便地了解、掌握和维护x m l 文档的内在结构信息,快速、准确地定位所需信息。1 9 6 9 年,i b m 公司开始设计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 ) 语言,于1 9 8 0 年推出了s g m l ( s t a n d a r dg e n e r a l i z e d m a r k u pl a n g u a g e ) 语言,并于1 9 8 6 年获得国际标准化组织( i s o ) 的批准。1 9 9 1 年,h t m l 语言问世,它借用了s g m l 的很多元素,但是h t m l 的处理方法却与s g m l 有很大的不同, 最主要的一点是x m l 使用固定的、仅与外观显示格式有关的标记,它虽源于s g m l ,但相 对于s g m l 却简单得多,因此也有一定的局限性。1 9 9 6 年,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 l i 0 。x m l l 0 中详细说明了x m l 的设计目的,主要包括: 1 、x m l 可以直接应用于i n t e r n e t ; 2 、x m l 应支持尽可能多种类的应用; 3 、) ( m l 应与s g m l 兼容; 4 、x m l 的解析程序应易于编写和处理; 5 、x m l 文档应便于用户阅读、理解; 6 、) ( m l 文档应易于创建; 7 、x m l 的设计过程应简单、迅速。 现在,x m l 已经被广大程序人员、数据库开发者和文档编写人员所接受,x m l 逐渐 成为整个w e b 的基本结构和未来各种发展的基础。 2 1 2x m l 文档的构成 x m l 文档虽然可以自由地创建标签,但是,它仍然需要在一定的框架结构下才能进 行编写。这些结构主要包括:x m l 文档的项层结构、序言的结构、元素的结构和杂项的 结构n 。 1 、顶层结构: 桂林工学院硕士学位论文 从宏观角度看,一个典型的文档可以用如下公式来描述其构成: x m l 文档= 序言+ 元素+ ( 杂项) 其中,序言和元素是必须有的,而杂项则是可选的。 2 、序言的结构: x m l 文档一般以序言开始,它主要用于描述x m l 文档的版本号、提供文档的特征信 息,有时还可以进行文档类型声明等工作。 3 、元素的结构: 元素是文档的核心部分,是文档信息的主要载体,每个x m l 文档都包含一个或多个 元素。元素分为非空元素和空元素,非空元素一般由3 部分构成,其表示形式为: 元素= 起始标记+ 元素内容+ 结束标记。 如果元素是空的,则起始标签和结束标签之间没有任何内容,在这种情况下,一般可以 将空元素以如下所示的形式来表示: 空元素= ”。 4 、元素的嵌套:元素中包含了其他元素,这就构成了元素的嵌套。 对于元素的嵌套,有如下原则: 1 ) 所有x 札文档都从一个根节点d o c u m e n t 开始,该根节点代表文档本身,根节点包含 了一个根元素; 2 ) 文档内所有其他元素都包含在根元素中; 3 ) 包含在根元素内的第一个元素称为根元素的子元素。如果不止一个子元素,且子元 素没有嵌套在第一个子元素内,则这些元素互为兄弟; 4 ) 子元素还可以包含子元素: 5 ) 包含子元素的元素称为分枝,没有子元素的元素称为树叶。 以下为一个简单的x m l 文档:x m l 文档h r i n f o x m l : 。 h u m a nr e s o u r s e 。 r e s e a r c ha n dd e v e l o p m e n t 6 桂林工学院硕士学位论文 s m i t h b e i j i n g 1 1 1 j o h n s h a n g h a i 1 1 2 h r i n f o x m l 2 1 3x m l 文档的分类 利用x m l 记述信息的文件,叫做x m l 文档( v a l i dx m ld o c u m e n t ) 。x m l 文档,通 常以数据库的对象( o b j e c t ) 集合或文本文件来表示。从x m l 文档逻辑结构的角度看,分 为包含d t d 的文档和不包含d t d 的文档。它们分别称为有效和格式完整的x m l 文档。如 果一个) 【m l 文件满足x s l 规范中的某些相关法则,且没有使用d t d ( 文件格式定义) 或) ( m ls c h e m a ( x m l 模式定义) 时,可称该文件是格式完整的x m l 文档( w e l l f o r m e d 瑚l ) 。而如果一个煳l 文件是w e ll f o r m e d ,且正确地使用了d t d 或x m ls c h e m a 并 且语法正确,那么这个文件就是有效x m l 文档( v a l i d a t i n gx m l ) n 。对应两种x m l 文 档,有两种x m l 解析器,一种是w e l l f o r m e d 解析器,另一种是v a l i d a t i n g 解析器。 1 、有效捌l 文档( v a l i d a t i n gx m l ) 需要进行d t d 或x m ls c h e m a 的定义,并且依定义的d t d 或x m ls c h e m a 对要素置 标的文档,叫做有效x m l 文档。有效x m l 文档通过其d t d 所定义的要素型宣言、属性一 览宣言,来保证要素的层次关系和属性内容n 铂。人们在进行数据的交换时,被交换的数 据的结构必须明确规定。如果数据结构能保证的话,可通过计算机程序对其进行自动地 处理。数据的结构是通过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 程序调用x m l 解析器来判断。 2 、格式完整的) ( m l 文档( w e l l f o r m e dx m l ) 有些x m l 文档可能只作为企业内部使用,对其结构不必做严格的规定,因此无需d t d 桂林工学院硕士学位论文 或x m ls c h e m a 。另外,有效x m l 文档再次被利用时,蹦l 文档是否遵循了d t d 或x m l s c h e m a ,在初次使用有效x m l 的文档时已被x m l 分析器检验,再次利用时,无须重复检 验。上述两种情况都需要利用较为简化的x m l 文档形式,这就是格式完整的x m l 文档n 羽。 在数据交换中,x m l 文件必须是w e l l - f o r m e d 的,这样才能够被解析器正确地解析出 来。 格式完整的x m l 文档须要符合下述最低条件: 1 ) 文档的首行必须是一条声明:x m l 声明是一条指令,常见的内容是用来说明文档是 x m l 文档,所使用的x m l 规范的版本以及是否引用了其他外部文件; 2 ) 文档只有一个根元素:x m l 文档必须有且只有一个包含了其他所有元素的根元素。 也就是说,x m l 文档的所有元素,除了根元素本身,都必须包含在根元素的起始标 记和终止标记之间。文档的其他置标,如指令、注释、c d a t a 段等,可以位于根元 素之外; 3 ) 对称的控制标记:在x m l 文档中,含有数据的元素必须具有起始标记和终止标记, 且起始标记和终止标记必须“对称 。如名称必须一致,终止标记比起始标记多一个 “ 符号等: 4 ) 空元素的表示:如果元素没有具体内容,可以使用没有内容的对称型标记来表示, 如 ,也可以使用一个标记来表示,此时,定界符“ 之前加一个 “ 符号,如 。如果元素具有属性,则“ 位于最后一个属件值和定界 符“ ”之间,如 : 5 ) 元素必须正确嵌套:元素进行嵌套时,必须注意不能交叉、重叠。一个元素a 如果 包含有子元素b ,则子元素b 的起始标记和终止标记都必须位于元素a 之内。 6 ) 属性值必须用引号括起:x m l 中的属性值必须用引号括起来,如 : 7 ) 关键字符的替代:如果在x m l 文档的内容中包含了x m l 置标中预定义的字符,如符 号“,则必须使用x m l 的预定义实体引用进行代替; 8 ) 置标中的英文大小写敏感:大小写敏感降低了输入的灵活度,却提高了文档的清晰 度和可读性,同时也降低了解析器和相关应用软件的开发难度。 2 1 4x m l 特点 x m l 是一种半结构化的数据模型,它有如下特点n 3 1 : l 、可扩展性:) ( m l 让使用者创建和使用他们自己的标记而不是如h t m l 所使用的 有限词汇表。可扩展性是至关重要的,企业可以为电子商务和供应链集成等应用x m l , 定义自己的标记语言,甚至特定的行业也可以一起来定义该领域的特殊的标记语言,作 桂林工学院硕士学位论文 为该领域信息共享与数据交换的基础; 2 、灵活性:x m l 提供了一种结构化的数据表示方式,使得用户界面分离于结构化 数据。在x m 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 ,扩展样式 表语言) 、c s s 2 ( 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 数据进 行解析的应用所提取、分析、处理,并以所需格式显示,d i l 表示数据的方式真正做到 了独立于应用系统,而且这些数据能重复使用; 4 、简明性:x m l 只有s g m l 约2 0 的复杂性但具有s g m l 功能的约8 0 。同完整s g m l 的相比,x m l 简单、易学、易用,并且易实现。 2 2x m l 相关技术 2 2 1x m l 数据的模式 2 1 1 1d t d x m l 是一种元标记语言,即一种定义标记语言的语言。在x 地中可以创建新的标记 语言,这些新的标记语言( 也叫标记集) 要通过文档类型定义( d t d ,d o c u m e n t t y p e d e f i n i t i o n s ) 来定义。d t d 描述的是x m l 文档使用词汇的语法,定义了元素、属性 和文档中的实体及其相互关系。 d t d 的语法: 1 、元素: d t d 中描述的基本部件是元素和属性,它们负责确定x m l 文档的逻辑结构。元素表 示一个信息对象,而属性表示这个对象的性质。有两种基本的元素类型,一种称为简单 类型,另一种称为复合类型。简单类型具有文本数据,即可析字符数据,该类型也称为 上下文中的# p c d a t a 或p c d a t a ;复合类型可以包含其他元素和文本数据。所有的元素中 有且只有一个根元素,其他的元素都是它的子元素,除根元素外,每个元素都被其他元 素包含,个元素可以有几个不同类型的子元素。 2 、元素声明: 在有效的x m l 文档中使用的每项标记都要在d t d 中的元素声明中进行声明,格式如 下 其中,e l e m e n t n a m e 是元素名,它决定了在x m l 文档 中所使用的标记。这个名称在单个d t d 中必须是唯一的。 t y p e 是元素的类型,也就是元素的内容规范。 桂林工学院硕士学位论文 x m l 中支持下列4 种元素类型: e m p t y :不包合数据内容,但可以有属性。 a n y :包含任何x m l 允许的内容。 e l e m e n t :只包含子元素。 m i x e d :允许元素包含子元素和数据内容。 为了描述元素出现的状态,可以用“木、“? 和“+ 等来修饰子元素,d t d 以 上下文无关文法的方式,描述文档中的元素和属性间的嵌套关系。d t d 使用几个操作符: “木”( 表示o 个或多个) 、“+ ( 表示1 个或多个) 、“? 一( 表示0 个或1 个) 和“i ( 表示选择) 来描述元素和子元素问的关系n 目。 属性: 一些元素具有属性,属性指定了元素的附加特性,在d t d 中声明元素时也必须对该 元素的属性进行声明。 属性的声明 在d t d 中,用 关键宇对元素的属性进行声明,具体格式如下: 其中e l e m e n t n a m e 是该属性的元素名:a t t r i b u t e n a m e 是属性名;t y p e 是属性类 型,若没有规定属性值,则属性值是d e f a u l t v a l u e 。 在d t d 中,属性的类型如表2 1 所示: 属性类型表 属性名 属性含义 c d a t a字符数据不是标示的文本 e n u m e r a t e d可能取值的列表,可从中选出正确的值 i d不能被文档中其他任何i d 类型属性共享的数字,具有唯一性 i d r e f文档中元素的i d 类型的属性的值 i d r e f s由空格分开的若干个i d e n t i t i e s 在d t d 中声明的实体 n m t o k e n ) ( m l 名称 n m t o k e n s 若干个空格分开的x m l 名称 n o t a t i o n 在d t d 中声明的注释名 表2 1d t d 属性类型 属性的缺省值 属性有4 种不同类刑的缺省值形态,分别为r e q u i r e d ( 必须提供属性值) 、 i m p l i e d ( 属性可选) 、f i x e d ( 属性值固定) 、d e f a u l t ( 属性值为缺省值) ,可以在属 性声明的d e f a u l t _ v a l u e 中指定。 桂林工学院硕士学位论文 d t d 的缺陷为: 1 ) d t d 是基于正则表达式的,描述能力有限; 2 ) d t d 没有数据类型的支持,在大多数应用环境下能力不足; 3 ) d t d 的约束定义能力不足,无法对实例文档做出更细致的语义限制; 4 ) d t d 不够结构化。 以下为h r i n f o x m l 的d t d 定义 h r i n f o d t d 其d t d 定义含义为:一个h r i n f o 元素包含一个子元素d e p a r t m e n t s 和一个子元 素e m p l o

温馨提示

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

评论

0/150

提交评论