anchor.diff:  
   == Namespace auditing to aid debugging
   
  -A large number of XPath-related issues that users frequently face are
  +Many XPath-related issues that users frequently face are
   linked to the usage of namespaces. You may have some misalignment
  -between the namespaces present in your message and those that your XPath
  +between the namespaces present in your message, and those that your XPath
   expression is aware of or referencing. XPath predicates or expressions
   that are unable to locate the XML elements and attributes due to
  -namespaces issues may simply look like "they are not working", when in
  +namespaces issues may simply look like _they are not working_, when in
   reality all there is to it is a lack of namespace definition.
   
   Namespaces in XML are completely necessary, and while we would love to
  
positive.code: 
  Therefore, the utmost we can do is assist you in debugging such issues
  by adding two new features to the XPath Expression Language and are thus
  accesible from both predicates and expressions.
  
  #=== Logging the Namespace Context of your XPath expression/predicate
  
  Every time a new XPath expression is created in the internal pool, Camel
  will log the namespace context of the expression under the
  `org.apache.camel.builder.xml.XPathBuilder` logger. Since Camel
  represents Namespace Contexts in a hierarchical fashion (parent-child
  relationships), the entire tree is output in a recursive manner with the
  following format:
  
  [source]
  ----
  [me: {prefix -> namespace}, {prefix -> namespace}], [parent: [me: {prefix -> namespace}, {prefix -> namespace}], [parent: [me: {prefix -> namespace}]]]
  ----
  
  Any of these options can be used to activate this logging:
  
  1.  Enable TRACE logging on the
  `org.apache.camel.builder.xml.XPathBuilder` logger, or some parent
  logger such as `org.apache.camel` or the root logger
  2.  Enable the `logNamespaces` option as indicated in
  xref:xpath-language.adoc[Auditing Namespaces], in which case the logging will
  occur on the INFO level
  
  == Auditing namespaces
  
  Camel is able to discover and dump all namespaces present on every
  incoming message before evaluating an XPath expression, providing all
  
negative.code: Boolean bool = XPathBuilder.xpath("foo/bar").evaluate(context, "<foo><bar>true</bar></foo>", Boolean.class);
  ----
  
  Evaluating with a `String` result is a common requirement and make this simpler:
  
  [source,java]
  ----
  