My current list (compiled from web search results and the other answers) is:
- http://code.google.com/p/xpath4sax/
- http://spex.sourceforge.net/
- https://github.com/santhosh-tekuri/jlibs/wiki/XMLDog (also contains a performance chart)
- http://www.cs.umd.edu/projects/xsq/ (uniersity project, dead since 10 years, GPL)
- MIT-Licensed approach http://softwareengineeringcorner.blogspot.com/2012/01/conveniently-processing-large-xml-files.html
- Other parsers/memory models supporting fast XPath:
- http://vtd-xml.sourceforge.net/ (“The world’s fastest XPath 1.0 implementation.”)
- http://jaxen.codehaus.org/ (contains http://www.saxpath.org/)
- http://www.saxonica.com/documentation/sourcedocs/streaming/streamable-xpath.html
The next step is to use the examples of XMLDog and compare the performance of all these approaches. Then, the test cases should be extended to the supported XPath expressions.