This morning I posted beta 4 of Jaxen 1.1, an open source (modified BSD license) XPath 1.0 engine for Java that is adaptable to many different object models including XOM, JDOM, DOM, and dom4j. Jaxen was originally written by James Strachan and Bob McWhirter. Don't be fooled by the "beta" designation. I've spent a lot of time over the last three months fixing bugs in Jaxen. This release has many fewer bugs and is much more conformant to the XPath specification than the official 1.0 release. We'll probably get around to calling it 1.1 final sometime later this year after doing more work on testing, documentation, performance, and code cleanup. However, there's no reason to wait for that. If you're using Jaxen, you should upgrade to this beta.