论文部分内容阅读
随着XML(eXtensibleMarkupLanguage)成为因特网上数据表示和数据交换的标准,如何进行高效的、满足特定源数据和目标数据模式的数据交换成为研究热点。目前提出的XML数据查询语言虽然能够实现XML数据的转换,但是对转换后的XML文档符合特定模式的支持却非常有限;有些XML数据转换系统虽然能够在数据转换过程中动态判定目标模式的符合性,但是执行效率不能满足用户要求。
针对XML数据转换所面临的问题,本文提出的基于单遍扫描的面向目标模式的XML数据转换引擎,支持转换结果符合目标模式,同时尽可能提高转换效率。具体来讲,本文的贡献如下:
设计了基于源XML模式和目标XML模式的XML转换语言SCXTGSCXTG基于是源XML模式和目标XML模式,支持XML目标结构的重构,支持转换过程中动态验证预定义XML数据模式,支持共享路径的重用和优化。
设计了基于图形化界面的SCXTG的生成算法基于数据源的XML模式和数据目标的XML模式,根据用户在QBE风格的界面上完成的映射操作,利用XML结构约束,产生最能够表达用户XML转换要求的SCXTG语言。
设计了基于单遍扫描的SCXTG的执行算法为提高数据转换的效率,SCXTG执行通过XML解析器SAX的事件驱动,使得整个XML数据转换通过一遍扫描完成。同时,我们提出了缓冲优化策略,减少中间结果的缓冲数量;提出了动态验证目标模式的策略,及早结束非法XML数据的输出。
本文所讨论的方法,已经在863课题的XML数据集成、共享和交换原型系统COXML得以初步实现。实验结果表明本文方法的有效性。