I've posted the second alpha release of
XOM 1.1, my free-as-in-speech (LGPL)
dual streaming/tree-based API for processing XML with Java.
Version 1.1 maintains backwards compatibility with XOM 1.0 while adding a number of important new features including XPath support.
Alpha 2 speeds up XPath queries by roughly a factor of 10.
It also fixes assorted small bugs, and adds an XPathTypeException
class that
distinguishes syntactic errors from
the case where an XPath expression returns something other than a node-set.