JXPathModule allows to access properties of any object in generic
way. JXPath provides APIs for the traversal of graphs of
JavaBeans, DOM and other types of objects using the XPath
syntax.
Note: This is based on the AbstractJXPathModule
and duplicates the code since multiple inheritance is not possible.
Please keep both classes in sync.
Configuration example:
<lenient>false</lenient>
When set to true, non-existing attributes return null, when set to false,
an exception is thrown. Default is true.
<parameter>false</parameter>
Attribute name to be used instead of passed attribute name.
<from-parameter>false</from-parameter>
Attribute name to pass to configured input module
<input-module name="request-attr"/>
Uses the "request-attr" input module to obtain a value and
applies the given JXPath expression to it.
<function name="java.lang.String" prefix="str"/>
Imports the class "String" as extension class to the JXPathContext using
the prefix "str". Thus "str:length(xpath)" would apply the method "length" to
the string object obtained from the xpath expression. Please note that the class
needs to be fully qualified.
<package name="java.util" prefix="util"/>
Imports all classes in the package "java.util" as extension classes to the
JXPathContext using the prefix "util". Thus "util:Date.new()" would create a
new java.util.Date object.
<namespace uri="uri:foo" prefix="bar"/>
Registers the namespace identified by URI uri:foo
with the JXPathContext using the prefix bar. Thus
expressions can query XML with nodes in this namespace using
registered prefix.
In addition, it accepts the attributes "parameter" to override
the attribute name and "from-parameter" to pass as attribute name
to the configured input module.