public class XpathSyntaxIdentifier extends XmlSyntaxIdentifierImpl
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.
XPath.newXPathInstance(DocumentBuilderFactoryBuilder, NamespaceContext)
In the adapter configuration file this class is aliased as routing-xpath-syntax-identifier which is the preferred alternative to the fully qualified classname when building your configuration.
Constructor and Description |
---|
XpathSyntaxIdentifier() |
XpathSyntaxIdentifier(java.util.List<java.lang.String> xpaths,
java.lang.String dest) |
Modifier and Type | Method and Description |
---|---|
boolean |
isThisSyntax(java.lang.String message)
Determine if this SyntaxIdentifer considers the message to
match all the configured patterns.
|
createDocument, createXPath, getNamespaceContext, getXmlDocumentFactoryConfig, setNamespaceContext, setXmlDocumentFactoryConfig
addPattern, getDestination, getPatterns, setDestination, setPatterns
public XpathSyntaxIdentifier()
public XpathSyntaxIdentifier(java.util.List<java.lang.String> xpaths, java.lang.String dest)
public boolean isThisSyntax(java.lang.String message) throws ServiceException
SyntaxIdentifier
message
- the message to identify against.ServiceException
- if there was an error with the pattern.SyntaxIdentifier.isThisSyntax(java.lang.String)