Class XpathNodeIdentifier
- All Implemented Interfaces:
ComponentLifecycle
,Condition
,SyntaxIdentifier
This differs from the standard XpathSyntaxIdentifier
in that, rather than attempting to resolve your XPath to a text
value, it simply uses the XPath to try and resolve to a Node (or NodeList). This is more useful if you have an XML document that
doesn't contain any values for elements
If the DocumentBuilderFactoryBuilder
has been explicitly set to be not namespace aware and the document does in fact
contain namespaces, then Saxon can cause merry havoc in the sense that //NonNamespaceXpath
doesn't work if the document
has namespaces in it. We have included a shim so that behaviour can be toggled based on what you have configured.
Since 3.10.0 this class implements Condition
which means that it can be used as part of the conditional
services; if used in such a manner, then configuration is contextual, get/setDestination will be ignored (but may still have to
be configured due to validation
- See Also:
In the adapter configuration file this class is aliased as routing-xpath-node-syntax-identifier which is the preferred alternative to the fully qualified classname when building your configuration.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
isThisSyntax
(String message) Determine if this SyntaxIdentifer considers the message to match all the configured patterns.protected boolean
void
Specify whether to attempt to resolve the XPath as a Nodeset or as a single node.Methods inherited from class com.adaptris.core.services.routing.XmlSyntaxIdentifierImpl
createDocument, createXPath, getNamespaceContext, getXmlDocumentFactoryConfig, setNamespaceContext, setXmlDocumentFactoryConfig
Methods inherited from class com.adaptris.core.services.routing.SyntaxIdentifierImpl
addPattern, getPatterns, setPatterns
Methods inherited from class com.adaptris.core.services.routing.SyntaxIdentifierBase
getDestination, setDestination
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.adaptris.core.ComponentLifecycle
close, init, start, stop
Methods inherited from interface com.adaptris.core.services.routing.SyntaxIdentifier
evaluate
-
Constructor Details
-
XpathNodeIdentifier
public XpathNodeIdentifier() -
XpathNodeIdentifier
-
-
Method Details
-
isThisSyntax
Description copied from interface:SyntaxIdentifier
Determine if this SyntaxIdentifer considers the message to match all the configured patterns.- Parameters:
message
- the message to identify against.- Returns:
- true if it matches.
- Throws:
ServiceException
- if there was an error with the pattern.- See Also:
-
getResolveAsNodeset
-
setResolveAsNodeset
Specify whether to attempt to resolve the XPath as a Nodeset or as a single node.- Parameters:
b
- true to attempt resolve as a Nodeset, default is false.- See Also:
-
resolveAsNodeset
protected boolean resolveAsNodeset()
-