We present ViteX, an XPath processing system on XML streams with polynomial time complexity. ViteX uses a polynomial-space data structure to encode an exponential number of pattern matches (in the query size) which are required to process queries correctly during a single sequential scan of XML. Then ViteX computes query solutions by probing the data structure in a lazy fashion without enumerating pattern matches.
Citation:
Yi Chen, Susan B. Davidson, Yifeng Zheng, "ViteX: A Streaming XPath Processing System," icde, pp.1118-1119, 21st International Conference on Data Engineering (ICDE'05), 2005