Proposal for JPath Package

(0) Rationale

In heterogenous techologies like Struts, XML documents are combined with object graphs consisting of JavaBeans, collections, arrays, maps and primitive values. In such systems there is a need for a consistent way of referencing both parts of XML documents and elements of object graphs.  XPath is a powerful language introduced by W3C (XML Path Language) as a common format for addressing elements of XML documents.  The proposed JPath component provides a mechanism for applying the same XPath language to generic object graphs.

(1) Scope of the Package

This proposal is to create a package of Java utility methods for accessing and modifying the elements of arbitrary graphs consisting of JavaBeans, collections, arrays, maps and primitive values using the XPath syntax. This package will (at least initially) depend on an external implementation of an XPath expression processor.

This package augments BeanUtils, which provides a lighter-weight reference format.

(1.5) Interaction With Other Packages

JPath relies on No external configuration files are utilized.

(2) Initial Source of the Package

The original source of the component was donated by PLOTNIX, Inc (www.plotnix.com).

The proposed package names for the new component are

(3) Required Jakarta-Commons Resources

(4) Initial Committers

The initial committers on the JPath component shall be Dmitri Plotnikov and James Strachan.