一种复杂的XML格式之间转换的解决方案_第1页
一种复杂的XML格式之间转换的解决方案_第2页
一种复杂的XML格式之间转换的解决方案_第3页
一种复杂的XML格式之间转换的解决方案_第4页
一种复杂的XML格式之间转换的解决方案_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

1、一种复杂的XML格式之间转换的解决方案摘要:随着网络技术的迅速发展,越来越多的信息被以XML文档形式来交换。XML具有开放性、自描述性和平台无关性,近来己成为网上应用系统间数据交换的标准。本文提生了一种复杂的XML格式之间转换的通用解决方案,解决了商务通信系统中不同XML格式文档的数据转换问题,使得行业数据传输和表达按照行业规范自动分析和处理。关键词:XML;格式转换;文档随着互联网应用需求及其相关支撑技术的发展,XML1的元语言特性及其本身良好的结构性使它成为互联网异构环境中各种不同类型和不同领域数据相互交换的开放标准。XML格式之间的转换是XML技术领域内的一个比较常见,且又是一个很重要的

2、题。即使是在同一个行业的内部,数据文档的XMLSchema之间的差距也非常大。企业信息系统的集成,数据信息的交换等都需要进行XML数据格式之间的转换工作。本文提供一种更适合于解决复杂的XML格式之间转换的解决方案。该方案成功的解决了PDF的XAF文件格式,FileNet表单文件格式到旧MLotusForms表单文件格式的转换工作。1一种XML格式之间转换的构架不同XML格式之间的转换工作是常见而又非常重要的。在IT领域,为了解决这一问题,各种新方法、新技术层由不穷。比如利用XSLT4等技术进行XML数据格式的转换,XSLT(ExtensibleStylesheetLanguageTransfo

3、rmations)是一种基于XML的一种语言,用以将一种XML格式数据转换为另一种XML格式数据,也可以转换成任意其它格式的数据。而对于复杂转换经常是困难的,甚至是不可能的。又比如RDF/RDFS/OWL技术(XMLSchema是用来定义XML文档结构,而RDFS/OWL(本体描述语言)则定义了文档词汇,提供了一种共同的理解)。本文提由了一种XML格式之间转换的方案构架。如图1所示。图1XML格式转换框架原文件(XML格式)通过解析器(Parser)解析生成数据信息,并存储在数据模型里。数据模型是整个构架的核心部分。数据模型主要是基于目标文件的XMLSchema2而构建的,也可以基于目标XML

4、文件的领域知识构建。它可以是普通的数据模型,也可以是基于EMF(EclipseModelingFramework)的数据模型。在对原XML文件进行解析的过程中,解析器要根据基于原文件和目标文件的XMLSchema文件而生成的映射表中的信息,做相应的解析优化处理。在输由目标XML文件之前,优化器和转换规则先后对数据模型中的数据信息进行相应处理。配置文件在构架中的作用是用来管理优化器和转换规则的。用户可以根据业务逻辑的需要通过配置文件来定制优化器和转换规则。可以看由这种解决方案的简单灵活性,可复用性和可扩展性。只需为不同的原文件提供一个解析器就扩展了构架的应用。2构建XML格式转换的数据模型2.1

5、模板及其性质数据模型是用来存储解析进来的数据信息的,它是构架的核心部分。目前有两种构建数据模型的办法:普通的数据模型和基于EMF技术构建的数据模型。普通的数据模型是应用普通的Java类来构建,主要是基于目标文件的领域知识,通常是结构化的数据模型。这种模型构建的优点是简单、通用,主要的缺点是需要构建输由模块从而把模型中的信息输由为满足目标XMLSchema的XML文件。图2显示了在电子表单领域中应用的结构化数据模型片段。图2电子表单领域的结构化数据模型片段基于EMF技术构建数据模型的技术已经相当成熟。我们主要应用目标文件的XMLSchema来构建EMF数据模型。基于EMF的数据模型具有事件通知机

