I've posted beta 7 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. \Brian ewins also did a lot of work for this release. Beta 7 expands the JavaDoc, improves compatibility with both Java 1.4 and 1.5, fixes some thread safety issues, modularizes the test suite, and addresses numerous areas where Jaxen wasn't correctly implementing the XPath specification including:
While there's always the possibility (certainty?) of as yet unnoticed bugs, I think all known issues in the core have now been addressed. There are still a couple of issues in the JDOM navigator to deal with. All users should upgrade to this release. Several users have reported problems where the more rigorous checking in the latest betas have uncovered mistakes in their XPath expressions. If you try this release and something that used to work now fails, please check to see if the expression was correct in the first place. The current betas ar emuch stricter and less forgiving than the older versions. In all cases I'm aware of, rewriting the expressions in correct XPath 1.0 syntax was easy and fixed the problems. Don't be fooled by the "beta" designation. 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.