A posting from Bob McWhirter announces the availability of Jaxen Version 1.0-beta-4. With development hosted on SourceForge, the Jaxen project is developing a Java XPath Engine. Jaxen is "a universal object model walker, capable of evaluating XPath expressions across multiple models." The current version provides support for parsing and evaluating XPath expressions against JDOM, dom4j, EXML, and W3C-DOM documents. Beta version 4 has better public API for each support model, and includes numerous bugfixes. According to the developers' description, "Jaxen itself is based upon SAXPath, which is an event-based model for parsing XPath expressions. Since Jaxen works against an adaptor which provides InfoSet access to arbitrary object models, it should be possible to build even larger tools in terms of Jaxen, to work with multiple models. For example, an XQL engine could be developed, which would automagically work with all models already supported by Jaxen. Jaxen may be perceived to be better than other XPath technologies since it provides a single cohesive API for evaluating XPaths against multiple object models. Learn the Jaxen API, and apply it to dom4j, JDOM, EXML or DOM trees in exactly the same way..."
SAXPath: Simple API for XPath. "The SAXPath project is a Simple API for XPath. SAXPath is analogous to SAX in that the API abstracts away the details of parsing and provides a simple event based callback interface. We use an Apache-style open source license which is one of the least restrictive licenses around, you can use SAXPath to create new products without them having to be open source. After implementing an XPath engine for both dom4j and JDOM, and attempting to keep them both in sync, it was decided that factoring out the commonality would be a Good Thing. Thus, SAXPath provides a single point for XPath expression parsing, regardless of the target object model, whether it's dom4j, JDOM, DOM, JavaBeans, or whatnot..."
Principal references:
- Jaxen: Java XPath Engine
- Jaxen project at SourceForge
- FAQ document
- Documentation
- Download Jaxen 1.0-beta-4
- Werken Digital
- dom4j. dom4j is "a simple and flexible open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework with full integration with DOM, SAX and JAXP. The 1.1 release includes support for DTD declarations."
- W3C XML Path Language (XPath)