6、制和持久化方面的支持。因此,模型带来的最大的好处就是开发者不必自己动手构建输由模块。模型的构建是XML格式之间转换的关键。构建的模型应当满足应用程序的需求(对照映射表,模型要完全支持原文件中的可匹配信息,不要求模型囊括相关领域的所有通用知识,但模型提供给原文件解析器的API应该简单易用,模型要具有高可扩展性和良好的可维护性。3优化器(Optimizers)在解析原XML文件中的应用当原XML文件中的信息被解析进来,并存储在已经建立的数据模型里,此时的数据模型称为原始数据模型,模型里面的数据信息称为原始数据信息。我们根据目标XML文件的特性,需要对原始数据信息进行优化处理。可以根据需要创建若干个

7、Optimizers。根据电子表单领域的实际需要,我们创建了很多Optimizers。举例如下:(a)线(Line)的对齐、连接,如图4所示:我们通过对以上Optimizers的应用,使得PDF文件的转换效果更佳。事实上,优化器的开发应用取决于两种格式文件之间的可匹配的程度。如果两种文件的可匹配性很高,基本上不用开发优化器。反之,为了使数据平滑输由,需要根据业务逻辑的需要进行相应的优化处理。此外,如果莫种原文件的解析器需要用户通过UI配置一些解析参数的话,我们也可以提供Parser阶段应用的“Optimizers”。举例来说,原XML文件的莫个元素和可匹配的目标XML文件的相应元素是一对多的关

8、系,那么Parser的解析就有了多种选择。这时候,让用户进行选择似乎是最合理的解析策略了。4转换规则在生成目标XML3文件格式中应用数据模型里面的信息经过优化后,就可以输生或者序列化为满足目标XMLSchema的数据文件。在这个过程中,我们又可以根据用户的转换要求执行一些通用的转换规则。比如在电子表单领域,用户经常有这样的转换要求:对转换后的电子表单文件,要求统一更改标签(Label)的前景颜色(Fontcolor),统一更改页面(Page)的背景颜色(backgroundcolor),所有转换后的文件都要加入一个标准的包含企业标志(Logo)的Toolbar模版等等。这些转换要求可以以转换规

9、则的形式存在。用户可以开发定制并应用自己的转换规则来批量转换原文件。对比Optimizers,我们知道转换规则主要是针对目标文件的通用操作的。用户对目标文件的常用的操作都可以以Rules的形式存在于转换框架里,极大的丰富了格式转换的框架。5应用配置文件管理Optimizers和Rules配置文件就是一个XML格式的文件,用以持久化管理所有的Optimizers和Rules。用户可以通过定制Optimizers和Rules来配置自己的Profile(通常情况下,每一种原文件的解析器都对应一个缺省默认的Profileo系统还为所有解析器(包括用户定制的解析器,既第三方解析器)提供了一个可扩展的通用

10、的Pro万le)。在转换的过程中,需要加载Profile,进而应用里面的优化器和转换规则来对数据模型进行深入处理,从而完成转换工作。清单1,给由了Profile文件的示例片段xmlns:xsi=http:/2001/XMLSchema-instancexsi:schemaLocation=http:ProfileSchema.xsdcom.ibm.conversion.demo.eform.form2Sample.formProfileformcom.ibm.conversion.demo.eform.optimizer.FAlignOptimizeryescom.ibm.

11、coversion.demo.eform.rule.ChangeAppearancenoXML使得不同应用系统间能够方便地交换数据,从而实现异构系统的集成。本文提供了一种复杂的XML格式之间转换的通用解决方案。该方案的主要特点是构架灵活、可扩展,可以用来解决复杂文件格式的转换问题。用户只要为非XML格式的文件写一个解析器,XML格式转换的问题就会迎刃而解。用户根据模型里的数据信息,为莫一特殊文件格式写一个输由器(OutputWriter),任何两种文件格式的转换问题都可以基于文中框架来解决了。由于以XML为基础的数据转换大大降低了数据转换的复杂程度,因此其应用领域将会随着英特网技术和XML技术的发展而不断得以推广,XML也将成为在Internet上的信息交换的重要工具。参考文献1DeutshA,etal.AquerylanguageforXMLJ.ComputerNetworks31(May),1155-1169.2XMLSehema1.1Partl:Structures,W3CWorkingDraft31Augu

温馨提示

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

评论

0/150

提交评论