Database Research Group (CIS)

Document Type

Conference Paper

Date of this Version

January 2003


Postprint version. Published in Lecture Notes in Computer Science, Volume 2572, Database Theory: - ICDT 2003: 9th International Conference Proceedings, 2003, pages 173-189. Publisher URL: At the time of publication, author Todd Green, was affiliated with Xyleme SA. Currently February 2007, he is a student in the Department of Computer and Information Sciences at the University of Pennsylvania.


We consider the problem of evaluating a large number of XPath expressions on an XML stream. Our main contribution consists in showing that Deterministic Finite Automata (DFA) can be used effectively for this problem: in our experiments we achieve a throughput of about 5.4MB/s, independent of the number of XPath expressions (up to 1,000,000 in our tests). The major problem we face is that of the size of the DFA. Since the number of states grows exponentially with the number of XPath expressions, it was previously believed that DFAs cannot be used to process large sets of expressions. We make a theoretical analysis of the number of the states in the DFA resulting from XPath expressions, and consider both the case when it is constructed eagerly, and when it is constructed lazily. Our analysis indicates that, when the automaton is constructed lazily, and under certain assumptions about the structure of the input XML data, the number of states in the lazy DFA is manageable. We also validate experimentally our findings, on both synthetic and real data sets.



Date Posted: 23 February 2007

This document has been peer reviewed.