Details
Description
Currently the XalanXPathEvaluator class will return 'true' or 'false' based on the existence of a node in the XML document that matches the XPath expression. However, XPath expressions themselves can return values of true or false based on a comparison criteria.
For example, for an input message:
<root> <a key='first' num='1'/> <b key='second' num='2'>b</b> </root>
A consumer using an XPath selector with an expression such as:
XPATH '/root/b="b"'
should successfully select and consume the message above.
The evaluator today would attempt to retrieve a XML node with that expression, but it would fail and return false since the returned value of the expression is a Boolean.
The XPath Selector should be able to handle Boolean expressions.