Sample Configuration File for the File XML Document Input Adapter

Two sample adapter configuration files for the File XML Document Input adapter.

The example below shows how the adapter parses datetime and timestamp data from an ESP project.
<?xml version="1.0" encoding="utf-8"?>
<Adapter>
  <Name>file_xmldoc_input_2</Name>
  <Description>An adapter which gets data from local xml file, transforms to ESP data format, and publishes to ESP stream.</Description>
  <Log4jProperty>./log4j.properties</Log4jProperty>
  <Modules>
    <Module type="transporter">
      <InstanceName>FileInputTransporter</InstanceName>
      <Name>FileInputTransporter</Name>
      <Next>MyXMLDocESPFORMATTER</Next>
      <BufferMaxSize>10240</BufferMaxSize>
      <Parameters>
          <FileInputTransporterParameters>
              <!-- Set the "Dir" to absolute path pointing to $ESP_HOME\adapters\framework\exampleAdapters\XMLDocumentAdapters\XMLDocumentInputAdapter\datetimeExample\data -->
              <Dir></Dir>
              <File>.*\.xml</File>
              <AccessMode>streaming</AccessMode>
			  <DynamicMode>dynamicPath</DynamicMode>
              <PollingPeriod>3</PollingPeriod>
              <RemoveAfterProcess>false</RemoveAfterProcess>
          </FileInputTransporterParameters>
      </Parameters>
    </Module>

    <Module type="formatter">
      <InstanceName>MyXMLDocESPFORMATTER</InstanceName>
      <Name>XmlDocStreamToEspFormatter</Name>
      <Next>MyInStream_Publisher</Next>
      <Parallel>true</Parallel>
      <Parameters>
           <XmlDocStreamToEspFormatterParameters>
                <XmlElemMappingRowPattern>/orders/purchase-order</XmlElemMappingRowPattern>
                <ColsMapping>
                     <Column>/purchase-order/@id</Column>
                     <Column>//name</Column>
                     <Column>date</Column>
                     <Column>datetime</Column>
                     <Column>totalPrice</Column>
                </ColsMapping>
                <DateFormat>yyyy-MM-dd'T'XXX</DateFormat>
                <TimestampFormat>yyyy-MM-dd'T'HH:mm:ss.SSSXXX</TimestampFormat>
           </XmlDocStreamToEspFormatterParameters>
      </Parameters>
    </Module>

    <Module type="espconnector">
      <InstanceName>MyInStream_Publisher</InstanceName>
      <Name>EspPublisher</Name>
      <Parameters>
        <EspPublisherParameters>
          <ProjectName>EspProject1</ProjectName>
          <StreamName>MyInStream</StreamName>
          <MaxPubPoolSize>1</MaxPubPoolSize>
          <UseTransactions>false</UseTransactions>
        </EspPublisherParameters>
      </Parameters>
      <BufferMaxSize>10240</BufferMaxSize>
    </Module>

  </Modules>

  <EspProjects>
    <EspProject>
      <Name>EspProject1</Name>
      <Uri>esp://localhost:19011/sample_workspace/file_xmldoc_input_2</Uri>
      <Security>
        <User></User>
        <Password encrypted="false"></Password>
        <AuthType>user_password</AuthType>
      </Security>
    </EspProject>
  </EspProjects>
  <GlobalParameters></GlobalParameters>
</Adapter>

This example shows how the adapter obtains data from an XML document with name space declaration.

<?xml version="1.0" encoding="utf-8"?>
<Adapter>
  <Name>file_xmldoc_input_1</Name>
  <Description>An adapter which gets data from local xml file, transporms to ESP data format, and publishes to ESP stream.</Description>
  <Log4jProperty>./log4j.properties</Log4jProperty>
  <Modules>
    <Module type="transporter">
      <InstanceName>FileInputTransporter</InstanceName>
      <Name>FileInputTransporter</Name>
      <Next>MyXMLDocESPFORMATTER</Next>
      <BufferMaxSize>10240</BufferMaxSize>
      <Parameters>
          <FileInputTransporterParameters>
              <!-- Set the "Dir" to absolute path pointing to $ESP_HOME\adapters\framework\exampleAdapters\XMLDocumentAdapters\XMLDocumentInputAdapter\namespaceExample\data -->
              <Dir></Dir>
              <File>.*\.xml</File>
              <AccessMode>streaming</AccessMode>
			  <DynamicMode>dynamicPath</DynamicMode>
              <PollingPeriod>3</PollingPeriod>
              <RemoveAfterProcess>false</RemoveAfterProcess>
          </FileInputTransporterParameters>
      </Parameters>
    </Module>

    <Module type="formatter">
      <InstanceName>MyXMLDocESPFORMATTER</InstanceName>
      <Name>XmlDocStreamToEspFormatter</Name>
      <Next>MyInStream_Publisher</Next>
      <Parallel>true</Parallel>
      <Parameters>
           <XmlDocStreamToEspFormatterParameters>
                <XmlElemMappingRowPattern>books/book</XmlElemMappingRowPattern>
                <XmlElemNamespaceURI>http://sap.com/xmlns/books</XmlElemNamespaceURI>
                <ColsMapping>
                     <Column>/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='book']/@*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='id']</Column>
                     <Column>/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='book']/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='name']</Column>
                     <Column>/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='book']/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='price']</Column>
                </ColsMapping>
           </XmlDocStreamToEspFormatterParameters>
      </Parameters>
    </Module>

    <Module type="espconnector">
      <InstanceName>MyInStream_Publisher</InstanceName>
      <Name>EspPublisher</Name>
      <Parameters>
        <EspPublisherParameters>
          <ProjectName>EspProject1</ProjectName>
          <StreamName>MyInStream</StreamName>
          <MaxPubPoolSize>1</MaxPubPoolSize>
          <UseTransactions>false</UseTransactions>
        </EspPublisherParameters>
      </Parameters>
      <BufferMaxSize>10240</BufferMaxSize>
    </Module>

  </Modules>

  <EspProjects>
    <EspProject>
      <Name>EspProject1</Name>
      <Uri>esp://localhost:19011/sample_workspace/file_xmldoc_input_1</Uri>
      <Security>
        <User></User>
        <Password encrypted="false"></Password>
        <AuthType>user_password</AuthType>
      </Security>
    </EspProject>
  </EspProjects>
  <GlobalParameters></GlobalParameters>
</Adapter>