如何在XML流上高效地执行大量XPath查询是当今研究的热点.特别在管道处理等应用中还希望在解析流的同时尽早地输出查询结果.定义了基本XSIEQ(XML Stream Query with Immediate Evaluation)机.它是一个XML流查询框架,是被索引化的、基于栈的自动机;在其上可以扩展应用多种XPath查询算法.在基本XSIEQ机上,提出一种逐层提升缓冲(pro—rootingbuffer,简称PBuf)的查询算法,形式地定义了基于PBuf的XSIEQ机并进行了实现和测试.实验结果表明,提出的方法能够支持复杂的XPath查询,在执行效率方面优于传统算法.
Much research has been done in evaluating massive XPaths set over an XML stream efficiently. In some applications especially pipelines, it is further required to output the results while parsing XML stream. In this paper,a basic XSIEQ(XML Stream Query with Immediate Evaluation) machine is defined,which is a framework of XML stream query and a kind of indexed automata based on stack. Various kinds of algorithms on XPath evaluation can be applied to extend the basic XSIEQ. Moreover,an algorithm based on promoting layered buffer(PBuf for short) is put forward. The XSIEQ machine based on PBuf is formally defined and also implemented and tested. Experimental results show that XSIEQ based on PBuf supports the complex XPath and outperforms the former work in efficiency.