




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)基于xml的信息系统集成的可视化匹配研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着现代科学技术以及网络技术的快速发展,基于互联网的各种信息系统日益受到 人们青睐,发挥出了重要作用。x m l 因其具有自描述性、可扩展性以及丌放性等优点已 经成为网络上信息表达和数据交换的事实标准。如果信息交换方遵守相同的模式规范, 那么它们之间就比较容易资源共享与信息集成。事实上,大量的x m l 应用面临着信息架 构不统一的问题。 信息架构的匹配问题在研究领域引起广泛关注。信息架构的匹配是一个十分具有挑 战性的问题。它在近几年已成为一个热点问题。 本文首先提出了一个可视化匹配的模型,此模型主要用于基于x m l 的信息系统中的 数据集成。该模型把一个新颖的可视化界面和以算法为基础的推荐引擎结合在一起。匹 配法试图在两个语意相关的信息源间建立匹配。局部信息架构和全局信息架构之间的匹 配是通过构建一个全局信息架构来完成的。把与所选相等的推荐给用户,这样使得匹配 操作既简单又快速。一旦用户已经完成了匹配操作,一个包装器( x s l t 样式单) 就随 着匹配操作自动地产生。应用这个包装器,就能把源x m l 文件转换成目标x m l 文件。 此外,为了实现信息架构的集成,可视化匹配模型还能对全局信息架构进行编辑。 这个编辑过程包含了增加孩子节点、重命名节点和删除节点的操作。并且被编辑过的信 息架构还能被存储到硬盘上。 然后,本文根据这个模型,设计了一个可视化匹配的工具,用来实现人才信息的集 成。最后,由可行性测试证明,与软件m a p f o r c e 相比,该工具处理信息架构匹配更为有 效。 关键词:信息架构的匹配,x m ls c h e m a ,可视化,语意,x s l t a b s t r a c t , a b s t r a c t w i t l lt h er a p i dd e v e l o p m e n to fm o d e ms c i e n c ea n dt e c h n o l o g ya n dn e t w o r kt e c h n o l o g y , v a r i e t yo f i n f o r m a t i o no fi n t e m e ts y s t e m sf i n df a v o ri no n e se y e sb yd a ya n dp l a ya n i m p o r t a n tr o l e w i t ht h ec h a r a c t e r i s t i c s o fs e l f - d e s c r i p t i o n ,e x t e n s i b i l i t ya n do p e n n e s s ,x m l h a sb e c o m et h ef a c t u a ls t a n d a r do ft h ed a t er e p r e s e n t a t i o na n de x c h a n g ei nt h ew e b i ft h e t w os i d e so fe x c h a n g ea s i d eb yt h es a m es c h e m ac r i t e r i o ni tw i l lb ee a s i e rt os h a r er e s o u r c e a n dc o m p l e t et h ei n t e g r a t ei n f o r m a t i o nb e t w e e nt h e m i nf a c t ,t h ew i d e l ya p p l i c a t i o no fx m l f a c et h ep r o b l e mo fd i s u n i t yo ft h es c h e m a 1 1 1 ep r o b l e mo fs c h e m am a p p i n gi sg a i n i n gw i d e s p r e a da t t e n t i o nf r o mt h er e s e a r c h c o m m u n i t y s c h e m am a p p i n gi sac h a l l e n g i n gp r o b l e m i th a sc o m et ot h ef o r ei nr e c e n t y e a r s f i r s t l y , am o d e lo fv i s u a l i z a t i o na n dm a p p i n gu s i n gf o ri n t e g r a t i o no fi n f o r m a t i o ns y s t e m b a s e do nx m li sp r o p o s e di nt h i sp a p e r t h em o d e lc o m b i n e san o v e lv i s u a l i n t e r f a c ew i t ha n a l g o r i t h m - b a s e dr e c o m m e n d a t i o ne n g i n e t h em a p p i n g b a s e da p p r o a c ha t t e m p t st oc o n s t r u c t m a p p i n g sb e t w e e ns e m a n t i c a l l yr e l a t e di n f o r m a t i o ns o u r c e s i ti su s u a l l ya c c o m p l i s h e db y c o n s t r u c t i n gag l o b a ls c h e m aa n db ye s t a b l i s h i n gm a p p i n g b e t w e e nl o c a la n dg l o b a ls c h e m a s m a t c h e st os e l e c t i o n sa r er e c o m m e n d e dt ot h eu s e r ,w h i c hm a k e st h em a p p i n go p e r a t i o n s e a s i e ra n df a s t e r o n c et h eu s e rh a sc o m p l e t e dt h em a p p i n go p e r a t i o naw r a p p e r ( x s l ts t y l e s h e e t ) i sc r e a t e da u t o m a t i c a l l yw i t ht h em a p p i n g sw h i c h c a na p p l i e dt ot r a n s f o r ms o u r c ex m l f i l e si n t ot a r g e tx m lf i l e s s o t h i sm o d e li se f f e c t i v ef o ri n t e g r a t i o no fi n f o r m a t i o ns y s t e m b a s e do nx m l i na d d i t i o n ,t h em o d e lo fv i s u a l i z a t i o na n dm a p p i n gi sa b l et oe d i tt h eg l o b a ls c h e m af o r s c h e m ai n t e g r a t i o n 1 1 1 ep r o c e s so fe d i t i n gt h eg l o b a ls c h e m ai n v o l v e so p e r a t i o n sl i k ea d d i n g an o d ea sac h i l d ,r e n a m i n gan o d e ,a n dd e l e t i n gan o d e t h ee d i t e dg l o b a ls c h e m aa l s oc a nb e 啊t t e nt od i s k s e c o n d l y , t h i sp a p e rd e s i g n sa t o o lo fv i s u a l i z a t i o na n dm a p p i n ga c c o r d i n gt ot h i sm o d e l o f v i s u a l i z a t i o na n dm a p p i n g t h et o o lh e l p st h ei n t e g r a t i o no f t h et a l e n t e dp e o p l ei n f o r m a t i o n l a s t l y , u s a b i l i t yt e s t sp r o v et h a tt h et o o lm a y b eu s e f u l l ye m p l o y e df o rs c h e m am a p p i n gi n c o m p a r i s o nw i t hs o f t w a r em a p f o r c e k e y w o r d s :s c h e m am a p p i n g ,x m ls c h e m a , v i s u a l i z a t i o n ,s e m a n t i c ,x s l t i i 独创 生声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取 得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文 中不包含其他人已经发表或撰写过的研究成果,也不包含本人为获得江南 大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志 对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 签名:洒茏 日 期: 2 0 0 孑p ii 关于论文使用授权的说明 本学位论文作者完全了解江南大学有关保留、使用学位论文的规定1 江南大学有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文, 并且本人电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 签名1 导师签名1 t 乡莎 移够互 7 鹚 日 期: 钧0 8 p ji 第一章绪论 第一章绪论 1 1 研究背景 随着i n t e m e t 信息技术的迅速发展,i n t e r a c t 已经成为人类社会信息共享与交换、信息 发布与传递的平台。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 m e t 上传统的描述语言,随着网络应用的深入而渐显疲态,且种种缺陷如难以扩展、缺乏交 互性、缺乏语义性定义等,都促使一个新的标记语言的诞生。x m l 1 2 】( e x t e n s i b l em a r k u p l a n g u a g e ,可扩展标记语言) 就在这样的背景下诞生了。由于x m l 保留了s g m l ( 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 ,标准通用标记语言) 的一些特点,并克服了h t m l 的局限 性,所以它的标准一经制定,就启动了整个i n t e m e t 信息标准化的进程。x m l 以其可扩 展性、自描述性以及支持对文档内容的验证等特点迅速取得了学术界和企业界的广泛认 同。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 s c h e m a 【3 4 ,5 】的地位与影响力也与日俱增。x m ls c h e m a 有望成为主流的模式语言【6 】。x m l s c h e m a 允许用户可以随意定义他们自己的标签,因此在同一应用领域也会产生几种不同 的信息架构。例如,在公安领域中,各个地区的公安部门都使用与各自业务相关的应用 系统,这些系统往往是不同公司开发的,x m l 文档采用不同的x m ls c h e m a 来描述。为 了不同部门间能协同工作,一个下属部门就不得不将自己的x m l 文档转换为符合其他部 门的x m ls c h e m a 的x m l 文档,所以转换x m l 文档也就成了一个至关重要的问题。 目前,x m l 文档的转换通常是用手工编写x s l t ( 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 t r a n s f o r m a t i o n ) 代码来完成的。x s l t 7 , s , 9 】是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 s l t 中,转化被称为样式表( s t y l e s h e e t ) , 江南大学硕士学位论文 样式表定义了一套将源树转化为结果树的规则,称为模板规则( t e m p l a t er u l e s ) 。一个 x s l t 程序是一组模板规则集合。一个模板规则分两个部分:模式( p a t t e r n s ) 用来匹配 源树中的元素,使用x p a t h 【lo 】( x m lp a t hl a n g u a g e ) 语法定义,它规定了需要进行转 换的元素或属性对象,即在什么样的情况下需要应用这个模板规则;模板( t e m p l a t e s ) 用来指示如何创建结果树的一部分,它定义了如何把源文档中的内容转换到目标文档 中,即怎样转换。写这样一个样式表的过程一般要求分析源和目标x m l 文件的语义和结 构,来发现他们的相似之处,分析后进行手工编码。尽管x s l t 是一种转换功能很强的 语言,它仍然是有缺点的。它是一种较为复杂的语言,而转换时,即使是一个简单的转 换也会要求用户写一个程序,这就需要用户完全掌握x s l t 语言以及编程技巧。并且, 每次将一个x m l 文档转换成另一个x m l 文档时都需要写一个新的x s l t 程序【1 2 】。一些简 化的方法和更正式的转换语言正在开发中,但是x m l 文档的转换仍然很复杂【1 3 】。 1 2 研究的现状 由于x m l 能够提供交换异构信息的统一语法结构而被广泛接受,因此大多数基于 x m l 的信息系统都采用x m ls c h e m a 来描述自身的信息架构。 为了达到集成不同信息系统中的数据,就必须能实现不同x m l 文档间的转化。目前, x m l 文档的转换通常是用手工编写x s l t 代码来完成的,或是通过编写代码实现特定文 档转换,所以需要有一个通用的能够实现自动转换的工具,从而减少人们的手工劳动, 这样既能提高效率又可以减少转换过程中由于疏忽而产生的错误。尤其是对于数据量大 的文档来说用手工转换甚至可能是不现实的【1 2 】。 要能进行不同x m l 文档的互换,首先要解决的问题就是要实现不同信息架构的元素 间的匹配。在数据集成、电子商务、数据存储和语意查询等多种数据库应用领域,信息 架构的匹配是一个非常基本的问题【1 4 】。 目前存在很多集成x m l 文档的映射系统,它们具有优越之处的同时,也存在某些方 面的不足,其中主要的问题在以下几个方面: 1 不能从信息可视化的角度处理x m ls c h e m a 当前已经存在一些比较成功的集成关系的匹配系统,但是这些系统都是从算法的角 度来考虑信息架构元素间的映射关系,而忽略了从信息可视化的角度来描述信息架构。 俗话说,“一副图画胜过千言万语 。如果要匹配的信息架构能够具体形象的呈现在使 用者眼前,那么能将帮助使用者掌握整个匹配的全过程,提高效率。 2 对于模式级的匹配对名称和结构信息的利用不充分 基于模式级的匹配中判断相似性的主要信息有名称、约束和结构【1 2 】。由于应用领域 或设计者理解的不同,在模式中的名称即使是表示相同的意思也会有很大差别。两个模 式也许使用了同义词或缩写,首字母大写等等。有些系统在模式级的匹配中,仅仅比较 判断两个名称是否相等,而没有考虑到同义词、缩写以及对同形异义词的处理,例如, l s d 1 5 】仅使用了相等和同义词关系,d i k e 、a r t e m i s 1 5 1 中也没有对缩写和首字母大写 词进行处理。 2 第一章绪论 3 缺乏对已产生映射信息以及对用户反馈信息的重用 在已有的匹配系统中主要的辅助信息和重用支持的形式有提供字典、术语表以及一 些专用的匹配知识说明。而对于已经产生的匹配结果的重用支持还没有提供。例如, “r e p o r t s t o = m a n a g e r 这样的匹配在之前的匹配操作中已经出现过,或这样的匹配通过 人工调整产生过,则在匹配过程中可以得到重新利用,而不需要再次经过复杂的匹配过 程【12 1 。 4 缺乏对全局x m ls c h e m a 的编辑和更新 通常全局x m ls c h e m a 的创建是由数据集成人员手工来进行的。全局x m ls c h e m a 的创建是依据局部的x m ls c h e m a 。数据集成人员是通过对底层信息的分析后建立一个 共享的领域概念集,也就是全局信息架构,所以能很好地解决语义上和名字上的冲突。 但是一旦全局的x m ls c h e m a 建立后,将不再改变。如局部x m ls c h e m a 中有新的实体信 息产生,如要对全局信息架构再进行扩充,就必须由数据集成人员再次对底层信息进行 分析,重新构建全局的x m ls c h e m a 。 5 缺乏对复杂匹配的研究 无论是对x m ls c h e m a 模式还是x m l 独立文档来说,目前的很多系统只是产生l :1 的简单匹配,而缺乏对它们复杂匹配的研究。例如,前面介绍l s d 、d i k e 、a r t e m i s 都仅实现了简单的l :1 匹配,因而很难自动寻求异构数据之间的映射表达式,如 a d d r e s s = c o n t a c t ( c i t y ,p r o v i n c e ) ,因此,这也是目前研究的一个难点所在【l 2 1 。 1 3 论文所做的工作 1 3 1 论文工作目标 本文的主要目标是研究x m ls c h e m a 的可视化表示方法和对x m ls c h e m a 中的元素 进行匹配的算法,提出一种可视化匹配模型,并将该模型应用于x m l 文档的自动转化中, 最终来实现数据的集成。在可视化匹配模型中,细化的工作目标如下: 1 由于x m ls c h e m a 文档具有层次结构,研究分析现有的层次信息可视化方法,总 结各自的优缺点,找出一种最适合x m ls c h e m a 的元素匹配的信息可视化表示法。 2 针对目前的1 :1 的简单匹配中,模式级的匹配对名称和结构信息的利用不充分的 这一情况,在构建可视化模型的推荐模块时,实现对同形词、同义词、缩写以及对同形 异义词的映射处理。 3 针对用户的反馈信息,提供对已产生映射信息的重用机制。对于用户已经人工调 整的匹配信息在匹配过程中可以得到重新利用,而不需要再次经过复杂的匹配过程。 4 建立对全局x m ls c h e m a 的编辑机制。最初的全局x m ls c h e m a 由数据集成人员设 计好后,以后局部x m ls c h e m a 中有新的实体信息产生,可以由局部的x m ls c h e m a 用户 经过简单的操作,就实现对全局x m ls c h e m a 的更新。 1 3 2 论文的内容组织安排 第一章为绪论部分,首先介绍了问题的研究背景;其次描述了目前相关工作的研究 3 江南大学硕士学位论文 状况和目前的集成x m l 文档的映射系统存在的一些问题;最后概括了论文的工作目标和 内容组织安排。 第二章为x m l 及其相关技术部分,首先简单描述了x m l 的特点,比较了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 ls c h e m a 的优缺点,s a x ( s i m p l ea p i sf o rx m l , 用于x m l 的简单a p i ) 和d o m ( d o c u m e n to b j e c tm o d e l ,文档对象模型) 各自的特点和 应用的范围,然后简明扼要地对x m ls c h e m a 的文档组成部分、d o m 的基本知识、x p a t h 查询语言和x s l t 技术进行了介绍,最后叙述了x m l 应用于数据集成的优点和基于x m l 数据集成方案的提出,为后面所研究的问题奠定了基础。 第三章为基于x m l 的信息系统集成的可视化匹配模型的构建方案。本章从用户的实 际需求出发,给出了该模型的处理流程和体系结构。首先从可视化角度来考虑该模型的 搭建,针对x m ls c h e m a 的层次结构信息的特点,分析了目前表示层次信息的可视化方 法的优缺点,选取了双曲线树( h y p e r b o l i ct r e e ) 来作为信息架构预处理的方式,然后 描述了图形用户界面的组成要素,最后对该模型的主要功能进行了设计。 第四章为基于x m l 的人才信息系统集成的可视化匹配个案实现。本章对用j a v a 语言 和m ys q l 生成的一个用于人y j 信息的可视化匹配工具进行了介绍。先描述了该工具的 系统界面,然后用具体的操作例子说明该工具的系统功能的实现,最后用可用性测试法 对该工具和软件m a p f o r c e 作了一个比较。实验结果证明该工具在处理信息架构匹配的时 候,在某些方面的确l l , m a p f o r c e 更为有效的多。 第五章为总结与展望部分,总结本文所做的工作,针对论文工作的不足之处指出进 一步的研究方向。 1 4 本章小结 本章主要介绍了基于x m l 的信息系统集成的研究背景,以及目前集成x m l 文档 的映射系统的研究状况,进一步分析了现有集成x m l 文档的映射系统存在的问题。并 通过x m l 文档自动转换的任务提出了工作目标,最后概括叙述了论文的内容安排。 4 第二章x r l v l l 及其相关技术 第二章x m l 及其相关技术 2 1 】眦简介 x m l 是由w 3 c 于1 9 9 8 年2 月发布的一种标准,是s g m l 的子集【啦】。从s g m l 中经过 精心修剪而来的x m l 既保持了s g m l 的功能,同时又减少了s g m l 的复杂性。和h t m l 相比,x m l 是面向内容的,具有更多的语义、良好的可扩展性、简单易用、自描述等特 点,深受软件开发商的支持和程序开发人员的厚爱。 x m l 是一套定义语义标记的规则【6 】。与s g 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 t d 和x m ls c h e m a ) ,提供对合法文档的内容模型、元素、属性等的完整 描述,元数据可以根据模式导入文档处理器。有了模式,就可以方便的验证文档的 有效性。 x m l 是开放的。x m l 是基于w 3 c 定制的开发标准,从而使得基于x m l 的应用具有 广泛性。x m l 是非专有并易于阅读和编写的,不同组织开发的x m l 文件格式对于其 他人或应用程序都是可读的。这使得它成为在不同的应用间交换数据的理想格式。 x m l 支持高级搜索【6 】。因为可以知晓文档内容的结构和含义( 根据它的语法规则) , 所以很容易在x m l 文档中进行搜索。 2 2d t d 和x l d ls c h e m a 对x m l 文档的有效结构进行描述比较常见的两种方法是:使用文件类型定义 d t d t l , 1 6 1 和x m ls c h e m a t 3 4 5 】模式。d t d 是早些年x m l 技术领域所使用的最广泛的一种 模式。但是,x m l 中的d t d 明显带有s g m l 的烙印。关键的一点是,d t d 本身并不是 x m l ,而且它只提供了非常有限的数据模型,也不支持名字空间机制,另外d t d 中的内 容模式是不开放的,它不能随意扩充内容【1 7 】,所以w 3 c 于2 0 0 1 年5 月正式推荐x m l s c h e m a 为x m l 的标准模式。显然,x m ls c h e m a 作为x m l 模式描述语言的主流已经是大 势所趋。 d t d 由文档模型提供规则的声明所组成。每个声明包括元素、属性集、实体或表示 法,这四种声明类型构成了任意d t d 块【墙】: 5 江南大学硕士学位论文 元素声明。标识元素的名称和元素内容的特性。 属性声明。标识元素具有的属性、属性类型、值域、默认值等。 实体声明。把一个名称关联到内容的其他某个片段上,该片断可以是一个正规的文 本块、一个文档声明块或一个指向某个含有文本或二迸制数据的外部文件的引用。 表示法声明。表示具体类型的外部数据。d t d 可以内嵌在x m l 文档的首部,也可以 作为一个单独的文档由u r l 指定x m l 文档可以建立一个内部d t d ,此内部d t d 定义 应位于x m l 文档的声明与x m l 文档主体之间。 x m ls c h e m a 相对于d t d 的明显好处是x m ls c h e m a 文档本身也是x m l 文档,而不 是像d t d 一样使用自成一体的语法【1 8 】。d t d 不是x m l 文档,在编程上满足不了x m l 数 据文件的操作需求。而x m ls c h e m a 与处理x m l 数据文件一样使用同一工具,不必为 x m ls c h e m a 开发特殊工具,使得开发工作量减少很多【1 9 1 。x m ls c h e m a 的地位与影响 力与日俱增,采用x m ls c h e m a 描述x m l 文档己成为x m l 发展的一个趋势,下面给用 d t d 的缺点和x m ls c h e m a 的优点。 d t d 的缺点如下【6 】: d t d 几乎完全没有数据类型的定义,特别是对元素的内容而言。 d t d 的定义不符合x m l 语法。 d t d 只能有限地进行扩展,而且扩展得不是很好。 d t d 的约束定义能力不足,无法对x m l 实例文档做出更细致的语义限制。 d t d 的结构不够结构化,重用的代价相对较高。 相对于d t d 而言,x m ls c h e m a 有很多优点: x m l s c h e m a 使用一种类x m l 语言编写,其实质是一种x m l 应用,而d t d 是用一种 与x m l 完全不同的特殊语法编写的; x m ls c h e m a 可以采用和x m l 文档同样的方法验证自身格式的正确性,而d t d 贝j j 不 能; x m ls c h e m a 继承了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 支持综合命名空间,d t d 则不支持; x m ls c h e m a 既有全局声明也有局部声明,可以视情况而定。d t d 中的所有声明都 是全局声明。 本节并不打算全面细致地介绍x m ls c h e m a 的知识,只是为了本文后面的需要进行 概括性的介绍,如果要了解更多的x m ls c h e m a 知识请参考文献【3 ,4 ,5 1 。x m ls c h e m a 的文 档组成部分如下【2 0 】: ( 1 ) 模式元素: x m ls c h e m a s ;:身就是x m l 文档,因此也具有良好的和规范的格式。x m ls c h e m a 6 第二章x m l 及其相关技术 的根元素总是命名空间中的模式元素。 ( 2 ) 简单元素: 简单元素基本格式: 。模式的 主体是元素,每个元素都与一种数据类型关联。x m ls c h e m a 已定义了基本数据类型, 用户可以基于这些数据类型进行扩展。简单元素不包含子元素和属性,它的数据类型是 简单数据类型。定义简单元素的时候还可以通过该元素标签包含d e f a u l t 属性来定义默认 值。 ( 3 ) 属性: 属性的基本格式: 。属性还 可以使用a t t r i b u t e 标签的f i x e d 属性、d e f a u l t 属性和u s e 属性。f i x e d 表明该属性值固定为某 个值,d e f a u h 用来设定属性的默认值,u s e 来定义该属性是否是必需的。 ( 4 ) 限制: 如果对某个属性值设定了类型,那么s c h e m a 可以确保x m l 文档不会写入与定义不符 的数据。比如把属性类型定义为i n t e g e r ,那么如果传递y 非i n t e g e r 数据就无法通过验证, 这就是限制2 1 1 。有时需要对数据进行更为严格的限制,比如月份只是l 到1 2 的数字,则 可以创建一个简单的月份数据类型,该类型扩展t i n t e g e r 类型。 ( 5 ) 复杂元素: 复杂元素是内部含有子元素或者属性的元素。定义复杂元素所使用的语法与简单元 素的类似,基本格式如下: 2 3s a x 和d o m 由于x a 4 l 文档实际上一个文本文件,应用程序并不是直接对x m l 文档进行操作的, 而是首先由x m l 分析器对x m l 文档进行分析,对信息进行分析、读取和处理。s a x 和 d o m 是目前x m l 的主流x m l 文档处理接口【2 2 】。s a x 是x m ld e v $ b 件列表中的成员根 据应用需求制定的一套民间应用程序接口标准,而d o m 是w 3 c 组织制定的应用程序官 方接口标准【2 3 】。 s a x 提供了一种对x m l 文档进行顺序访问的模式,这是一种快速读写x m l 数据的 方式。s a x 是基于事件驱动的,当使用s a x 分析器对x m l 文档进行分析时,就会触发一 系列事件( 进入或离开文档、元素、属性、子树时产生) 2 3 】,再激活相应的事件处理函 数,从而完成对x m l 文档的访问。 使用s a x 的过程有两步:首先用户使用s a x 的a p i 来定义元素标记事件,然后启 用解析器来解析x m l 文档。当解析器遍历x m l 文档时遇到用户定义过的元素标记事件 时产生事件,该事件将驱动应用调用响应的程序去处理该特定的元素。否则,解析器继 续解析。基于事件的方法使s a x 为应用开发者提供了处理特定元素的方法,而不必要求 在应用层次处理之前预先建好元素。处理过程实时进行。这对需要处理元素子集或处理 7 江南大学硕十学位论文 大规模x m l 文档时特别有效,否则建立大量对象时会耗费大量内存。s a x 用于顺序读取 文档,速度快,但不能回退,使用不方便,而d o m 是基于树的对象模型,一次读取整 个文档,面向对象,使用方便,但占用更多资源,不适合用于较大的x m l 文档【2 4 1 。 d o m 是由w 3 c 提出的标准化的编程接口。d o m 是一组对象的集合,通过操纵这些 对象,程序员能操纵x m l 数据。利用d o m 中的对象,可以对文档进行读取、遍历、修 改、添加以及删除等操作。 d o m 提供了一种可以应用于不同环境和应用中的标准程序接口,可以用任何语言 来实现d o m 接口。利用对象把文档模型化,这些模型不仅描述了文档的结构,还定义 了模型中的对象的行为。在d o m 中用对象模型来描述文档的逻辑结构,对象模型要实 现:用来表示、操作文档的接口、接口的行为和属性、接口之间的关系及互操作。在d o m 中,文档的逻辑结构类似一棵树。文档、文档中的根、元素、元素内容、属性、属性值 等都是以对象模型的形式表示的。d o m 中还包含注释、处理指令、文档类型、实体、 实体引用、名空间、事件、样式表等多种对象模型。利用d o m ,程序开发人员可以动 态的创建文档,遍历文档结构,添加、修改、删除文档内容,改变文档的显示方式等【2 4 1 。 d o m 解析存在如下一些问题【2 5 】:d o m 构建整个文档驻留内存的树。在内存中加 载整个文档和构建完整树结构成本很高,尤其当文档非常大的时候。典型的d o m 树的 容量比文档容量要大一个数量级,所以它要消耗大量内存;整个x m l 文档必须一次解 析完成,不可能只做部分解析。如果只需关注x m l 文档的一小部分,那么创建那些永远 不被使用的对象是极其浪费的;d o m 解析器必须在应用程序代码取得控制权之前读 取整个文档。对于非常大的文档,这会引起显著的延迟。 本节考虑到后面的实际需要,对d o m 的基本知识做个简单的介绍,如果要了解更 多的d o m 矢 i 识请参考文献 2 0 , 2 6 , 2 7 】。 d o m 中最基本的对象就是节点,它的接口定义如下:从n o d e 派生出的几个比较重 要的节点类型有d o c u m e n t 、e l e m e n t 、a t t r i b u t e 和t e x t 。d o m 定义了以下一系列的对象和 方法对d o m 树的节点进行各种随即操作:d o c u m e n t 节点,即文档对象,作为树的最 高节点,d o c u m e n t 对象是对整个文档进行操作的入口。e l e m e n t 和a t t r i b u t e 节点类型, 这些节点对象都是文档某部分的映射,节点的定级层次恰好反映了文档的结构。 t e x t 节点类型,作为e l e m e n t 和a t t r i b u t e 对象的子节点,t e x t 对象表达了元素或属性的文 本内容。t e x t 节点不再包含任何子节点。集合索引:d o m 提供了集中集合索引方式, 可以对节点按指定方式进行遍历。索引参数都是从0 开始计数唧j 。 除了n o d e ,d o m 里还有两个比较重要的对象: n o d e l i s t 接口类提供了对节点集合的抽象定义。n o d e l i s t 用于表示有顺序关系的一 组节点。在d o m 中,n o d e l i s t 的对象是动态的,也就是说对文档的改变,会直接反映到 相关的n o d e l i s t 对象中。n o d e l i s t 中的每个i t e m 都可以通过一个索引来访问,该索引值从 0 开始。 n a m e d n o d e m a p 类是可以通过名字来访问节点的集合。它表示的是一组节点和其唯 的名字的对应关系,这个对象主要用在属性节点的表示上。 8 第二章x m l 及其相关技术 在s a x 与d o m 之间如何选择取决于以下几个因素: ( 1 ) 应用程序的目的:如果必须对数据进行更改,并且作为x m 啪它输出,则在 大多数情况下,使用d o m 。与使用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 ) 转换来完成的 简单结构更改不一样,如果是对数据本身进行更改,则尤其应该使用d o m 。 ( 2 ) 数据的数量:对于大文件,s a x 是更好的选择。 ( 3 ) 将如何使用数据:如果实际上只使用一小部分数据,则使用s a x 将数据抽取 到应用程序中,这种方法更好些。另一方面,如果知道将需要向后引用已经处理过的信 息,贝s j s a x 可能不是正确的选择。 ( 4 ) 需要速度:通常,s a x 实现l l d o m 实现快【2 引。 但是,有一点很重要:s a x 和d o m 不是互斥的。可以使用d o m 束创建事件的s a x 流,可以使用s a x 来创建d o m 树,在实际应用中,大多数的解析器常用s a x 来创建d o m 树。 2 4x p a t h 查询语言 x p a t h 是由w 3 c 创建的。在w 3 c 的规范旱,对x p a t h 的描述是这样的【1 0 , 1 1 】:x p a t h 是 致力于为x s l t 7 , 8 , 9 1 和x p o i n t e r t 2 9 1 的公共功能提供一种共同的语法和语意的结果。x p a t h 的主要目的是对一个x m l 文档进行寻址。 一个定位路径由若干个定位步组成,一个定位步又包含三部分 6 , 1 0 , 11 】: 一个轴,它指定了定位步选择节点与上下文节点之间的树状关系。 一个节点测试,它指定定位步选择节点的类型或节点名。 零个或多个谓词,它使用专有的谓词表达式来进一步筛选定位步选择的集合。 定位步的语法是由两个冒号分开的轴名和节点测试组成,其后可跟随零个或多个由 方括号界定的谓词表达式。例如,在定位步c h i l d :s e c t i o n t i t l e = ”l o c a t i o np a t h ”】中,c h i l d 是轴名,s e c t i o n 是节点测试,而 t i t l e = ”l o c a t i o np a t h ”1 则是一个谓词。 x p a t h 支持11 种定位轴( 不考虑a t t r i b u t ea x i s 和n a m e s p a c ea x i s ) ,x p a t h 中的轴分成 两类:前向轴( f o r w a r da x i s ) 和反向轴( b a c k w a r da x i s ) 。前向轴包括c h i l d ,d e s c e n d a n t , s e l f , d e s c e n d a n t - o r - s e l f , f o l l o w i n g s i b l i n g ,f o l l o w i n g 共6 个轴。反向轴包括p a r e n t ,a n c e s t o r , p r e c e d i n g s i b l i n g ,p r e c e d i n g ,a n c e s t o r - o r - s e l f 以下是常用到的轴【6 , 1 0 , 11 】: c h i l d 轴:选择上下文节点的孩子; d e s c e n d a n t 轴:选择上下文节点的后裔。上下文节点的后裔是由上下文节点的所有孩 子以及所有孩子的后裔组成,因此,后裔轴不包含属性节点、命名空间节点。 p a r e n t 轴:选择上下文节点的父节点。 a n c e s t o r q 驻l :选择上下文节点的祖先。上下文节点的祖先由上下文节点的父节点以及 父节点的祖先组成。 f o l l o w i n g s i b l i n g 轴:选择上下文节点的所有在其后( 右) 的兄弟,如果上下文节点 是属性节点或命名空间节点,贝j j f o l l o w i n g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年人常见疾病护理课件
- 老年人家庭知识培训课件
- 统编版八年级语文上册暑假预习《文言文》早背晚默小纸条
- 老干郭工作业务知识课件
- 人教版八年级英语下册期末复Unit1-习Unit10单词短语句子综合练习
- 2025版人防工程军事训练场地设计与施工合同
- 2025版健身房教练业绩提成合同下载
- 2025版汽车底盘检测台租赁服务协议
- 2025瓷砖材料国际贸易采购合同范本
- 2025年旅游代签合同委托书专业范本
- 高考历史一轮复习资料(人教版)专题二古代中国的农耕经济专题质量检测(A卷)
- 2025 年小升初沈阳市初一新生分班考试数学试卷(带答案解析)-(人教版)
- 高校学管中心面试真题与答案解析
- 卵巢保养课件教学
- 2025至2030全球及中国医疗设备维修服务行业项目调研及市场前景预测评估报告
- 防雷防静电培训考试试题及答案
- 测绘工程技术专业介绍
- 交警舆情课件
- 二年级语文上册语文教学研究计划
- 2025年广西公需科目考试试题及答案(供参考)
- 中医与现代医学融合的健康体重管理策略
评论
0/150
提交评论