比希德

biXid:一种面向XML的双向转换语言。通常,独立的组织为了相似的目的定义和提倡不同的XML格式,因此,应用程序需要在这些格式之间进行相互转换。现有的XML转换语言,如XSLT和XDuce,在这种情况下,由于要编写两个程序来进行两种格式的正向和反向转换,开发和维护成本很高。本文提出了双向XML转换语言biXid,允许我们只需编写一个程序用于两个方向的转换。我们的语言采用了一种常见的按关系编程的范式,程序在文档上定义一个关系,并以满足这种关系的方式将文档转换为另一个文档。我们在这里的贡献是一些特定的语言特性,这些特性有助于实现目标格式松散并行但在细节上存在许多差异。具体来说,我们(1)采用XDuce风格的正则表达式模式来描述和分析XML结构,(2)完全允许模糊性来处理没有等价表达的格式,(3)允许非线性模式变量来表示不能用线性模式写的非平凡的转换,例如无序数据和有序数据之间的转换。par我们进一步为biXid开发了一个高效的计算算法,包括将输入文档转换为中间的“解析树”结构的“解析”阶段和将其转换为输出文档的“unparsing”阶段。这两个阶段都使用有限树自动机的变体,通过使用“维护所有可转换状态集”的标准技术对输入或解析树执行一次扫描,由于歧义会导致解析树的不同消耗方式,从而导致可能具有不同结构的多个可能的输出,因此“unparsing”阶段的构建具有挑战性实验了几种实际的双向转换,包括vCard XML和ContactXML之间的双向转换。

这个软件也是同行评审按日记帐汤姆斯.