B2B Document Definition - Using xpath 'or' in Identification Value

Hello,
I have a requirement similar to the one below, this is an example from the Oracle documentation,
In the below example, Oracle B2B compares the value of the country attribute to the value set for Identification Value. If the values match, then the document is identified successfully.  I have a scenario, where I will receive data with value in the country attribute to be "US" or "France" or "India". Can an 'or' be used in the identification value? such as US or France or India as the Identification values for the Identification Expression "//*/@country".
Any ideas / suggestions are greatly appreciated.
Option 3: Check the Value of an Attribute
Assume that the value of the country attribute is US. Set the parameters as follows:
Field
Value
Identification Value
US
Identification Expression
//*/@country
Here is the excerpt of the XML payload for this option.
Check the Value of an Attribute
<?xml version="1.0" encoding="windows-1252" ?>
<MyAddress country="US" xmlns="http://www.example.org"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="PO.xsd">
  <name>B2B Buyer</name>
  <street>100 Oracle Parkway</street>
  <city>Redwood City</city>
  <state>CA</state>
  <zip>94065</zip>
</MyAddress>
Thanks,
Venkatesh

Hi,
I am interested to know if you managed to make any progress on this issue?
We have a similar requirement whereby a trading partner sends an ebMS request using a single document type with the ebMS ACTION header identifying the action the request relates to. For example, the following are the key fields from two requests:
1)
  SENDER_NAME = TradingPartnerX
  RECEIVER_NAME = OurCompanyName
  SERVICE_NAME = Manage Work
  SERVICE_TYPE = v1.0
  BUSINESS_ACTION_NAME = assignWork
  Payload = <ManageWorkRequest>...</ManageWorkRequest>
2)
  SENDER_NAME = TradingPartnerX
  RECEIVER_NAME = OurCompanyName
  SERVICE_NAME = Manage Work
  SERVICE_TYPE = v1.0
  BUSINESS_ACTION_NAME = updateWork
  Payload = <ManageWorkRequest>...</ManageWorkRequest>
Where the Payloads of the two requests could potentially be identical.
Currently, we have the following configuration:
- Custom xml document type for ManageWorkRequest:
  - Action name: (blank)
  - Service name: (blank)
  - Service type: (blank)
  - From Role: (blank)
  - To Role: (blank)
  - Validate ebMS Header: unchecked
- Custom xml document definition for ManageWorkRequest:
  - XML Identification Expression (XPath): //*[local-name() = 'ManageWorkRequest']
  - XML Identification Value: (blank)
- TradingPartnerX Documents:
  - Definition added for ManageWorkRequest
    - both 'Sender' and 'Receiver' checked
  - Document Details:
    - Override DocType Param: checked
    - Document Type ebMS:
      - Action name: (blank)
      - Service name: Manage Work
      - Service type: v1.0
      - From Role: Buyer
      - To Role: Supplier
      - Validate ebMS Header: unchecked
- Agreement setup between OurCompanyName and TradingPartnerX for inbound communication from TradingPartnerX to OurCompanyName
When TradingPartnerX attempts to send an assignWork ManageWorkRequest, B2B fails to identify which document type and agreement it relates to. After increasing the B2B logging level, the following can be seen in the soa_server1-diagnostic.log file:
[2013-11-19T11:16:39.881+10:00] [soa_server1] [TRACE] [] [oracle.soa.b2b.repository] [tid: Workmanager: , Version: 0, Scheduled=false, Started=false, Wait time: 0 ms\n] [userId: <anonymous>] [ecid: ccce6c0f16adb222:111ddc50:142539e3958:-7ffd-000000000013a96f,0] [APP: soa-infra] [SRC_CLASS: oracle.tip.b2b.log.ToplinkLogger] [SRC_METHOD: log] 2013.11.19 11:16:39.880--ServerSession(606155273)--Connection(692532584)--Thread(Thread[Workmanager: , Version: 0, Scheduled=false, Started=false, Wait time: 0 ms[[
,10,Application Daemon Threads])--SELECT ID, DIRECTION, APPS_DOCTYPE_NAME, DOC_DEF_NAME, APPS_DOC_PROTOCOL_VERSION, DOC_DEF_TIMESTAMP, APPS_DOCUMENT, DOC_PROTOCOL_NAME, APPS_XSLTFILE, DOC_PROTOCOL_VERSION, ATTRIBUTE1, DOC_REF_NAME, ATTRIBUTE3, DOC_ROUTING_ID, ATTRIBUTE5, DOCTYPE_NAME, ATTRIBUTE7, FROM_DC, ATTRIBUTE9, BUSINESS_ACTION_NAME, LABEL, CREATED, LABEL_DESC, APPS_DOC_PROTOCOL_NAME, MODIFIED, APPS_ACTION, RECEIVER_NAME, ATTRIBUTE2, SENDER_NAME, ATTRIBUTE6, SERVICE_NAME, ATTRIBUTE10, SERVICE_TYPE, DEFINITION_MO, STATE, AGREEMENT_ID, TO_DC, ATTRIBUTE8, TPA_NAME, IS_CUSTOM, TPA_REFERENCE, ATTRIBUTE4, CREATED_BY_UI, USER_NAME, CONTROL_NUMBER_SET FROM B2B_LIFECYCLE WHERE ((SENDER_NAME = ?) AND ((RECEIVER_NAME = ?) AND ((BUSINESS_ACTION_NAME = ?) AND ((SERVICE_NAME = ?) AND ((SERVICE_TYPE = ?) AND ((DIRECTION = ?) AND (STATE = ?)))))))
        bind => [TradingPartnerX, OurCompanyName, assignWork, Manage Work, v1.0, INBOUND, Active]
[2013-11-19T11:16:39.883+10:00] [soa_server1] [ERROR] [] [oracle.soa.b2b.engine] [tid: Workmanager: , Version: 0, Scheduled=false, Started=false, Wait time: 0 ms\n] [userId: <anonymous>] [ecid: ccce6c0f16adb222:111ddc50:142539e3958:-7ffd-000000000013a96f,0] [APP: soa-infra] Error -:  B2B-50547:  Agreement not found for trading partners: FromTP TradingPartnerX, ToTP OurCompanyName with document type ACTION:assignWork Service:Manage Work ServiceTypev1.0-INBOUND.[[
        at oracle.tip.b2b.tpa.RepoDataAccessor.queryAgreementMO(RepoDataAccessor.java:866)
        at oracle.tip.b2b.tpa.RepoDataAccessor.getAgreementDetails(RepoDataAccessor.java:415)
        at oracle.tip.b2b.tpa.TPAProcessor.processTPA(TPAProcessor.java:465)
        at oracle.tip.b2b.tpa.TPAProcessor.processIncomingTPA(TPAProcessor.java:243)
        at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:2560)
        at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1751)
        at oracle.tip.b2b.engine.Engine.incomingContinueProcess(Engine.java:4258)
        at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3856)
        at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:3309)
        at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:637)
        at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:214)
        at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
        at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
        at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Error -:  B2B-50547:  Agreement not found for trading partners: FromTP TradingPartnerX, ToTP OurCompanyName with document type ACTION:assignWork Service:Manage Work ServiceTypev1.0-INBOUND.
        at oracle.tip.b2b.tpa.RepoDataAccessor.queryAgreementMO(RepoDataAccessor.java:866)
        at oracle.tip.b2b.tpa.RepoDataAccessor.getAgreementDetails(RepoDataAccessor.java:415)
        at oracle.tip.b2b.tpa.TPAProcessor.processTPA(TPAProcessor.java:465)
        at oracle.tip.b2b.tpa.TPAProcessor.processIncomingTPA(TPAProcessor.java:243)
        at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:2560)
        at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1751)
        at oracle.tip.b2b.engine.Engine.incomingContinueProcess(Engine.java:4258)
        at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3856)
        at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:3309)
        at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:637)
        at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:214)
        at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
        at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
        at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
