版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南京航空航天大学硕士学位论文摘 要随着计算机技术的发展,目前异构数据集成问题成为人们研究的热点。多数据源集成系统为访问异构数据源提供统一接口,使得查询者可以执行统一查询而不必考虑异构数据源之间的差异。由于 XML 具有强大的结构和语义表达能力,因此将 XML 技术引入到数据集成领域很有意义。本文以民用飞机多数据源集成为背景,进行基于 XML 异构数据源集成研究,重点解决异构数据源模式集成、查询分解转换等问题并且开发了原型系统。本文的主要工作如下:123采用 XML Schema 描述局部数据源数据模式,比较 XML Schema描述的局部数据源的数据模式,找出它们之间的差异并通过一定算法消除差
2、异得到全局模式,同时还得到局部数据源数据模式与全局模式之间的映射关系。将基于全局模式的 Xpath 查询分解为针对个局部数据源的查询,同时介绍了将 Xpath 查询转换为关系数据库所能执行的 SQL 查询,并且描述如何将查询结果转化为 XML 格式。借助 Web 服务的服务思想,运用 Web 服务相关技术建立民用飞机多数据源集成原型系统,介绍了该原型系统所采用的中间件系统体系结构,分别描述了原型系统中不同层次的结构、类、接口信息以及该系统的相关信息。通过本文的工作,为将来更大范围、更加完善地开发民用飞机多数据源集成系统建立基础。关键词:集成,模式集成, XML, Web 服务, Schema,
3、 XpathI基于 XML 多数据源集成技术研究及在民机领域应用ABSTRACTWiththedevelopmentofcomputertechnology,theresearchofheterogeneous data integration has become a hotspot. The system of dataintegration provides uniform interface to a lot of data sources, so operators donthave to consider the heterogeneity among them. For the
4、capacity of describingstructural and semantic information, it is significant to import XML into dataintegration.This paper introduces the research of data integration based on XML, whichis applied on civil aircraft. It focuses on heterogeneous schema integration andquery decomposing in this area, th
5、en develops a prototype. The main work of thispaper is as follow:1.2.3.XML schema is used to express the schema of all data source, and theheterogeneity will be found by comparing the XML schema, then theglobal schema will be received by eliminating the heterogeneity,finally the mapping rule between
6、 them is generated.The xpath query based on global schema is decomposed into manyqueries based on local schema, and xpath will be mapped into SQLand then results from data sources will be transformed into XML.Building the prototype data integration system of civil aircraft,introducingmediatedstructu
7、reofthissystem.Furthermore,information of structure, class, interface of each layer is describedalso.The work of this paper will build the infrastructure for developing perfect dataintegration system of civil aircraft.Key words: integration, schema integration, XML, Web Service,Schema, XpathII承诺书本人郑
8、重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本人授权南京航空航天大学可以有权保留送交论文的复印件,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文。(保密的学位论文在解密后适用本承诺书)作者签名:日期:基于 XML 多数据源集成技术研究及在民机领域应用图目录图 2.1联邦数据库体系结构 .6图 2.2 中间件(Mediate)系统体
9、系结构 .7图 2.3 数据仓库体系结构 .8图 2.4 文档的 DOM 模型 . 13图 3.1 系统体系结构图 . 18图 3.2 中间件体系结构图 . 19图 3.3 封装器体系结构图 . 19图 3.4 Web 服务交互图 . 21图 3.5 .NET 平台架构图 . 23图 4.1 模式集成示意图 . 30图 4.2 模式转换过程图 . 33图 4.3 表名差异 . 37图 4.4 字段名差异消除 . 38图 4.5 数据模式集成程序图 . 45图 4.6 表元素 System_FUNCTION 与表元素 FUNCTION 映射关系 . 45图 4.7 规则映射文件 . 46图 5.
10、1 查询处理过程 . 51图 5.2 全局查询链表 . 53图 5.3 查询分解树图结构 . 55图 6.1 维修计划制定工作相关数据源分布图 . 60图 6.2 民机多数据源集成原型系统部署图 . 67图 6.3 添加 Web 引用 . 69图 6.4 QueryUser 查询接口 . 69图 6.5 QueryUser 查询接口返回查询结果 . 70图 6.6 QueryApp 查询接口返回查询结果 . 70VI南京航空航天大学硕士学位论文表目录表 4.1 数据表 System_FUNCTION . 34表 4.2 数据表 T_DATASOURCE 定义 . 48表 4.3 数据表 T_T
11、ABLE 定义 . 48表 4.4 数据表 T_FIELD 定义 . 49表 4.5 数据表 T_WORD 定义 . 49VII南京航空航天大学硕士学位论文第一章 绪论1.1 引言伴随着网络技术的发展与推广,特别是 Internet 的推广与普及,网络上的信息迅速增长,网络上各种数据如结构化数据,半结构化以及各种非结构化数据已经使网络成为一个巨大的信息库。结构化数据如传统的数据库数据,半结构化数据如 html、xml 数据等等,不同的数据由于各自之间平台差异、数据库技术不同等原因,造成不同数据统一管理以及数据之间交互的困难。如何能够更好的管理和利用网络上各式各样的数据已经成为一个迫切需要面对和
12、解决的问题。异构数据集成技术可以解决上述问题。异构数据集成的首要任务是通过集成各局部数据源的数据模式得到全局数据模式。以往异构数据集成系统,如联邦数据库系统、数据仓库系统等通常采用关系数据模式作为全局模式,因此这些系统只能集成如关系数据库这类的数据源,而对于其它一些数据源,如半结构化数据数据源则无能为力,限制了它们的使用范围。XML 作为 W3C组织提出的一个标准,正日益成为不同应用中数据交换的标准,XML 作为一种新的数据表示和数据交换标准,它的一个显著的优点就在于它可以表示不同类型的数据,允许不同来源数据的无缝集成。因此通过引入 XML,可以很好地解决异构数据集成问题。在民用飞机领域,存在
13、着大量这样相互之间逻辑上存在关联的异构数据源,在很多应用中,需要实现对这些数据源透明地访问,因此在民用飞机领域引入多数据源集成系统具有实用价值。1.2 问题提出数据集成问题由来已久,集成数据的存放已由集中式的存放转变为分布式存放,但是这些数据之间存在着千丝万缕的联系,数据并非存放在各个数据孤岛上,当面对用户具体应用的时候,需要将所有的数据逻辑上有效的集成起来,能够对数据进行整体操作。然而数据集成是一个十分复杂的过程,数据集成过程中所面对的数据是千差万别的,数据源可能是关系型数据库,也可能是各种半结构化的文本等等,同时关系型数据库中不同的数据库也存1基于 XML 多数据源集成技术研究及在民机领域
14、应用在着差别,因此多数据源集成一个很大的问题就是如何解决这些差异问题。因此在多数据源集成问题中如何解决分布数 据的异构性,实现用户的透明访问是我们考虑的主要问题 1:1 异构性:异构性发生在系统的各个层次上,包括硬件、操作系统和网络通讯协议差别,其次不同的数据源也存在着差异,不同的数据源依赖于不同的数据模型,如关系数据模型,面向对象关系模型等等,还有在不同的数据源中可能存在着对相同实体的不同的描述信息。2 透明性:对于用户来说,透明性好意味着屏蔽了软硬件平台的差别,屏蔽了不同数据源的差别,用户访问一个多数据源的系统就像是在同一个平台上访问同一个数据源。在民用飞机领域,飞机设计部门、制造商、航空
15、公司等部门它们的应用系统通常由自己开发,各单位都拥有自己的数据源,在飞机设计、制造和运营过程中这些部门积累了大量相关数据,因此不同的单位对于同一数据的描述可能存在着差别,这样就构成了一个复杂的异构数据环境。民用飞机维修交互式电子手册 (IETM)是实现民用飞机数字化维修的软件系统,它通过查询、集成来自飞机设计部门、制造商以及航空公司的不同数据信息来指导民机的维修工作,代替了传统的纸制技术文档和技术手册从而提高了工作效率,降低了使用费用。在民用飞机交互式电子手册的研发过程中,如何将相关数据源集成起来供交互式电子手册查询就成了我们必须解决的问题,这也是本文所要重点解决的问题。1.3 研究现状以往多
16、数据源集成多采用多数据库集成技术,通过统一的数据定义和操作语言,实现对不同数据源的具体操作,代表的有 IBM 的 TSIMISS 项目,GARLIC项目等,但是随着发展,多数据库集成技术已经越来越不能满足人们的需要,如集成的数据不仅仅是数据库数据,还可能包括一些半结构化的数据(XML,HTML 文件),同时由于多数据库集成技术的可扩展性不佳,对于在后来使用过程中加入新的数据源比较困难。在民用飞机相关领域,国外著名飞机制造商如波音、空客在这方面都有比较深入的研究并且已经有产品供客户使用。如空客的 AirNv 系统,该系统采用多数据库集成技术实现了维修计划系统(MPS)数据源、电子文件数据库2南京
17、航空航天大学硕士学位论文数据源以及维修手册(AMM)数据源等数据源的集成。目前国内民用航空领域,由南方航空公司开发供机务部使用的机务维修辅助系统采用数据仓库系统及XML 相关技术实现了各型号飞机维修数据的集成,实现了维修工作的数字化管理,在机务维修工作中产生了很好的经济价值。多数据源集成系统的作用就是提供一个统一的查询界面,能够支持对分布的异构数据源进行集中的查询,其核心为用一种数据模式来描述不同数据源中的数据。因此作为多数据源集成系统的全局模式必须满足以下几点要求21.2.能够描述各种数据格式,无论是结构化数据或者是半结构化数据。易于发布和进行数据交换。XML 作为 W3C 组织提出的标准,
18、具有很好的自描述性、跨平台性和可扩展性等特点,成为在不同应用中数据交换的标准。通过使用 XML 可以描述各个异构数据源,同时方便了不同平台间数据的访问和交换。因此目前有很多应用将 XML 技术引入到多数据源集成中。1.4 论文主要工作及结构本文首先在具体工程背景下(民用飞机多数据源集成系统)介绍了开发多数据源集成平台的必要性,同时在多种数据集成体系结构中选取一种合适的体系结构建立数据查询平台。论文将重点阐述基于 XML 多数据源集成,数据查询。在已有的多数据源集成的理论、技术基础之上,结合相关工程背景,建立一个民用飞机多数据源集成原型系统。第二章主要是背景知识的介绍。分别介绍了 XML 相关技
19、术标准、内容以及关于数据集成体系结构的内容。第三章介绍了多数据源集成系统体系结构框架。介绍了本系统采用所采用的中间件系统体系结构,以及该体系结构中不同层次的描述。同时还介绍了该体系结构的具体实现所涉及的技术:Web 服务。介绍了.NET 平台框架以及 Web 服务在其上的实现。最后给出了民用飞机多数据源集成系统体系结构中各个层次的实现描述并总结了该系统体系结构的特点。第四章主要介绍了模式集成问题。首先介绍了模式集成中一些常见的问题和模式集成的方法。然后介绍了基于 XML 的模式集成方法,详细介绍了基于 XML 模式集成方法在模式集成过程中的三个步骤:模式转换、模式比较和模式合成。3基于 XML
20、 多数据源集成技术研究及在民机领域应用第五章主要介绍了多数据源集成系统中查询处理过程。分别详细介绍了中间件层和封装器层的查询处理过程、实现方法以及查询结果转换过程。第六章主要介绍了民用飞机多数据源集成系统的原型系统,给出了该系统中各层实现的详细描述,以及系统部署中的相关问题,最后给出了一个查询实例。第七章总结全篇论文,指出了在后继工作中需要进一步完善的地方。4南京航空航天大学硕士学位论文第二章 背景知识介绍在本章中,我们将介绍关于本论文的工程背景以及一些背景知识(如 XML, 数据集成体系结构等等)。2.1 民机维修交互式电子手册相关数据源介绍民用飞机维修交互式电子手册代替了以往纸制手册的功能
21、,用来指导机务人员执行民机维修任务。维修交互式电子手册提供查询、交互式排故指导以及为航空公司提供维修工卡的功能。由于民用飞机本身系统结构的复杂性,因此维修交互式电子手册需要实现以上功能需要访问关于飞机设计、制造和运营的各项数据。以国产某型号民用飞机为例,该型号飞机的设计数据由飞机设计院提供,制造数据由各个部件供应商提供,而运营数据由航空公司提供。这些数据来源于不同单位部门各自应用系统的数据源,由于这些系统由各单位部门自己开发,因此不同数据源互相异构。维修交互式电子手册中需要访问维修大纲 (MRB)数据源、维修计划文件 (MPD)数据库以及飞机维修手册 (AMM)数据源,这些数据源头可能分布在
22、Internet 或者 Intranet 上,也可能在同一台服务器上。因此我们需要一个多数据源集成系统来集成这些数据源,为维修交互式电子手册提供一个统一的查询接口。下面我们介绍关于多数据源集成系统体系结构方面的内容。2.2 数据集成体系结构目前有多种集成异构数据源的体系结构,最常见的有三种 11:联邦数据库、中间件、数据仓库。下面分别介绍这三种体系结构。2.2.1 联邦数据库系统联邦数据库系统 12(Fedrated Database System,FDBS)是由参与联邦的半自治的数据库系统组成,目的是实现数据库系统间部分数据的共享。联邦中的每个数据库的操作是独立于其它数据库和联邦的。之所以叫
23、“半自治”是因为联邦中的所有数据库都添加了彼此访问的接口。联邦数据库分为紧耦合联邦数据库系统和松耦合联邦数据库系统。5基于 XML 多数据源集成技术研究及在民机领域应用紧耦合联邦数据库系统有一个或者几个统一的模式,这些模式可通过模式集成技术半自动生成,也可通过用户手工构造。要解决逻辑上的异构,就需要领域专家决定数据库模式间的对应关系。由于模式集成技术不易添加/删除联邦数据库集成系统中的数据库,所以紧耦合联邦数据库系统通常是静态的,且很难升级。松耦合联邦数据库系统没有统一的模式,但它提供了一些查询数据库的统一语言。这样联邦数据库系统中的数据库更具有自治性,但必须用户解决所有语义上的异构。由于松耦
24、合联邦数据库系统没有全局模式,所以,每个数据库都要创建自己的“联邦模式”。联邦数据库系统中实现互操作最常用的方法是将每个数据库模式分别和其它所有数据库模式进行映射,这样的例子如图 2.1 所示。这样联邦中需要建立 n n-1)个模式映射规则,但当参与联邦的数据库很多(n 值很大)时,建立映射规则的任务变得不可行了。所以,联邦数据库集成系统适合于自治数据库的数量比较小。DB1DB1图 2.1DB1DB1联邦数据库体系结构2.2.2 中间件系统中间件系统 1314通过提供所有异构数据源的虚拟视图来集成它们,这里的数据源可以是各种数据库、web 数据源、半结构化数据数据源等等。该系统提供给用户一个全
25、局模式,用户提交的查询是针对该模式的,所以用户不必知道数据源的位置、模式及访问方法。中间件体系结构与紧耦合联邦有如下不同之处:(1) 中间件系统可以集成非数据库数据源(2) 由于中间件系统中可以集成非数据库数据源,因此基于中间件系统中的数据源的查询能力可以是受限制的,数据源可以不支持 SQL 查询。6(南京航空航天大学硕士学位论文(3) 中间件系统中的数据源是完全自治的,这就意味着很容易向/从系统中添加/删除数据源(4) 由于中间件系统中的数据源是自治的,所以对系统中数据源的访问通常是只读的。图 2.2 所示的是典型的中间件系统体系结构。该系统的主要部分是中间件和针对每个数据源的封装器( Wr
26、apper)。这里中间件的功能是接收针对全局模式生成的查询,根据数据源描述信息及映射规则将接收的查询分解成局部数据源的子查询,再根据数据源描述信息优化查询计划,最后将子查询发送到每个数据源的封装器。封装器将这些子查询翻译成符合每个数据源模型和模式的查询,并把查询结果返回给中间件。中间件将接收的所有数据源的结果合并成一个结果返回给用户 .包装器中间件包装器元数据数据源数据源图 2.2 中间件(Mediate)系统体系结构2.2.3 数据仓库系统该方法需要建立一个存储数据的仓库,由 ETL(extract,transform,and load)工具定期从数据源过滤数据,然后装载到数据仓库,供用户查
27、询。数据仓库体系结构图如图 2.3 所示。用数据仓库集成异构数据源也需要统一的数据视图 15,但不同的是 ETL 工具过滤得到的数据存储到数据仓库中。与传统的数据库不同的是数据仓库中主要存储的是历史和汇总数据,为避免数据仓库与数据源中数据出现不一致,通常不允许用户对数据仓库进行更新操作。7基于 XML 多数据源集成技术研究及在民机领域应用用户查询ETL 工具数据仓库结果ETL 工具数据源数据源图 2.3 数据仓库体系结构考虑到在维修交互式电子手册的数据来源特点,同时考虑到以后易于扩展我们的系统,我们采用中间件系统体系结构,通过在中间件层中将各个独立数据源的模式信息集成为一个全局数据模式,用户根
28、据全局模式提交查询,由中间件层将针对于全局模式的查询分解为针对各个局部数据源的查询,各个局部数据源将查询结果返回至中间件层,由中间件层将各个查询结果汇总返回给用户。在该结构中,中间件层提供了用户查询全局模式的统一接口,包装器层实现了统一查询到局部数据源查询的转换。在确定了多数据源集成的体系结构之后,我们需要考虑该体系结构中全局数据模式与局部数据模式的生成问题。我们通过引入 XML 相关技术来表示全局数据模式与局部数据模式解决该问题。下面我们开始介绍 XML 相关技术。2.3 XML 内容介绍XML(eXtensible Markup Language) 34是 W3C 组织创建的一组规范。XM
29、L是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识,是一套标记语言。XML 有两个先驱-SGML 和 HTML,这两个语言都是非常成功的标记语言,SGML 的全称是标准通用化标记语言,SGML 非常复杂,因此对于网络上的日常应用不是十分合适。不仅如此,SGML 而且非常昂贵。而 HTML 具有免费、简单的特点,而且它获得了广泛的支持。它是一个非常简单的 SGML 语言,可以方便的使用。1996 年人们开始致力于描述一个置标语言,它既具有 SGML 的强大功能和可扩展性,同时又具有 HTML 的简单性。因8南京航空航天大学硕士学位论文此 W3C 于 1998 年 2 月批
30、准了 XML 的 1.0 版本。2.3.1 XML 的相关标准介绍W3C 组织设定了几个工作组专门讨论与制定 XML 相关的技术标准,XML标准还在进一步完善和发展之中,与 XML 标准相关的工作组及相关技术标准包括:1) XML Core Working Group:关于 XML 自身的规范标准。2) XML Linking Working Group:包括 XML Linking Language 和 XMLPointer Language 等标准。3) XML Query Working Group:关于 XML 查询语言规范标准。4) XML Schema Working Group:
31、关于模式的规范标准。5) XML Encryption Working Group:关于 XML 安全相关标准。这些标准都是对 XML 标准的不断完善与补充。XML 自身规范主要包含 3 个部分:DTD(Document Type Definition 文档类型定义)/Schema(模式)、XSL(eXtensible Stylesheet Language 可扩展样式语言)和 XLink(eXtensible Link Language 可扩展链接语言)。DTD 定义了 XML 文件的逻辑结构,给出了 XML 文件中的元素、元素的属性以及元素和元素的属性之间的关系。XML Schema(模式
32、)的功能与 DTD 的功能相似,只是 Schema 本身也是一个特殊的 XML 文件,此外它还给 XML 加入了描述数据类型的功能,XSL 定义了 XML 文件内容的表现方式,由于它的存在,使得XML 数据的内容与数据的表示方式相互独立,这也是相对于 HTML(内容与显示混合在一起)的一个优点;XLink 扩展了目前 WEB 上已有的简单链接,是描述资源间进行链接的语言。在本论文中主要使用 Schema(模式)来描述各个局部数据源的模式以及全局数据源模式,具体内容将在后面章节中具体介绍。2.3.2 XML 的优点XML 作为 SGML 的一个子集,他集成了 SGML 和 HTML 的优点,具体
33、来说,具有如下优点:(1)良好的可扩展性在具体的实际应用中,不同的行业会有不同的标准、不同的特殊要求,要想定义一套各行各业能够普遍应用的标记是不现实的。而 XML 允许各种不同的专业(如音乐、化学、数学等)开发与自己的特定领域相关的标记语言。9基于 XML 多数据源集成技术研究及在民机领域应用这就使得该领域中的人们可以交换数据和信息,而不用担心接收端的人是否有特定的软件来创建数据。(2)内容和形式相分离XML 文档用于描述数据及其相互之间的关系,XSL 和 CSS(层叠样式表)是用于控制如何显示这些内容。这样,同一内容可以根据实际要求呈现多种表现形式,用户可以通过 XSL 和 CSS 自行定制
34、数据显示方式。(3)遵循严格的语法要求XML 非常注重准确性,如果语法有丝毫错误,分析器都会停止对它的进一步处理。而 HTML 的语法要求并不严格,浏览器可以显示有语法错误的HTML 文件。这样,保证 XML 文档具有较好的可读性和可维护性。(4)便于不同系统之间信息的传输由于 XML 是非专有的且易于阅读和编写,因此使得它成为在不同的应用间 交 换 数 据 的 理 想 格 式 。 在 一 些 异 构 的 平 台 (Windows 、 UNIX) 和 数 据 库(Oracle、SQL Server、 DB2)之间交互信息,XML 因为它的特点成为交换语言的首选,成为交换数据的理想格式。( 5)
35、具有较好的保值性过去几十年来的大多数计算机数据都丢失了,不是因为自然损害或是备份介质的磨损,而只是因为没有人来写出如何读取这些数据介质和格式的文档。XML 在基本水平上使用的是非常简单的数据格式。可以用 ASCII 文本来书写,也可以用几种其他定义好的格式来书写。XML 不但能够长期作为一种通用的标准,而且很容易和其它格式的文档转换。2.3.3 XML 相关技术介绍(1)Schema5XML Schema 是一个基于 XML 的语法或 schema 规范,用来定义 XML 文档的标记方式。它与文档类型定义(DTD)相比具有很大的优势,DTD 是最初用来定义 XML 模型的 schema 规范。
36、DTD 存在很多缺点,包括使用非 XML 语法,不支持数据类型定义,不具有扩展性等。XML Schema 从几个方面改善了 DTD,包括使用 XML 语法,支持数据类型定义和名域。例如,XML Schema 允许你把一个元素说明为一个 integer,float,Boolean,URL 等类型。Schema 文件通常保存在扩张名为.xsd 文件中,这个文件可以在任何一个知道如何保存 Unicode 文件的文本编辑器中编写,如果在编码定义中进行说明,也可以使用不同的字符集。模式文档是 XML 文档,具有其他 XML 文档的10南京航空航天大学硕士学位论文所 有 特 性 和 实 现 方 法 。 模
37、 式 的 根 元 素 都 是 schema, schema 必 须 位 于/2001/XMLSchema 名称空间中,通常这个名称空间使用前缀 xsd 或者 xs,但只要 URI 是相同的,就可以进行修改。另外一种常用的方法是将这个 URI 变成默认的名字空间,这时就要求使用一些额外的属性来帮助将模式描述的 XML 应用程序的名字与模式元素本身的名字区分开。Schema可以通过声明元素、属性、顺序、复杂类型等来确定 XML 文档的内容。元素声明属性声明顺序元素声明用来声明元素在 XML 实例文档中出现的顺序复杂类型.(2)XML 文档解析在程序开发设计中,如果需
38、要对 XML 文档进行访问与操作,必须通过能够识别 XML 语法的分析器来实现,目前存在两个标准的应用程序接口 6:DOM与 SAX。1)DOM(Document Object Model,文档对象模型),最先用于 DHTML,实际上就是 HTML 文档和 XML 文档的应用程序接口,它提供了一种分层对象模型来访问 XML 文档中信息的方式,这些分层对象模型依据 XML 文档的结构形成了一棵节点树。DOM 作为 W3C 的标准接口规范,由三部分组成:核心(Core)、HTML 和 XML。核心部分是结构化文档比较底层对象的集合,已经可以表达出任何 HTML 和 XML 文档中的数据了,DOM
39、组成中的 HTML 接口和XML 接口专为操作具体的 HTML 文档和 XML 文档而提供的高级接口,使操作这两类文件更加方便。一个 XML 分析器,在对 XML 文档进行分析之后,文档中的信息都会被转化成一棵对象节点树。在这棵节点树中,有一个根节点11基于 XML 多数据源集成技术研究及在民机领域应用Document 节点,所有其它节点都是根节点的后代。如下所示的 XML 文档:STRPROJNUM_F_G STRFUNCTION_F_G STRMSI_F_G该 XML 文档的 DOM 模型如图 2.4 所示.2)SAX(Simple API for XML,XML 简单应用程序接口)是一组
40、事件驱动的用于 XML 文档的 API,这个接口规范是 XML 分析器提供的更底层的接口,能够给应用程序提供更大的灵活性。DOM 和 SAX 两个接口标准之所以是并存的,正因为两个接口所要实现的目标不同,能分别满足不同的应用需求,各有优缺点。DOM 在处理大型文件时其性能下降的非常厉害。这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且 DOM 必须在解析文件之前把整个文档装入内存,适合对XML 的随机访问。SAX 不同于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML 文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束
41、时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理 XML 文件,适合对 XML 的顺序访问。在实际应用中可以针对具体情况选择合适的解析器。本文中使用 DOM 解析.12南京航空航天大学硕士学位论文DocumentglobalSystem_FUNCTIONTablesProjNumSTRPROJNUM_F_GsFunctionSTRFUNCTION_F_GsMSISTRMSI_F_G图 2.4 文档的 DOM 模型(3)XPath 介绍 78在推出了 XML1.0 推荐规范之后不久,就出现了 XML 查询语言的 W3C 批准标准。XPath 是通用查询语言,用于定位和过滤 XML
42、文档中的元素和文本,一个有效的 XPath 表达是看起来就像是一条通往特殊节点集的路径或一个摘自源文档的值。XPath 工作在源文档的树型表示基础上,路径使用强调节点之间的层次关系的符号来表达节点模式,如 globalTable,该表达式表明查找 global 元素的所有子节点 Table,符合表达式的各个节点构成了上下文点集,实际上,返回给应用程序的最终节点集是仅包含了匹配指定标准的节点的上下文节点集的子集。(4)XML 相关工具介绍伴随着 XML 技术本身的成熟和应用领域的不断扩大,相关的工具也不断被开发出来,从另一方面来说,工具的实用性与易用性决定了技术本身的实用程度,下面简单介绍一下开
43、发过程中借助的工具。XML 编辑工具 9XML SpyXML Spy 是 Icon Information-Systems 公司的产品,提供集成开发环境 IDE。它支持 Unicode、多字符集,支持 Well-formed 和 Validated 两种类型的 XML 文档,可编辑 XML 文档、DTD、schema 以及 XSLT。它的最大特点是提供了四种视窗:XML 结构视窗、增强表格视窗、源代码视窗和支持CSS 和 XSL 的预览视窗。结构视窗以树型结构编辑 XML 文档(包括 XML、XSL、DTD 文档);增强表格视窗以表格的方式显示出文档中的某一项元素的13基于 XML 多数据源集成技术研究及在民机领域应用数据库项;源代码视窗可以查看和修改文档源码,并且以不同的颜色标注不同的元素;预览视窗采用内嵌 IE 的方式在软件内对 XML 文档进行浏览,支持 CSS 和 XSL。在本文中,XML Spy 用来辅助生成关系数据库数据源的数据模式以及进行 Schema 的操作。2.3.4 半结构化数据介绍随着信息技术的发展,信息的种类和形式越来越丰富,大体可以分为三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购销协议书范文
- 酒店承包经营租赁合同
- 委托外部研发合同-文书模板
- 工程款代付款协议书
- 2024年度版权许可合同:网络游戏虚拟物品授权使用协议3篇
- 装修合同简易版
- 2024年度钢筋工程设计与技术支持合同2篇
- 2024版钢筋工程质量保障与售后服务合同
- 煤炭合同完整版
- 2024年度智能穿戴设备研发与生产合作协议2篇
- 战略管理全流程:从市场洞察到战略规划、解码、执行、评估与落地保障的综合性工作坊指南
- 传统节日(2022年四川成都中考语文试卷非连续性文本阅读试题及答案)
- GB/T 44272-2024信息技术开源开源许可证框架
- 2024年保安证考试试题
- 太阳能光伏发电系统设计方案课件(112张)
- 走进非遗-山东民间美术智慧树知到答案2024年山东第二医科大学
- 《photoshop图像处理与制作》考试样题(含参考答案)
- 知道网课智慧树《现代纤维艺术发展史》章节测试答案
- 第五单元《简易方程》大单元备课教案(教学设计)-2023-2024学年五年级上册数学人教版
- 职业道德与药学伦理-形成性考核四-国开(HB)-参考资料
- 2024年度信息安全教育线上培训考试题库及答案
评论
0/150
提交评论