Streaming XPath evaluation algorithms must record a potentially exponential number of pattern matches when both predicates and descendant axes are present in queries, and the XML data is recursive. In this paper, we use a compact data structure to encode these pattern matches rather than storing them explicitly. We then propose a polynomial time streaming algorithm to evaluate XPath queries by probing the data structure in a lazy fashion. Extensive experiments show that our approach not only has a good theoretical complexity bound but is also efficient in practice.
Citation:
Yi Chen, Susan B. Davidson, Yifeng Zheng, "An Efficient XPath Query Processor for XML Streams," icde, pp.79, 22nd International Conference on Data Engineering (ICDE'06), 2006