Looking at the SQL which has been logged, B2B is looking for an agreement which has the following:
  SENDER_NAME = 'TradingPartnerX'
  RECEIVER_NAME = 'OurCompanyName'
  BUSINESS_ACTION_NAME = 'assignWork'
  SERVICE_NAME = 'Manage Work'
  SERVICE_TYPE = 'v1.0'
  DIRECTION = 'INBOUND'
  STATE = 'Active'
and it fails to identify any matching agreements which is correct - there aren't any matching these constraints. However, if we specify the 'Action name' field in the DocType param overrides for TradingPartnerX, then B2B is able to identify the agreement and everything works.
Based on this behaviour, it seems that in this scenario, B2B requires a separate agreement for each possible value which can be passed as the BUSINESS_ACTION_NAME in order to identify the document type and agreement correctly. My question is - is there another way to configure B2B to allow a list of valid 'Action names' rather than having to create a separate agreement for each one with the only difference being the value of the 'Action name' field?
If anyone is able to provide advice or guidance, it would be much appreciated.
Thanks
Kevin

Similar Messages

  • Error Defining Document Definition 4010_810 in B2B console

    Hello B2B Gurus,
    I have a small request to you all... I am trying to work on some B2B samples, I have created a Document definition for some reason i was having some issues with my SOA domain so i have created a new domain and i have purged the exisiting definitions in B2B console... When i tried to create the same document defininiton i am getting the below error. Can some one please let me know what is that i am missing.
    extImpl addPartialTriggerListeners
    WARNING: Could not find partial trigger timeRange from UIGraph[UIXFacesBeanImpl,
    id=graph2] with the supported partialTriggers syntax. The partial trigger was f
    ound with the deprecated syntax. Please use the supported syntax.
    Dec 13, 2010 11:45:34 AM oracle.adfinternal.view.faces.renderkit.rich.SimpleSele
    ctOneRenderer _getSelectedIndex
    WARNING: Could not find selected item matching value "" in RichSelectOneChoice[U
    IXEditableFacesBeanImpl, id=value20]
    Dec 13, 2010 11:45:34 AM oracle.adfinternal.view.faces.renderkit.rich.SimpleSele
    ctOneRenderer _getSelectedIndex
    WARNING: Could not find selected item matching value "" in RichSelectOneChoice[U
    IXEditableFacesBeanImpl, id=value30]
    Dec 13, 2010 11:45:34 AM oracle.adfinternal.view.faces.renderkit.rich.SimpleSele
    ctOneRenderer _getSelectedIndex
    WARNING: Could not find selected item matching value "" in RichSelectOneChoice[U
    IXEditableFacesBeanImpl, id=value40]
    Dec 13, 2010 11:45:35 AM oracle.adfinternal.view.faces.renderkit.rich.SimpleSele
    ctOneRenderer _getSelectedIndex
    WARNING: Could not find selected item matching value "" in RichSelectOneChoice[U
    IXEditableFacesBeanImpl, id=value20]
    Dec 13, 2010 11:45:35 AM oracle.adfinternal.view.faces.renderkit.rich.SimpleSele
    ctOneRenderer _getSelectedIndex
    WARNING: Could not find selected item matching value "" in RichSelectOneChoice[U
    IXEditableFacesBeanImpl, id=value30]
    Dec 13, 2010 11:45:35 AM oracle.adfinternal.view.faces.renderkit.rich.SimpleSele
    ctOneRenderer _getSelectedIndex
    WARNING: Could not find selected item matching value "" in RichSelectOneChoice[U
    IXEditableFacesBeanImpl, id=value40]
    Querying docs for tp_MyCompany
    EDI_X124010810null
    In checkIfPackageExists /soa/b2b/EDI_X12/4010/ ### 810
    In deleteFolder /soa/b2b/EDI_X12/4010/810
    EDI_X124010997null
    In checkIfPackageExists /soa/b2b/EDI_X12/4010/ ### 997
    In deleteFolder /soa/b2b/EDI_X12/4010/997
    BEan Util $$$ C:\OFM\Middleware1\user_projects\domains\LOCALSOADOMAIN\servers\so
    a_server1\tmp\_WL_user\b2bui\bklbbb\public
    Dec 13, 2010 11:46:33 AM org.apache.myfaces.trinidadinternal.config.upload.Uploa
    dRequestWrapper setCharacterEncoding
    WARNING: Unable to set request character encoding to UTF-8, because request para
    meters have already been read.
    Dec 13, 2010 11:46:33 AM org.apache.myfaces.trinidadinternal.config.upload.Uploa
    dRequestWrapper setCharacterEncoding
    WARNING: Unable to set request character encoding to UTF-8, because request para
    meters have already been read.
    BEan Util $$$ C:\OFM\Middleware1\user_projects\domains\LOCALSOADOMAIN\servers\so
    a_server1\tmp\_WL_user\b2bui\bklbbb\public
    BEan Util $$$ C:\OFM\Middleware1\user_projects\domains\LOCALSOADOMAIN\servers\so
    a_server1\tmp\_WL_user\b2bui\bklbbb\public
    FileManager.saveFileInMidTier : Size of file{ C:\OFM\Middleware1\user_projects\d
    omains\LOCALSOADOMAIN\servers\soa_server1\tmp\_WL_user\b2bui\bklbbb\public/810.x
    sd} is :783509
    Dec 13, 2010 11:46:52 AM org.apache.myfaces.trinidadinternal.config.upload.Uploa
    dRequestWrapper setCharacterEncoding
    WARNING: Unable to set request character encoding to UTF-8, because request para
    meters have already been read.
    Dec 13, 2010 11:46:52 AM org.apache.myfaces.trinidadinternal.config.upload.Uploa
    dRequestWrapper setCharacterEncoding
    WARNING: Unable to set request character encoding to UTF-8, because request para
    meters have already been read.
    BEan Util $$$ C:\OFM\Middleware1\user_projects\domains\LOCALSOADOMAIN\servers\so
    a_server1\tmp\_WL_user\b2bui\bklbbb\public
    BEan Util $$$ C:\OFM\Middleware1\user_projects\domains\LOCALSOADOMAIN\servers\so
    a_server1\tmp\_WL_user\b2bui\bklbbb\public
    *FileManager.saveFileInMidTier : Size of file{ C:\OFM\Middleware1\user_projects\d*
    omains\LOCALSOADOMAIN\servers\soa_server1\tmp\_WL_user\b2bui\bklbbb\public/810.e
    cs} is :1242392
    BEan Util $$$ C:\OFM\Middleware1\user_projects\domains\LOCALSOADOMAIN\servers\so
    a_server1\tmp\_WL_user\b2bui\bklbbb\public
    *## PArameter Name TransactionECSFileBlob &&& /soa/b2b/EDI_X12/4010/810/810def/81*
    *0.ecsmds val null*
    Dec 13, 2010 11:46:52 AM oracle.tip.b2b.ui.util.BeanUtil log
    WARNING:
    EXCEPTION:
    MESSAGE:Index: 0, Size: 0
    STACK TRACE:
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    at java.util.ArrayList.get(ArrayList.java:322)
    at oracle.mds.internal.cache.CacheKeyUtil.getRootCacheKeyAndHint(CacheKe
    yUtil.java:413)
    at oracle.mds.internal.cache.CacheKeyUtil.getRootCacheKeyAndHint(CacheKe
    yUtil.java:348)
    at oracle.mds.core.UpdateableSOContent.getCacheKey(UpdateableSOContent.j
    ava:928)
    at oracle.mds.core.UpdateableSOContent.cacheData(UpdateableSOContent.jav
    a:869)
    at oracle.mds.core.UpdateableSOContent.clearClientObjects(UpdateableSOCo
    ntent.java:163)
    at oracle.mds.core.MDSTransaction.flushChangesToPTrans(MDSTransaction.ja
    va:638)
    at oracle.mds.core.MDSTransaction.internalCommit(MDSTransaction.java:237
    *2)*
    at oracle.mds.core.MDSSession.flushChanges(MDSSession.java:981)
    at oracle.tip.b2b.ui.util.FileManager.saveFileInMds(FileManager.java:450
    at oracle.tip.b2b.ui.data.document.GuiDefinition.createDefTypeObj(GuiDef
    inition.java:328)
    at oracle.tip.b2b.ui.data.document.GuiDefinition.save(GuiDefinition.java
    *:538)*
    at oracle.tip.b2b.ui.backing.admin.AdminDocument.saveThreadAction(AdminD
    ocument.java:1666)
    at oracle.tip.b2b.ui.business.admin.FileUploadThread.run(FileUploadThrea
    d.java:61)
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.RangeCheck(ArrayList.java:547)
    at java.util.ArrayList.get(ArrayList.java:322)
    at oracle.mds.internal.cache.CacheKeyUtil.getRootCacheKeyAndHint(CacheKe
    yUtil.java:413)
    at oracle.mds.internal.cache.CacheKeyUtil.getRootCacheKeyAndHint(CacheKe
    yUtil.java:348)
    at oracle.mds.core.UpdateableSOContent.getCacheKey(UpdateableSOContent.j
    ava:928)
    at oracle.mds.core.UpdateableSOContent.cacheData(UpdateableSOContent.jav
    a:869)
    at oracle.mds.core.UpdateableSOContent.clearClientObjects(UpdateableSOCo
    ntent.java:163)
    at oracle.mds.core.MDSTransaction.flushChangesToPTrans(MDSTransaction.ja
    va:638)
    at oracle.mds.core.MDSTransaction.internalCommit(MDSTransaction.java:237
    *2)*
    at oracle.mds.core.MDSSession.flushChanges(MDSSession.java:981)
    at oracle.tip.b2b.ui.util.FileManager.saveFileInMds(FileManager.java:450
    at oracle.tip.b2b.ui.data.document.GuiDefinition.createDefTypeObj(GuiDef
    inition.java:328)
    at oracle.tip.b2b.ui.data.document.GuiDefinition.save(GuiDefinition.java
    *:538)*
    at oracle.tip.b2b.ui.backing.admin.AdminDocument.saveThreadAction(AdminD
    ocument.java:1666)
    at oracle.tip.b2b.ui.business.admin.FileUploadThread.run(FileUploadThrea
    d.java:61)
    Additional Log from the Admin Server
    *###<Dec 13, 2010 1:19:25 PM EST> <Warning> <org.apache.myfaces.trinidadinternal.config.upload.UploadRequestWrapper> <mia-dt-6111> <soa_server1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1292264365367> <BEA-000000> <Unable to set request character encoding to UTF-8, because request parameters have already been read.>*
    *####<Dec 13, 2010 1:19:25 PM EST> <Warning> <org.apache.myfaces.trinidadinternal.config.upload.UploadRequestWrapper> <mia-dt-6111> <soa_server1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1292264365367> <BEA-000000> <Unable to set request character encoding to UTF-8, because request parameters have already been read.>*
    *####<Dec 13, 2010 1:19:30 PM EST> <Warning> <org.apache.myfaces.trinidadinternal.config.upload.UploadRequestWrapper> <mia-dt-6111> <soa_server1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1292264370304> <BEA-000000> <Unable to set request character encoding to UTF-8, because request parameters have already been read.>*
    *####<Dec 13, 2010 1:19:30 PM EST> <Warning> <org.apache.myfaces.trinidadinternal.config.upload.UploadRequestWrapper> <mia-dt-6111> <soa_server1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1292264370304> <BEA-000000> <Unable to set request character encoding to UTF-8, because request parameters have already been read.>*
    *####<Dec 13, 2010 1:19:30 PM EST> <Warning> <oracle.soa.b2b.ui> <mia-dt-6111> <soa_server1> <Thread-39> <weblogic> <> <> <1292264370757> <BEA-000000> <*
    EXCEPTION:
    MESSAGE:Index: 0, Size: 0
    STACK TRACE:
    java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    *     at java.util.ArrayList.RangeCheck(ArrayList.java:547)*
    *     at java.util.ArrayList.get(ArrayList.java:322)*
    *     at oracle.mds.internal.cache.CacheKeyUtil.getRootCacheKeyAndHint(CacheKeyUtil.java:413)*
    *     at oracle.mds.internal.cache.CacheKeyUtil.getRootCacheKeyAndHint(CacheKeyUtil.java:348)*
    *     at oracle.mds.core.UpdateableSOContent.getCacheKey(UpdateableSOContent.java:928)*
    *     at oracle.mds.core.UpdateableSOContent.cacheData(UpdateableSOContent.java:869)*
    *     at oracle.mds.core.UpdateableSOContent.clearClientObjects(UpdateableSOContent.java:163)*
    *     at oracle.mds.core.MDSTransaction.flushChangesToPTrans(MDSTransaction.java:638)*
    *     at oracle.mds.core.MDSTransaction.internalCommit(MDSTransaction.java:2372)*
    *     at oracle.mds.core.MDSSession.flushChanges(MDSSession.java:981)*
    *     at oracle.tip.b2b.ui.util.FileManager.saveFileInMds(FileManager.java:450)*
    *     at oracle.tip.b2b.ui.data.document.GuiDefinition.createDefTypeObj(GuiDefinition.java:328)*
    *     at oracle.tip.b2b.ui.data.document.GuiDefinition.save(GuiDefinition.java:538)*
    *     at oracle.tip.b2b.ui.backing.admin.AdminDocument.saveThreadAction(AdminDocument.java:1666)*
    *     at oracle.tip.b2b.ui.business.admin.FileUploadThread.run(FileUploadThread.java:61)*
    *>*
    Edited by: Patel Sandy on Dec 13, 2010 11:14 AM

    Hello Sandy,
    I am not sure what exactly the problem is but it seems your domain has been messed up.
    Can you create a fresh schema in database using RCU and create a brand new domain pointing to those new schemas and then try to create a b2b document definition?
    Regards,
    Anuj

  • XPath Expression in document definition

    I am trying to use "XPath Expression1" for 894 in the document definition under XPath in order to retrieve invoice number so that, it would be used in BAM but I am not getting successful in putting exact XPath expression for invoice number. I am using as below
    /Transaction-894/Segment-G82/Element-861
    Pls suggest is there any wrong in the XPath?
    Regards,
    Suneel Jakka

    Here is the XSD for which I am trying XPath for the "Element-861" under "Segment-G82"..
    Pls suggest me..
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- Automatically generated by EDIFECS SpecBuilder (http://www.edifecs.com) -->
    <xsd:schema xmlns="http://www.edifecs.com/xdata/200" targetNamespace="http://www.edifecs.com/xdata/200" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" elementFormDefault="qualified">
         <xsd:annotation>
              <xsd:appinfo>
                   <FileName>C:\Documents and Settings\jakkasun\Desktop\11g\X12_5010_894.ecs</FileName>
                   <InternalID>{0840BE5F-3518-463D-A128-D73D96D4A5D2}</InternalID>
              </xsd:appinfo>
         </xsd:annotation>
         <xsd:element name="Transaction-894" type="Transaction-894"/>
         <xsd:complexType name="Transaction-894">
              <xsd:annotation>
                   <xsd:documentation>This X12 Transaction Set contains the format and establishes the data contents of the Delivery/Return Base Record Transaction Set (894) for use within the context of an Electronic Data Interchange (EDI) environment. The transaction set can be used to enable a Direct Store Delivery (DSD) vendor to communicate the details of a DSD delivery and is to be used during the check-in procedure. </xsd:documentation>
                   <xsd:appinfo>
                        <UNMKey>Full|CodeList|-&lt;Parent Node ID&gt;.&lt;Index&gt;|Composite|-&lt;Node ID&gt;|Element|-&lt;Node ID&gt;|Loop|-&lt;Node ID&gt;|Segment|-&lt;Node ID&gt;|Transaction|-&lt;Node ID&gt;|ReplacementCharacter|_|InternalSeparator|-</UNMKey>
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Internal-Properties" type="Internal-Properties" minOccurs="0"/>
                   <xsd:element name="Segment-ST" type="Segment-ST"/>
                   <xsd:element name="Segment-G82" type="Segment-G82"/>
                   <xsd:element name="Segment-N9" type="Segment-N9" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
                   <xsd:element name="Loop-LS" type="Loop-LS" minOccurs="0" nillable="true"/>
                   <xsd:element name="Segment-G72" type="Segment-G72" minOccurs="0" maxOccurs="20" nillable="true"/>
                   <xsd:element name="Segment-G23" type="Segment-G23" minOccurs="0" maxOccurs="20" nillable="true"/>
                   <xsd:element name="Segment-G84" type="Segment-G84"/>
                   <xsd:element name="Segment-G86" type="Segment-G86"/>
                   <xsd:element name="Segment-G85" type="Segment-G85"/>
                   <xsd:element name="Segment-SE" type="Segment-SE"/>
              </xsd:sequence>
              <xsd:attribute name="Type" default="Transaction" type="xsd:string"/>
              <xsd:attribute name="ID" default="894" type="xsd:string"/>
              <xsd:attribute name="Name" default="Delivery/Return Base Record" type="xsd:string"/>
              <xsd:attribute name="XDataVersion" fixed="2.0" type="xsd:string"/>
              <xsd:attribute name="Standard" fixed="X12" use="required" type="xsd:string"/>
              <xsd:attribute name="Version" default="V5010" type="xsd:string"/>
              <xsd:attribute name="GUID" type="GUID"/>
              <xsd:attribute name="CreatedBy" type="xsd:string"/>
              <xsd:attribute name="CreatedDate" type="xsd:dateTime"/>
         </xsd:complexType>
         <xsd:simpleType name="GUID">
              <xsd:restriction base="xsd:string">
                   <xsd:pattern value="\{[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\}"/>
              </xsd:restriction>
         </xsd:simpleType>
         <xsd:complexType name="EDI-Element-String-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:string">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-Integer-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:integer">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-Decimal-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:decimal">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-hexBinary-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:hexBinary">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-base64Binary-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:base64Binary">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="EDI-Element-Any-Type">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:string">
                        <xsd:attribute name="Type" default="Element" type="xsd:string"/>
                        <xsd:attribute name="EDIDataType" type="xsd:string"/>
                        <xsd:attribute name="Macro" type="xsd:string" use="optional"/>
                        <xsd:attribute name="ApplicationInfo" type="xsd:string"/>
                        <xsd:attribute name="ID" type="xsd:string"/>
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Internal-Properties">
              <xsd:sequence>
                   <xsd:element name="Data-Structure" type="Data-Structure" minOccurs="0" maxOccurs="unbounded"/>
              </xsd:sequence>
         </xsd:complexType>
         <xsd:complexType name="Data-Structure">
              <xsd:sequence>
                   <xsd:element name="Lookup" type="Lookup" minOccurs="0" maxOccurs="unbounded"/>
                   <xsd:element name="Property" type="Property" minOccurs="0" maxOccurs="unbounded"/>
                   <xsd:element name="Data-Structure" type="Data-Structure" minOccurs="0" maxOccurs="unbounded"/>
              </xsd:sequence>
              <xsd:attribute name="Name" type="xsd:string"/>
              <xsd:attribute name="GUID" type="GUID"/>
         </xsd:complexType>
         <xsd:complexType name="Lookup">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:string">
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Property">
              <xsd:simpleContent>
                   <xsd:extension base="xsd:string">
                        <xsd:attribute name="Name" type="xsd:string"/>
                   </xsd:extension>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Segment-ST">
              <xsd:annotation>
                   <xsd:documentation>To indicate the start of a transaction set and to assign a control number</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Element-143" type="Element-143"/>
                   <xsd:element name="Element-329" type="Element-329"/>
                   <xsd:element name="Element-1705" type="Element-1705" minOccurs="0" nillable="true"/>
              </xsd:sequence>
              <xsd:attribute name="Type" default="Segment" type="xsd:string"/>
              <xsd:attribute name="ID" default="ST" type="xsd:string"/>
              <xsd:attribute name="Name" default="Transaction Set Header" type="xsd:string"/>
         </xsd:complexType>
         <xsd:complexType name="Element-143">
              <xsd:annotation>
                   <xsd:documentation>Code uniquely identifying a Transaction Set </xsd:documentation>
              </xsd:annotation>
              <xsd:simpleContent>
                   <xsd:restriction base="EDI-Element-String-Type">
                        <xsd:enumeration value="100"/>
                        <xsd:enumeration value="101"/>
                        <xsd:enumeration value="102"/>
                        <xsd:enumeration value="103"/>
                        <xsd:enumeration value="104"/>
                        <xsd:enumeration value="105"/>
                        <xsd:enumeration value="106"/>
                        <xsd:enumeration value="107"/>
                        <xsd:enumeration value="108"/>
                        <xsd:enumeration value="109"/>
                        <xsd:enumeration value="110"/>
                        <xsd:enumeration value="111"/>
                        <xsd:enumeration value="112"/>
                        <xsd:enumeration value="113"/>
                        <xsd:enumeration value="120"/>
                        <xsd:enumeration value="121"/>
                        <xsd:enumeration value="124"/>
                        <xsd:enumeration value="125"/>
                        <xsd:enumeration value="126"/>
                        <xsd:enumeration value="127"/>
                        <xsd:enumeration value="128"/>
                        <xsd:enumeration value="129"/>
                        <xsd:enumeration value="130"/>
                        <xsd:enumeration value="131"/>
                        <xsd:enumeration value="132"/>
                        <xsd:enumeration value="133"/>
                        <xsd:enumeration value="135"/>
                        <xsd:enumeration value="138"/>
                        <xsd:enumeration value="139"/>
                        <xsd:enumeration value="140"/>
                        <xsd:enumeration value="141"/>
                        <xsd:enumeration value="142"/>
                        <xsd:enumeration value="143"/>
                        <xsd:enumeration value="144"/>
                        <xsd:enumeration value="146"/>
                        <xsd:enumeration value="147"/>
                        <xsd:enumeration value="148"/>
                        <xsd:enumeration value="149"/>
                        <xsd:enumeration value="150"/>
                        <xsd:enumeration value="151"/>
                        <xsd:enumeration value="152"/>
                        <xsd:enumeration value="153"/>
                        <xsd:enumeration value="154"/>
                        <xsd:enumeration value="155"/>
                        <xsd:enumeration value="157"/>
                        <xsd:enumeration value="158"/>
                        <xsd:enumeration value="159"/>
                        <xsd:enumeration value="160"/>
                        <xsd:enumeration value="161"/>
                        <xsd:enumeration value="163"/>
                        <xsd:enumeration value="170"/>
                        <xsd:enumeration value="175"/>
                        <xsd:enumeration value="176"/>
                        <xsd:enumeration value="179"/>
                        <xsd:enumeration value="180"/>
                        <xsd:enumeration value="185"/>
                        <xsd:enumeration value="186"/>
                        <xsd:enumeration value="187"/>
                        <xsd:enumeration value="188"/>
                        <xsd:enumeration value="189"/>
                        <xsd:enumeration value="190"/>
                        <xsd:enumeration value="191"/>
                        <xsd:enumeration value="194"/>
                        <xsd:enumeration value="195"/>
                        <xsd:enumeration value="196"/>
                        <xsd:enumeration value="197"/>
                        <xsd:enumeration value="198"/>
                        <xsd:enumeration value="199"/>
                        <xsd:enumeration value="200"/>
                        <xsd:enumeration value="201"/>
                        <xsd:enumeration value="202"/>
                        <xsd:enumeration value="203"/>
                        <xsd:enumeration value="204"/>
                        <xsd:enumeration value="205"/>
                        <xsd:enumeration value="206"/>
                        <xsd:enumeration value="210"/>
                        <xsd:enumeration value="211"/>
                        <xsd:enumeration value="212"/>
                        <xsd:enumeration value="213"/>
                        <xsd:enumeration value="214"/>
                        <xsd:enumeration value="215"/>
                        <xsd:enumeration value="216"/>
                        <xsd:enumeration value="217"/>
                        <xsd:enumeration value="219"/>
                        <xsd:enumeration value="220"/>
                        <xsd:enumeration value="222"/>
                        <xsd:enumeration value="223"/>
                        <xsd:enumeration value="224"/>
                        <xsd:enumeration value="225"/>
                        <xsd:enumeration value="227"/>
                        <xsd:enumeration value="228"/>
                        <xsd:enumeration value="240"/>
                        <xsd:enumeration value="242"/>
                        <xsd:enumeration value="244"/>
                        <xsd:enumeration value="245"/>
                        <xsd:enumeration value="248"/>
                        <xsd:enumeration value="249"/>
                        <xsd:enumeration value="250"/>
                        <xsd:enumeration value="251"/>
                        <xsd:enumeration value="252"/>
                        <xsd:enumeration value="255"/>
                        <xsd:enumeration value="256"/>
                        <xsd:enumeration value="259"/>
                        <xsd:enumeration value="260"/>
                        <xsd:enumeration value="261"/>
                        <xsd:enumeration value="262"/>
                        <xsd:enumeration value="263"/>
                        <xsd:enumeration value="264"/>
                        <xsd:enumeration value="265"/>
                        <xsd:enumeration value="266"/>
                        <xsd:enumeration value="267"/>
                        <xsd:enumeration value="268"/>
                        <xsd:enumeration value="269"/>
                        <xsd:enumeration value="270"/>
                        <xsd:enumeration value="271"/>
                        <xsd:enumeration value="272"/>
                        <xsd:enumeration value="273"/>
                        <xsd:enumeration value="274"/>
                        <xsd:enumeration value="275"/>
                        <xsd:enumeration value="276"/>
                        <xsd:enumeration value="277"/>
                        <xsd:enumeration value="278"/>
                        <xsd:enumeration value="280"/>
                        <xsd:enumeration value="283"/>
                        <xsd:enumeration value="284"/>
                        <xsd:enumeration value="285"/>
                        <xsd:enumeration value="286"/>
                        <xsd:enumeration value="288"/>
                        <xsd:enumeration value="290"/>
                        <xsd:enumeration value="300"/>
                        <xsd:enumeration value="301"/>
                        <xsd:enumeration value="303"/>
                        <xsd:enumeration value="304"/>
                        <xsd:enumeration value="309"/>
                        <xsd:enumeration value="310"/>
                        <xsd:enumeration value="311"/>
                        <xsd:enumeration value="312"/>
                        <xsd:enumeration value="313"/>
                        <xsd:enumeration value="315"/>
                        <xsd:enumeration value="317"/>
                        <xsd:enumeration value="319"/>
                        <xsd:enumeration value="322"/>
                        <xsd:enumeration value="323"/>
                        <xsd:enumeration value="324"/>
                        <xsd:enumeration value="325"/>
                        <xsd:enumeration value="326"/>
                        <xsd:enumeration value="350"/>
                        <xsd:enumeration value="352"/>
                        <xsd:enumeration value="353"/>
                        <xsd:enumeration value="354"/>
                        <xsd:enumeration value="355"/>
                        <xsd:enumeration value="356"/>
                        <xsd:enumeration value="357"/>
                        <xsd:enumeration value="358"/>
                        <xsd:enumeration value="361"/>
                        <xsd:enumeration value="362"/>
                        <xsd:enumeration value="404"/>
                        <xsd:enumeration value="410"/>
                        <xsd:enumeration value="412"/>
                        <xsd:enumeration value="414"/>
                        <xsd:enumeration value="417"/>
                        <xsd:enumeration value="418"/>
                        <xsd:enumeration value="419"/>
                        <xsd:enumeration value="420"/>
                        <xsd:enumeration value="421"/>
                        <xsd:enumeration value="422"/>
                        <xsd:enumeration value="423"/>
                        <xsd:enumeration value="424"/>
                        <xsd:enumeration value="425"/>
                        <xsd:enumeration value="426"/>
                        <xsd:enumeration value="429"/>
                        <xsd:enumeration value="431"/>
                        <xsd:enumeration value="432"/>
                        <xsd:enumeration value="433"/>
                        <xsd:enumeration value="434"/>
                        <xsd:enumeration value="435"/>
                        <xsd:enumeration value="436"/>
                        <xsd:enumeration value="437"/>
                        <xsd:enumeration value="440"/>
                        <xsd:enumeration value="451"/>
                        <xsd:enumeration value="452"/>
                        <xsd:enumeration value="453"/>
                        <xsd:enumeration value="455"/>
                        <xsd:enumeration value="456"/>
                        <xsd:enumeration value="460"/>
                        <xsd:enumeration value="463"/>
                        <xsd:enumeration value="466"/>
                        <xsd:enumeration value="468"/>
                        <xsd:enumeration value="470"/>
                        <xsd:enumeration value="475"/>
                        <xsd:enumeration value="485"/>
                        <xsd:enumeration value="486"/>
                        <xsd:enumeration value="490"/>
                        <xsd:enumeration value="492"/>
                        <xsd:enumeration value="494"/>
                        <xsd:enumeration value="500"/>
                        <xsd:enumeration value="501"/>
                        <xsd:enumeration value="503"/>
                        <xsd:enumeration value="504"/>
                        <xsd:enumeration value="511"/>
                        <xsd:enumeration value="517"/>
                        <xsd:enumeration value="521"/>
                        <xsd:enumeration value="527"/>
                        <xsd:enumeration value="536"/>
                        <xsd:enumeration value="540"/>
                        <xsd:enumeration value="561"/>
                        <xsd:enumeration value="567"/>
                        <xsd:enumeration value="568"/>
                        <xsd:enumeration value="601"/>
                        <xsd:enumeration value="602"/>
                        <xsd:enumeration value="620"/>
                        <xsd:enumeration value="625"/>
                        <xsd:enumeration value="650"/>
                        <xsd:enumeration value="715"/>
                        <xsd:enumeration value="753"/>
                        <xsd:enumeration value="754"/>
                        <xsd:enumeration value="805"/>
                        <xsd:enumeration value="806"/>
                        <xsd:enumeration value="810"/>
                        <xsd:enumeration value="811"/>
                        <xsd:enumeration value="812"/>
                        <xsd:enumeration value="813"/>
                        <xsd:enumeration value="814"/>
                        <xsd:enumeration value="815"/>
                        <xsd:enumeration value="816"/>
                        <xsd:enumeration value="818"/>
                        <xsd:enumeration value="819"/>
                        <xsd:enumeration value="820"/>
                        <xsd:enumeration value="821"/>
                        <xsd:enumeration value="822"/>
                        <xsd:enumeration value="823"/>
                        <xsd:enumeration value="824"/>
                        <xsd:enumeration value="826"/>
                        <xsd:enumeration value="827"/>
                        <xsd:enumeration value="828"/>
                        <xsd:enumeration value="829"/>
                        <xsd:enumeration value="830"/>
                        <xsd:enumeration value="831"/>
                        <xsd:enumeration value="832"/>
                        <xsd:enumeration value="833"/>
                        <xsd:enumeration value="834"/>
                        <xsd:enumeration value="835"/>
                        <xsd:enumeration value="836"/>
                        <xsd:enumeration value="837"/>
                        <xsd:enumeration value="838"/>
                        <xsd:enumeration value="839"/>
                        <xsd:enumeration value="840"/>
                        <xsd:enumeration value="841"/>
                        <xsd:enumeration value="842"/>
                        <xsd:enumeration value="843"/>
                        <xsd:enumeration value="844"/>
                        <xsd:enumeration value="845"/>
                        <xsd:enumeration value="846"/>
                        <xsd:enumeration value="847"/>
                        <xsd:enumeration value="848"/>
                        <xsd:enumeration value="849"/>
                        <xsd:enumeration value="850"/>
                        <xsd:enumeration value="851"/>
                        <xsd:enumeration value="852"/>
                        <xsd:enumeration value="853"/>
                        <xsd:enumeration value="854"/>
                        <xsd:enumeration value="855"/>
                        <xsd:enumeration value="856"/>
                        <xsd:enumeration value="857"/>
                        <xsd:enumeration value="858"/>
                        <xsd:enumeration value="859"/>
                        <xsd:enumeration value="860"/>
                        <xsd:enumeration value="861"/>
                        <xsd:enumeration value="862"/>
                        <xsd:enumeration value="863"/>
                        <xsd:enumeration value="864"/>
                        <xsd:enumeration value="865"/>
                        <xsd:enumeration value="866"/>
                        <xsd:enumeration value="867"/>
                        <xsd:enumeration value="868"/>
                        <xsd:enumeration value="869"/>
                        <xsd:enumeration value="870"/>
                        <xsd:enumeration value="871"/>
                        <xsd:enumeration value="872"/>
                        <xsd:enumeration value="873"/>
                        <xsd:enumeration value="874"/>
                        <xsd:enumeration value="875"/>
                        <xsd:enumeration value="876"/>
                        <xsd:enumeration value="877"/>
                        <xsd:enumeration value="878"/>
                        <xsd:enumeration value="879"/>
                        <xsd:enumeration value="880"/>
                        <xsd:enumeration value="881"/>
                        <xsd:enumeration value="882"/>
                        <xsd:enumeration value="883"/>
                        <xsd:enumeration value="884"/>
                        <xsd:enumeration value="885"/>
                        <xsd:enumeration value="886"/>
                        <xsd:enumeration value="887"/>
                        <xsd:enumeration value="888"/>
                        <xsd:enumeration value="889"/>
                        <xsd:enumeration value="891"/>
                        <xsd:enumeration value="893"/>
                        <xsd:enumeration value="894"/>
                        <xsd:enumeration value="895"/>
                        <xsd:enumeration value="896"/>
                        <xsd:enumeration value="920"/>
                        <xsd:enumeration value="924"/>
                        <xsd:enumeration value="925"/>
                        <xsd:enumeration value="926"/>
                        <xsd:enumeration value="928"/>
                        <xsd:enumeration value="940"/>
                        <xsd:enumeration value="943"/>
                        <xsd:enumeration value="944"/>
                        <xsd:enumeration value="945"/>
                        <xsd:enumeration value="947"/>
                        <xsd:enumeration value="980"/>
                        <xsd:enumeration value="990"/>
                        <xsd:enumeration value="993"/>
                        <xsd:enumeration value="996"/>
                        <xsd:enumeration value="997"/>
                        <xsd:enumeration value="998"/>
                        <xsd:enumeration value="999"/>
                        <xsd:attribute name="EDIDataType" fixed="ID" type="xsd:string"/>
                        <xsd:attribute name="ID" fixed="143" type="xsd:string"/>
                        <xsd:attribute name="Name" fixed="Transaction Set Identifier Code" type="xsd:string"/>
                   </xsd:restriction>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Element-329">
              <xsd:annotation>
                   <xsd:documentation>Identifying control number that must be unique within the transaction set functional group assigned by the originator for a transaction set </xsd:documentation>
              </xsd:annotation>
              <xsd:simpleContent>
                   <xsd:restriction base="EDI-Element-String-Type">
                        <xsd:minLength value="4"/>
                        <xsd:maxLength value="9"/>
                        <xsd:attribute name="EDIDataType" fixed="AN" type="xsd:string"/>
                        <xsd:attribute name="ID" fixed="329" type="xsd:string"/>
                        <xsd:attribute name="Name" fixed="Transaction Set Control Number" type="xsd:string"/>
                   </xsd:restriction>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Element-1705">
              <xsd:annotation>
                   <xsd:documentation>Reference assigned to identify Implementation Convention </xsd:documentation>
              </xsd:annotation>
              <xsd:simpleContent>
                   <xsd:restriction base="EDI-Element-String-Type">
                        <xsd:minLength value="1"/>
                        <xsd:maxLength value="35"/>
                        <xsd:attribute name="EDIDataType" fixed="AN" type="xsd:string"/>
                        <xsd:attribute name="ID" fixed="1705" type="xsd:string"/>
                        <xsd:attribute name="Name" fixed="Implementation Convention Reference" type="xsd:string"/>
                   </xsd:restriction>
              </xsd:simpleContent>
         </xsd:complexType>
         <xsd:complexType name="Segment-G82">
              <xsd:annotation>
                   <xsd:documentation>To transmit identifying numbers, dates, and other basic data relating to the transaction set</xsd:documentation>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Element-478" type="Element-478"/>
                   <xsd:element name="Element-861" type="Element-861"/>
                   <xsd:element name="Element-860" type="Element-860"/>
    Regards,
    Suneel Jakka

  • Using XPath to create Document node

    Hi, could anyone suggest how to create Document nodes using xpaths with the help of some api (dom4j, JAXP, etc)?
    For example:
    With xpath="//A/B", I need to produce:
    <A>
    <B>.. </B>
    </A>
    XPath is usually used for querying XML document, but now I need to do the reverse.
    Thanks.

    DrClap, thanks for your reply.
    Yes, the topic title is a bit misleading. I shouldn't call it "Document" node.
    "And you have an XPath expression of a very restricted form which is supposed to describe the structure of that document."
    Not really, what I have is a bunch of xpath expressions, each of them describe a element in a xml.
    With these xpath expressions, in the end of the day I need to create a xml document with these elements.
    For example, if I have
    //A/B
    //A/C
    //A/D
    I need to create a xml like this:
    <A>
    <B> ...</B>
    <C>....</C>
    <D>.....</D>
    </A>
    While I could do this in a manual way (creating each element from the root and adding children one by one....), I'm sure dom4j (or other packages) can do this but I couldn't find how.

  • Problems using java.xml.xpath - How to get values from DTMNodeList?

    Sorry for the waffle in the subject title, but I was unsure what to call it. I hope this thread is in the correct forum.
    I'm having problems using xpath to parse some data from an XML file. I am able to create an expression which obtains the elements I wish to retreive, but I'm unsure on how to go about getting their values. So far I have..
    public int getTerms(int PMID)
              String uri = "http://www.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id="
                           + PMID + "&retmode=xml";
              // Create an XPath object with the XPathFactory class
              XPathFactory factory = XPathFactory.newInstance();
              XPath xPath = factory.newXPath();
              // Define an InputSource for the XML article
              InputSource inputSource = new InputSource(uri);
              // Create the expression
              String expression = "/PubmedArticleSet/PubmedArticle/MedlineCitation/MeshHeadingList/MeshHeading/DescriptorName";
              // Use this expression to obtain a NodeSet of all the MeSH Headings for the article
              try
                   DTMNodeList nodes = (DTMNodeList) xPath.evaluate(expression,
                         inputSource, XPathConstants.NODESET);
                   int length = nodes.getLength();
                   String[] terms = new String[length];
                   // Test mesh terms are being stored.
                    *for (int i=0; i<length; i++)*
    *                    System.out.println(i + ": " + nodes.item(i).getNodeValue());*
                                                    return nodes.getLength();
              catch (XPathExpressionException e2)
              { System.out.println("Article with PMID " + PMID + " has no associated MeSH terms");}
              // return a default
              return 0;
         } The part in bold is the problematic code. I wish to retreive the values of each of the nodes I have taken into my DTMNodeList using a for loop to iterate through each node, and use the getNodeValue() method from the Node class which should return a string. However, the values I retreive are NULL. In the test document I use, the elements do have values.
    Here is a snippet of the XML file I am reading in:
    <MeshHeadingList>
      <MeshHeading>
      <DescriptorName MajorTopicYN="N">Binding Sites</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Chromatium</DescriptorName>
      <QualifierName MajorTopicYN="Y">enzymology</QualifierName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="Y">Cytochrome c Group</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Electron Spin Resonance Spectroscopy</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Flavins</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Heme</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Hydrogen-Ion Concentration</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Iron</DescriptorName>
      <QualifierName MajorTopicYN="N">analysis</QualifierName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Magnetics</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Oxidation-Reduction</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Protein Binding</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Protein Conformation</DescriptorName>
      </MeshHeading>
    - <MeshHeading>
      <DescriptorName MajorTopicYN="N">Temperature</DescriptorName>
      </MeshHeading>
      </MeshHeadingList>Any help would be appreciated.. thanks :-)

    Answered my own question....
    The element value is actually the child of the node I am current at, so instead of doing:
    i + ": " + nodes.item(i).getNodeValue()); I should have really done:
    i + ": " + nodes.item(i).getChildNode().getNodeValue());

  • Use XPath to select one of the node??

    Can I use xpath to draw <param-value>/mnt/VISL/stats/stats/clarent2</param-value>
    only?
    I have tried to use ApplyXPath sample, but
    I don't know what xpath value I should use?
    I tried /doc/servlet/init-param/param-value
    but it certainly draw other tag with the same name
    Pls help!!!
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <servlet>
    <servlet-name>
    gen_daily
    </servlet-name>
    <servlet-class>
    gen_daily
    </servlet-class>
    <init-param>
    <param-name>clarent_init_dir</param-name>
    <param-value>/mnt/VISL/stats/stats/clarent2</param-value>
    </init-param>
    <init-param>
    <param-name>linefeed_mode</param-name>
    <param-value>2</param-value>
    </init-param>
    </servlet>
    <servlet>
    <servlet-name>
    RequestParamExample
    </servlet-name>
    <servlet-class>
    RequestParamExample
    </servlet-class>
    </servlet>
    <servlet>
    <servlet-name>
    RequestParamExample2
    </servlet-name>
    <servlet-class>
    RequestParamExample2
    </servlet-class>
    </servlet>
    <!-- Define example application events listeners -->
    <!-- Define servlets that are included in the example application -->
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <taglib>
    <taglib-uri>
    http://java.apache.org/tomcat/examples-taglib
    </taglib-uri>
    <taglib-location>
    /WEB-INF/jsp/example-taglib.tld
    </taglib-location>
    </taglib>
    <resource-ref>
    <res-ref-name>mail/session</res-ref-name>
    <res-type>javax.mail.Session</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    <security-constraint>
    <display-name>Example Security Constraint</display-name>
    <web-resource-collection>
    <web-resource-name>Protected Area</web-resource-name>
    <!-- Define the context-relative URL(s) to be protected -->
    <url-pattern>/jsp/security/protected/*</url-pattern>
    <!-- If you list http methods, only those methods are protected -->
    <http-method>DELETE</http-method>
    <http-method>GET</http-method>
    <http-method>POST</http-method>
    <http-method>PUT</http-method>
    </web-resource-collection>
    <auth-constraint>
    <!-- Anyone with one of the listed roles may access this area -->
    <role-name>tomcat</role-name>
    <role-name>role1</role-name>
    </auth-constraint>
    </security-constraint>
    </web-app>

    You have to start at the root and go down the XML tree.
    Try:
    /web-app/servlet/init-param/param-value
    Are you trying to use this in xsl?
    Kind regards,
    Hans.

  • Using XPath with the XML DOM

    I have just started to use the XML DOM API. One thing I cannot see yet is an easy way to use XPath to get the value of an element.
    What I would like to do is pass an XPath expression like this:
    \EDIFACT\ORDERS\NAD[2]\NAD01\NAD0102
    into a method, and get the value of the element returned to me.
    Does anybody know if there is a method of one of the DOM interfaces that would provide that kind of functionality, or am I going to have to traverse the nodes of the DOM tree manually to do this?
    BR,
    Tony.

    Hi Tony,
    I read your posted question - I have the same problem.
    I think that the method find_from_path_ns (or find_from_path) is the only "xpath"-like way to get a value.
    BUT the syntax is very limited so you cannot use all good features of xpath
    To traverse the nodes manually is (in my problem) unpractible - the xml-structures are different and it's horrible to traverse the tree.
    I need xpaths like ' //x/y[3]/z[a='MS']' . I know, the performance is not very good but for small XML-messages fast enough
    Do you have any solutions?
    regards
    Wolfgang Hummel

  • Document Definition XPATH expressions1, 2, & 3

    I want to put a semi advanced XPATH expression into my document definition. When I receive the EDI for this document, I can get a status code in 2 different segments depending on the type of status it is. I would like to use the following xpath expression to extract the data from either location an show it in the consoleI:
    /*[local-name()='Transaction-350']/*[local-name()='Loop-P4']/((*[local-name()='Segment-V9']/*[local-name()='Element-304']) | (*[local-name()='Loop-X4']/*[local-name()='Segment-X4']/*[local-name()='Element-35']))
    When I try to run this xpath against the application wire message in my favorite XML Editor (XML Spy or Jedit) it returns the correct value, but in B2B does not give me any output.
    Is it possible to use the | xpath operator in B2B?
    Thanks

    No. I don't think Oracle B2B supports this. You may consider using two separate XPath fields (XPath Expression1 and XPath Expression2) for this. It is a good requirement and I would suggest you to file an enhancement request with support.
    Regards,
    Anuj

  • Custom Document Definition - XPath Tab

    Hello B2B Gurus
    I am trying to understand the value of the XPath Tab for Custom Document Defn.
    1.What functionality does it provide? Documentation refers to extracting value form the Payload.
    2. I have a requiremnt to extract PO number from the payload. Can I search Reports based on the PO Number?
    3. Why do we have a hard limit of 3 XPathNames?
    XPath Tab
    XPath Name1
    The XML XPath name for retrieving the value from the payload
    XPath Expression1
    The XML XPath expression for retrieving the value from the payload (see Note below table)
    XPath Name2
    The XML XPath name for retrieving the value from the payload
    XPath Expression2
    The XML XPath expression for retrieving the value from the payload (see Note below table)
    XPath Name3
    The XML XPath name for retrieving the value from the payload
    XPath Expression3
    The XML XPath expression for retrieving the value from the payload (see Note below table)
    Thanks

    1.What functionality does it provide? Documentation refers to extracting value form the Payload.Yes, XPath is used to extract the values from the payload and you can see the extracted values at runtime on Reports. Currently there is provision of providing three XPaths and you can see all three XPath's value in reports. Basically it should be used for tracking purpose.
    2. I have a requiremnt to extract PO number from the payload. Can I search Reports based on the PO Number?Yes, actually this is the basic reason of having this functionality in Oracle B2B. To search on the basis of PO number, extracted by one of XPath expression, go to Reports section, click on "Advanced" button on right side of search section. This will enable one more button "Add Fields" beside "search", "reset" & "save" in the search section. When you click on "Add Fields", it will show a drop-down where you may select any of the parameters. If you select a XPath expression (for e.g. Xpath Expression1) then a search field "Xpath Expression1" will get added in search section. Now you can provide a value and criterion for seraching i.e. "Equals"/"Starts With"/"Contains"/"Ends With". Once you click on search button after proving value and selecting criterion, respected reports will get displayed.
    If you are on 11gR1 PS3 (11.1.1.4) then you may also use InstanceMessage API to programmatically access the instance message data. Here also you can use the xPath expression value -
    http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10229/b2b_api_imsg.htm#BABFEFCD
    http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e18158/toc.htm
    3. Why do we have a hard limit of 3 XPathNames?Generally this feature should be used for extracting key values from payload for tracking & monitoring purpose and hence limited to three. If you have a strong use case where you need more than three XPaths, then raise an ER with support and after reviewing your use case, B2B development may come up with a solution (may be a patch for current release or enhanced feature in future release)
    Regards,
    Anuj

  • New Apps Tab in document definition page of B2B Console

    Hi All,
    I am trying to figure out a way to convert all EDI formats into a single Canonical XSD format before sending it to SOA layer. This is to avoid different SOA services for each EDI format.
    Could you please let me know something about the Apps tab in document definition page of B2B Console. I am seeing an XSLT File field there. What can we use here?
    Regards,
    Raghav

    If I upload standard 850 ecs file in B2B, can B2B read all custom 850 files, transalte based on standard ecs and send it to SOA layer in a single XSD(850) format?It will be supported in future release. As of now, you have two options -
    1. Handle it at SOA by using XSLT transformations. Recommended.
    2. You may create a generic 850 ecs which can handle all custom 850 transactions at your end though this will have some limitations and I do not recommend it personally.
    And regarding Apps tab, can i create an XSLT file to convert EDI format to canonical format in B2B itself?No. B2B does not execute any XSLT to transform the messages.
    Regards,
    Anuj

  • De - Identification functionality in B2B Document Editor

    Hi Gurus,
    Does B2B document Editor have any functionality to De - Identify senstive data from H7 messages?
    Thanks,
    Datla

    Hi Datla,
    Yes, there is a de-identification support in Data Editor of B2B Document Editor. Once you open a EDI or HL7 doc with data editor, it will ask you to "Choose De-Identification and specify rule file". You may create a separate file for your use. Data Replacement Rule file is actually a XML which holds the separator information along with the data to be replaced. You may define your own DRR file.
    To know more, just open the Data Editor from Document Editor, go to Help --> Content -->Data Replace and De-Identify section.
    Regards,
    Anuj

  • Unable to use B2B Document Editor tool to create guideline from data file

    Does anyone successfully used the B2B Document Editor tool to generate the guideline doc from an HL7 data file ?
    I attempted to use the SpecGenerator feature of this tool to create a guideline from the "a01.xml" sample file in the HL7 tutorials (came with the B2B installation" and the wizard kept on giving me "parsing errors" message below
    "The data in the file could not be parsed. Please check the file to verify that it is valid and formatted correctly. This error can occur for one of the following reasons: A) The data file may be a Word document or have some other binary format. B) The envelope data may not be formatted properly. If this is an X12 data file, please verify that the ISA segment is the correct size (exactly 106 characters). If this is an EDIFACT data file, it must have either a UNA or begin with UNB. For other standards, verify that the envelope segments conform to the specified rules. C) The segment/record delimiters in the file are incorrect."
    Any idea why ? I did not alter the sample file in anyway -- its format is exactly the same as when it was installed.
    Any helps are appreciate !!

    Hi,
    I would suggest that you learn the B2B product starting with the HL7 tutorial. Start by importing the export files and follow the instructions to make the system work end to end.
    Next, you want to configure for the HL7 tutorial manually using the ecs and xsd files provided in the HL7 tutorial directory. Again, ensure that the system work end to end after you have done the manual configuration.
    Next, you create a new ecs and xsd file using the Document Editor from scratch and use them in your manual configuration. You can use the same doctype and version as in the tutorial so that you can be familiar with the Document Editor and at the end of this exercise, you know you have done things properly if the system works end to end. The documentation for Document Editor is mainly in the Windows Help section.
    After the incremental steps above, you will have the knowledge to implement the document type and version of your project. Going straight into the requirements in your project makes it difficult to debug because they are too many moving parts.
    Hope this helps,
    Eng

  • Using xpath expressions in Document-Builder

    Hi all
    we have re-designed our (existing) DDX-templates with the Document Builder in LC Workbench. The DDX templates are used to assemble PDFs with LC Assembler-Service.
    Now my question: Is it still possible to use XPath-expression in the DDX template? Please find our example below:
    The XPath expression works only if we copy&paste the DDX source code directly to the Assembler-Service property view (picture below). But referring the DDX-template doens't interpret the xpath path at run time (2nd picture below). Any help on that will be appreciated!
    Works (using DDX source code directly):
    Doesn't work (using DDX template):

    Hi,
    >
    I tried to get a portion of an XML by using XPath Expressions as follows:
    String xPathExpression =
    "declare namespace xq='http://inti.notariado.org/indices' " +
    "$this/xq:RULES/xq:RULE[@disabled]";
    I think any XPath expressions which use [] are not supported in stand alone
    version, but as this is not documented I could be wrong.
    Regards
    Arek

  • Error while using the B2B document editor

    Hi All,
    I am using B2B document editor version 6.6.0.2801 on Windows 7 32 bit.
    When i open any guideline the editor, i get the following error:
    One or more ActiveX controls could not be displayed because either:
    1)You current security settings prohibit running ActiveX controls on this pages, or
    2)You have blocked a publisher of one of the controls.
    As a result, the page might not display correctly.
    Could any please tell me how to overcome the error.
    Regards,
    Saurav Singla

    Hi Saurav,
    It looks like an Operating System issue. You may refer -
    http://social.technet.microsoft.com/Forums/en-US/w7itprosecurity/thread/90c3202c-448b-42b7-acf7-dab8dba7b000
    http://support.microsoft.com/kb/907343
    Regards,
    Anuj

  • Oracle Fusion Middleware 11G  B2B Document Type not getting Identified

    Hello,
    I have installed Oracle Fusion Middleware 11g on my local machine and created a custom document type with proper .xsd definition and XPath Expression Identifier in Oracle B2B interface and configured its trading partners ( Host & Remote ) along with an agreement between the partners.
    I have also configured the host listening channel of Generic-File type which picks xml files from my c:\orclsrvs_in folder.
    My problem is that the moment I drop any sample file in the expected directory, it gets picked up from B2B , but there isn't any record of the same under Reports and Metrics links.
    The Business message, Application message and Conversation message tabs are also not showing any information about the record picked, but in wire message tab, the record is shown in PROCESSING state.
    I am not able to conclude whats wrong behind this.. where can i track the logs for the same ??
    kindly help to resolve this issue.
    Thanks & Regards
    Hiteshkumar Chaudhary

    Hi Hitesh,
    i came to know that B2B extracts the TP name from the filename itselfYes, in case of Generic File, Generic SFTP and Generic FTP, file name provides the necessary values to Oracle B2B to identify the Trading Partner. You can define your own file name format in the Delivery Channel under Transport Protocol Parameters in field "Filename format" (It's an optional field but it is always good to define your own format, otherwise B2B will take it's default format - TradingPartner_DocumentType_Revision_msgType_msgId_replytoMsgID_extension.xml ). Following Filename formats can be used -
    %FROM_PARTY%
    %TO_PARTY%
    %DOCTYPE_NAME%
    %DOCTYPE_REVISION%
    %MSG_ID%
    %TIMESTAMP%
    These file name formats can be used in any combination; for example,
    %TO_PARTY%_%DOCTYPE_NAME%_%DOCTYPE_REVISION%.dat
    Note - Any file extension is allowed.
    what are the system parameters to be set in weblogic console and how?? This activity is part of the pre and post installation steps. If you have done those without getting any errors then nothing else is required.
    how shall I reinstall XEngine properly ??XEngine is part of B2B installation. If B2B gets installed without flashing any errors then we assume that other components of this part has installed properly.
    Regards,
    Anuj
    Edited by: Anuj Dwivedi, Infosys on Aug 28, 2009 5:51 PM

Maybe you are looking for