Class XpathObjectMetadataService

  • All Implemented Interfaces:
    AdaptrisComponent, ComponentLifecycle, ComponentLifecycleExtension, MessageEventGenerator, Service, StateManagedComponent

    @ComponentProfile(summary="Extract data via XPath and store it as object metadata",
                      tag="service,metadata,xml,xpath")
    public class XpathObjectMetadataService
    extends ServiceImp
    Store values extracted from message payload using XpathQuery as object metadata.

    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.

    See Also:
    XPath.newXPathInstance(DocumentBuilderFactoryBuilder, NamespaceContext)

    In the adapter configuration file this class is aliased as xpath-object-metadata-service which is the preferred alternative to the fully qualified classname when building your configuration.