XPATH expression to get Array node

Hi
I have a problem with an XPATH expression in BPEL. I want to get to a particular node in the following result set ..
<return xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns3="http://com.quion.taken.services/ITakenService.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:Array" ns2:arrayType="ns3:com_quion_dto_taken_BouwnotaVoorraadDTO[2]">
<item xsi:type="ns3:com_quion_dto_taken_BouwnotaVoorraadDTO">
<begunstigde xsi:type="xsd:string">Sjoerd</begunstigde>
<datum xsi:type="xsd:dateTime">2005-10-31T23:00:00.000Z</datum>
<bedrag xsi:type="xsd:string">1000.0</bedrag>
<geldLeningId xsi:type="xsd:string">4.0</geldLeningId>
<rekeningnummer xsi:type="xsd:string">1234</rekeningnummer>
<notaId xsi:type="xsd:string">1.0</notaId>
</item>
<item xsi:type="ns3:com_quion_dto_taken_BouwnotaVoorraadDTO">
<begunstigde xsi:type="xsd:string">Laszlo</begunstigde>
<datum xsi:type="xsd:dateTime">2005-10-31T23:00:00.000Z</datum>
<bedrag xsi:type="xsd:string">1.0</bedrag>
<geldLeningId xsi:type="xsd:string">4.0</geldLeningId>
<rekeningnummer xsi:type="xsd:string">5678</rekeningnummer>
<notaId xsi:type="xsd:string">2.0</notaId>
</item>
</return>
The first thing is that my variable in BPEL does not show the ïtem"level", it shows for example 'return/notaId'.
However I can get to the second node by keying in
EXPRESSION 1:
bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[1]/notaId')
No I want to dynamically determine the particular node instance. I do this as follows [copied from the Array sample]:
EXPRESSION 2:
bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[', bpws:getVariableData('i'),']/notaId')
BPEL throws the following error
assignNotaId (faulted)
[2005/11/09 09:49:36] Updated variable "invokeTaskManager_initiateTask_InputVariable" More...
<invokeTaskManager_initiateTask_InputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
<task xmlns="http://services.oracle.com/bpel/task">
<taskId />
<title />
<creationDate />
<creator />
<modifyDate />
<modifier />
<assignee>jstein</assignee>
<status />
<expired />
<expirationDate />
<duration />
<priority />
<template />
<customKey />
<conclusion />
<attachment />
</task>
</part>
</invokeTaskManager_initiateTask_InputVariable>
[2005/11/09 09:49:36] Error in evaluate <from> expression at line "172". The result is empty for the XPath expression : "bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[', bpws:getVariableData('i'),']/notaId')".
[2005/11/09 09:49:36] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown. less
<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
<part name="summary">
<summary>empty variable/expression result. xpath variable/expression expression "bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[', bpws:getVariableData('i'),']/notaId')" is empty at line 172, when attempting reading/copying it. Please make sure the variable/expression result "bpws:getVariableData('invokeGetBouwnotaVoorraadVoorLening_getBouwnotaVoorraadVoorLening_OutputVariable','return','/return/item[', bpws:getVariableData('i'),']/notaId')" is not empty.</summary>
What is wrong with my expression 2?
Thanks
Jan Willem

This Example works fine for arrays that are part of a WSDL message.
But in 10.1.3.1 this does not work with a array that is part of an XSD declaration
for Example XSD snippet
<xsd:element name="itemList">
          <xsd:complexType>
               <xsd:sequence>
                    <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:Item" />
               </xsd:sequence>
          </xsd:complexType>
     </xsd:element>
using the following in assign statement
<copy>
<from expression="concat('/ns9:itemList/ns9:Item[',string(bpws:getVariableData('index')),']')"/>
<to variable="idxXpath"/>
</copy>
<copy>
<from expression="bpws:getVariableData('OutputItemList',bpws:getVariableData('idxXpath'))"/>
<to variable="idx_item"/>
</copy>
gives a compiler error that is
Error(176):
[Error ORABPEL-10085]: invalid argument
[Description]: in line 176 of "D:\OnlineShopping_1\bpel\OnlineShopping.bpel", the second argument "bpws:getVariableData("idxXpath")" for getVariableData is not a literal expression.
[Potential fix]: Please correct the second argument, you might need to escape using single quote or " to make it literal.
Can anyone site the reason for the same or a possible solution?
Message was edited by:
user607972

Similar Messages

  • Xpath expression to get depth child element

    Hi
    I wanted to find the depth element (sub isuer) in the hierarchy of 93699V issuer through xpath expression .
    <?xml version="1.0" encoding="UTF-8"?>
    <issuer id="93699V">/>
    <subissuer id="06U99A">
    <subissuer id="52729N">
    <subissuer id="37932J">
    <subissuer id="322995"/>
    <subissuer id="35906P">
    <subissuer id="001575"/> //child of issuer 93699V. since no further child
    <subscriber id="771758"/> //child of issuer 93699V.since no further child
    </subissuer>//end of 37932J
    </subissuer>//end of 52729N
    </subissuer> //end of 06U99A
    </subissuer>
    <subissuer id="06099K">
    <subissuer id="06N99R"/>//child of issuer 93699V.since no further child
    </subissuer>
    <subissuer id="715680"/> ////child of issuer 93699V.since no further child
    </issuer>
    what is the xpath expression to find the depth child of 93699V.i .e o/p is as follows.Since now we have four depth element.
    001575
    771758
    06N99R
    715680
    Please let me know the xpath expression to get depth sub issuer

    Not sure if this helps, there is a section about creating loops in the Workbench ES2 Help at http://help.adobe.com/en_US/livecycle/9.0/workbenchHelp/000187.html#1032146. Another way would be to use a custom component as you suggest but you can do it in Workbench as well.
    Hope that helps..
    ...Gil

  • XPath expression for getting nodes based on date

    Hello,
    using javax.xml.xpath.XPath (Java 5) I want to get only nodes with dates (element pubDate) greater then some provided date. What is the expression for getting, say only first two <item> nodes? Is it at all possible?
    Example XML document:
    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0">
         <channel>
              <title>Channel title</title>
              <link>http://www.foo.bar</link>
              <description>Channel description</description>
              <item>
                   <title>title 1</title>
                   <link>http://foo.bar.org/1</link>
                   <author>author 1</author>
                   <pubDate>Thu, 15 Jun 2006 13:14:00 GMT</pubDate>
              </item>
              <item>
                   <title>title 2</title>
                   <link>http://foo.bar.org/2</link>
                   <author>author 2</author>
                   <pubDate>Thu, 15 Jun 2006 13:11:00 GMT</pubDate>
              </item>
              <item>
                   <title>title 3</title>
                   <link>http://foo.bar.org/3</link>
                   <author>author 3</author>
                   <pubDate>Thu, 14 Jun 2006 13:03:00 GMT</pubDate>
              </item>
              <item>
                   <title>title 4</title>
                   <link>http://foo.bar.org/4</link>
                   <author>author 4</author>
                   <pubDate>Thu, 13 Jun 2006 12:59:00 GMT</pubDate>
              </item>
         </channel>
    </rss>Thanks for any hints!

    I would simply assign value to a variable inside package and use the value in the expression. You can also add variable to configuration if you want to pass a value from outside. You can also add another variable to determine whether you need yesterday or
    specific date and set expression accordingly so that you expression will look like
    (DT_WSTR,30)([User::DateCategory] == "Specific Date"? @[User::Date]:(DT_WSTR, 4) DATEPART( "yyyy", DATEADD( "dd" , -1, GETDATE() ) ) + Right("0"+(DT_WSTR, 2)DATEPART( "mm", DATEADD( "dd" , -1, GETDATE() ) ),2) + Right("0"+(DT_WSTR, 2)DATEPART( "dd", DATEADD( "dd" , -1, GETDATE() ) ) ,2)) +"_*.TXT"
    DateCategory variable should be of type string
    and Date should of type date
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • In XSLT, make XPath expression to retrieve attribute nodes

    I have a problem fetching attribute nodes in an Xpath expression.
    SOAP Request:
    <Create ID=5/>
    <Name>Per</Name>
    I want to fetch the value of ID and put it into another variable with an XPath expression in a XSLT transformation.
    If you look at http://www.w3schools.com/xpath/xpath_syntax.asp
    You should be able to do this with "//Create[@ID]" according to the examples, but this is not working at all in JDev.
    Any thoughts?
    /Per

    Thanks, that worked!
    Just thought about it. How do you do the other way around.
    <Create>
    <ID>7</ID>
    to
    <Create ID=7>
    .

  • XPath - How to get only second matching node?

    Hello,
    withs this XPath expression:
    //td[contains(@name, 'FirstColumn')]on this XML:
    <html>
         <table>
              <tr>
                   <td name="MyFirstColumnInRow">A11 - skip me!</td>
                   <td name="MySecondColumnInRow">A12</td>
              </tr>
              <tr>
                   <td name="MyFirstColumnInRow">A21 - find me!</td>
                   <td name="MySecondColumnInRow">A22</td>
              </tr>
              <tr>
                   <td name="MyFirstColumnInRow">A31 - skip me!</td>
                   <td name="MySecondColumnInRow">A32</td>
              </tr>
         </table>
    </html>I have got three matching nodes: A11, A21, A31 .
    How to expand this XPath expression to get only the second node: A21 ?
    I can't find appropriate solution.
    Thanks in advance.

    Why don't you get all the nodes and than you can do whatever you want? You can even get an iterator (here commented out) or write your rule in a loop.
        public static Document parseXmlIntoDOM(File xmlFile,boolean validating,boolean spaceAware) throws XMLException{
            Document document = null;
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            factory.setValidating(validating);  
            factory.setNamespaceAware(spaceAware);
            try {
               DocumentBuilder builder = factory.newDocumentBuilder();
               document = builder.parse(xmlFile);
            catch (SAXException sxe) {throw new XMLException("An error in parsing the input source",sxe);}
            catch (ParserConfigurationException pce) {throw new XMLException("An error in parsing the input source",pce);}
            catch (IOException ioe) {throw new XMLException("An error in parsing the input source",ioe);}
            return document;
        public static void main(String args[]){
            Document dom;
            try{
                File file = new File("C:\\Documents and Settings\\diego\\xml\\newXMLDocument.xml");       
                dom = parseXmlIntoDOM(file,false,true);
                XPath xpath = XPathFactory.newInstance().newXPath();
                String expression = "/html/table/tr/td";
                DTMNodeList tdNodes = (DTMNodeList)xpath.evaluate(expression, dom, XPathConstants.NODESET);
                //DTMIterator iterator=tdNodes.getDTMIterator();
                Node secondinstance = tdNodes.item(2);
                System.out.println(secondinstance.getTextContent());
                }catch(Exception e){
                    e.printStackTrace();
        }This works just fine for me and that is my output (in the standard):
    compile:
    run:
    A21 - find me!
    BUILD SUCCESSFUL (total time: 1 second)Sorry the code I wrote is awful, but working. P.S. is there a way for not using the "DTM" api?

  • Generate xpath expression from xslt

    How can I generate an xpath expression for a selected node within xslt? I've found ways to get the node name, it's number and so on, but there doesn't seem to be a simple way to just print out the nodes xpath ( besides writing some type of recursive template )
    The application is to set an HTML <input/> fields name attribute to the XPATH. That way, from within my app I can catch the update values and apply using XPATH.

    Typically you will be using the XSLT functions like position(), for the actual position of the node and of course other XSLT axis specifiers like ancestor, sibling, descendant, etc. For more info go to http://www.mulberrytech.com and http://www.zvon.org for tutorials.
    Hope this helps

  • Help need on XPath expression

    Hi All,
    I have xml file like
    - <aob:AOB-XML xmlns:aob="aob.kana.com" aob:file="\\training3\iq\data\system\knowledgebases\2404\2404.aob" aob:encoding="unicode">
    - <o:Folder xmlns:o="cbr 1.aob.kana.com" aob:objid="O172">
    <o:Title aob:lang="German">Problems</o:Title>
    <o:Author_Creation_Information o:Date_and_Time="2004-04-23T12:53:17+05:30" />
    <o:Author_Modification_Information o:Author="O221" o:Date_and_Time="2004-04-23T12:53:29+05:30" />
    - <o:Problem aob:objid="O187">
    <o:Title aob:lang="German">Software Problem</o:Title>
    <o:Author_Creation_Information o:Date_and_Time="2004-04-23T12:53:17+05:30" />
    <o:Author_Modification_Information o:Author="O221" o:Date_and_Time="2004-04-23T12:54:14+05:30" />
    <o:Contained_in_Folders o:Title="O172" />
    </o:Problem>
    - <o:Problem aob:objid="O230">
    <o:Title aob:lang="German">Database Problem</o:Title>
    <o:Author_Creation_Information o:Author="O221" o:Date_and_Time="2004-04-23T12:53:29+05:30" />
    <o:Author_Modification_Information o:Author="O221" o:Date_and_Time="2004-04-23T12:53:50+05:30" />
    <o:Contained_in_Folders o:Title="O172" />
    </o:Problem>
    </o:Folder>
    </aob:AOB-XML>
    from the xml I need to write the Xpath expression to get the o:Title based on o:Author.
    Thanks
    Babu H

    please consider this the actual xml file
    - <aob:AOB-XML xmlns:aob="aob.kana.com" aob:file="\\3\iq\data\system\knowledgebases\2404\2404.aob" aob:encoding="unicode">
    - <o:Folder xmlns:o="cbr 1.aob.kana.com" aob:objid="O172">
    <o:Title aob:lang="German">Problems</o:Title>
    <o:Author_Creation_Information o:Time="2004-04-23T12:53:17+05:30" />
    <o:Author_Modification_Information o:Author="O221" o:Time="2004-04-23T12:53:29+05:30" />
    - <o:Problem aob:objid="O187">
    <o:Title aob:lang="German">Software Problem</o:Title>
    <o:Author_Creation_Information o:Time="2004-04-23T12:53:17+05:30" />
    <o:Author_Modification_Information o:Author="O221" o:Time="2004-04-23T12:54:14+05:30" />
    <o:Contained_in_Folders o:Title="O172" />
    </o:Problem>
    - <o:Problem aob:objid="O230">
    <o:Title aob:lang="German">Database Problem</o:Title>
    <o:Author_Creation_Information o:Author="O221" o:Time="2004-04-23T12:53:29+05:30" />
    <o:Author_Modification_Information o:Author="O221" o:Time="2004-04-23T12:53:50+05:30" />
    <o:Contained_in_Folders o:Title="O172" />
    </o:Problem>
    </o:Folder>
    </aob:AOB-XML>

  • BPEL Array node count + xpath

    Hello,
    Trying to get the size or count of the array node, but get selection error, any idea?
    in below inputvariable date <ns1:error> node is of type array and i am using the xpath query,
    count(bpws:getVariableData('outputVariable','payload','/ns1:transaction/ns1:exceptions[1]/ns1:error[1]')) to get count of error nodes, but getting selection error
    <transaction status="dfg" taskId="1" txnPriority="1">
    <ns1:txnIdentification>
    <ns1:txnId>dg</ns1:txnId>
    <ns1:instanceId>dg</ns1:instanceId>
    <ns1:processName>dg</ns1:processName>
    <ns1:branchCode>dg</ns1:branchCode>
    <ns1:moduleCode>hg</ns1:moduleCode>
    <ns1:currentUser>ghj</ns1:currentUser>
    <ns1:txnComment>hg</ns1:txnComment>
    <ns1:stage>h</ns1:stage>
    <ns1:taskOutcome>hgj</ns1:taskOutcome>
    <ns1:operation>hg</ns1:operation>
    <ns1:realm>gh</ns1:realm>
    </ns1:txnIdentification>
    <ns1:transactionData>
    <ns1:moduleData>hgj</ns1:moduleData>
    </ns1:transactionData>
    <ns1:exceptions>
    <ns1:error>
    <ns1:ecode>1</ns1:ecode>
    <ns1:etype>1</ns1:etype>
    <ns1:edesc>1</ns1:edesc>
    </ns1:error>
    <ns1:error>
    <ns1:ecode>1</ns1:ecode>
    <ns1:etype>1</ns1:etype>
    <ns1:edesc>1</ns1:edesc>
    </ns1:error>
    </ns1:exceptions>
    <ns1:txnAuditDetails>
    Thanks
    <ns1:prevRemarks>fg</ns1:prevRemarks>
    <ns1:currRemarks>fg</ns1:currRemarks>

    ora:countNodes('outputVariable','payload','/ns1:transaction/ns1:exceptions/ns1:error)
    use the above expression in the expression builder and assign to the variable on the right side....
    Thanks,
    N

  • [Error ORABPEL-10039]: invalid xpath expression  - array processing

    hi,
    I am trying to process multiple xml elements
    <assign name="setinsideattributes">
    <copy>
    <from expression="ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')"/>
    <to variable="ssn"/>
    </copy>
    </assign>
    where iterator is a index variable .
    I am getting into this error .
    Error(48):
    [Error ORABPEL-10039]: invalid xpath expression
    [Description]: in line 48 of "D:\OraBPELPM_1\integration\jdev\jdev\mywork\may10-workspace\multixm-catch\multixm-catch.bpel", xpath expression "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')" specified in <from> is not valid, because XPath query syntax error.
    Syntax error while parsing xpath expression "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')", at position "77" the exception is Expected: ).
    Please verify the xpath query "ora:getElement('Receive_1_Read_InputVariable','BILL','/ns2:BILL/ns2:CMS1500['bpws:getVariableData('iterator')']/ns2:HEADER/ns2:SSN')" which is defined in BPEL process.
    [Potential fix]: Please make sure the expression is valid.
    any information on how to fix this .
    thanks in advance

    check out this note here
    http://clemensblog.blogspot.com/2006/03/bpel-looping-over-arrays-collections.html
    hth clemens

  • Extracting node value from XPath Expression in OSB Conditional Branch

    HI All
    While using conditional branch in OSB,i only get an XPath Expression editor to set a variable used to test a condition.
    Now let's say my request is
    <Body>
    <exam:PersonSearchReq xmlns:exam="http://www.example.org">
    <exam:RequestorSSO>James</exam:RequestorSSO>
    </exam:PersonSearchReq>
    </Body>
    I write my XPath expression as :
    ./exam:PersonSearchReq/exam:RequestorSSO/text()
    Now if I test this using the tester application , insted of getting node value 'James' ,i get the entire node element ,i.e
    <exam:RequestorSSO xmlns:exam="http://www.example.org">James</exam:RequestorSSO>
    Please suggest how can i extract the text value.
    Regards,
    Chinmay

    Hi Guys
    Actually it turns out that you need to populate In-Variable to function is correctly.As soon as i entere 'body' in it,it worked fine.
    Thanks
    Chinmay

  • OAGIS Get XPath Expression

    We are using the OAGis schema and a client is sending us data in an expression instead of in the actual schema location using the <Get> portion of the schema.
    <Get uniqueIndicator="true">
          <Expression expressionLanguage="XPath">//Credit/FirstName[.="John"]</Expression>
          <Expression expressionLanguage="XPath">//Credit/LastName[.="Smith"]</Expression>
    </Get>What is the best way in BPEL to evaluate this xpath expression to set the FirstName to John and LastName to Smith? We are currently using a transform to parse each expression using XSLT into our database schema. It's not very elegant because it uses an if statement to check the path then has to parse out between the quotes then passes the value to the new var/schema.
    It seems like there should be a way to evaluate the XPath and set the path to the noted string.
    Thanks,

    This Example works fine for arrays that are part of a WSDL message.
    But in 10.1.3.1 this does not work with a array that is part of an XSD declaration
    for Example XSD snippet
    <xsd:element name="itemList">
              <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element maxOccurs="unbounded" minOccurs="1" ref="tns:Item" />
                   </xsd:sequence>
              </xsd:complexType>
         </xsd:element>
    using the following in assign statement
    <copy>
    <from expression="concat('/ns9:itemList/ns9:Item[',string(bpws:getVariableData('index')),']')"/>
    <to variable="idxXpath"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('OutputItemList',bpws:getVariableData('idxXpath'))"/>
    <to variable="idx_item"/>
    </copy>
    gives a compiler error that is
    Error(176):
    [Error ORABPEL-10085]: invalid argument
    [Description]: in line 176 of "D:\OnlineShopping_1\bpel\OnlineShopping.bpel", the second argument "bpws:getVariableData("idxXpath")" for getVariableData is not a literal expression.
    [Potential fix]: Please correct the second argument, you might need to escape using single quote or " to make it literal.
    Can anyone site the reason for the same or a possible solution?
    Message was edited by:
    user607972

  • Getting Invalid XPath expression

    Hi,
    I am parsing a XML document and reading a node with <xtags:valueOf .. select="product_name"/>. The value of product_name is :
    <product_name>SJE6 2004Q1, 1 RTU ESD, All platforms, 1 Year</product_name> , but I am getting the following exception :
    org.dom4j.InvalidXPathException: Invalid XPath expression: SJE6 2004Q1, 1 RTU ESD, All platforms, 1 Year Unexpected '2004'
    at org.dom4j.xpath.DefaultXPath.parse(DefaultXPath.java:316)
    at org.dom4j.xpath.DefaultXPath.<init>(DefaultXPath.java:63)
    at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:182)
    at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:198)
    at org.apache.taglibs.xtags.xpath.AbstractTag.createXPath(AbstractTag.java:195)
    at org.apache.taglibs.xtags.xpath.VariableTag.setSelect(VariableTag.java:143)
    I tried with <xtags:copyOf select=.../node() and text()/> but still getting the same exception. Not sure why its failing on 2004? Help!
    Thanks,
    -Ashish

    The problem was not in the <xtags:valueOf> but in the following expression :
    <xtags:variable id="lName" select="<%= product_name %>"/>
    where I wasassigning the value of <product_name> to a String (java) variable defined. But this will be another question : why is <xtags:variable> failing?

  • XPath expression for each node name

    <DATABASE>
       <TITLE>
          <LANGUAGES>SGML<LANGUAGES>
       <TITLE>
    </DATABASE>Is there a direct way of retrieving xpath expression for each node name other than iterating through each node and identifying the parent node.
    Ex:
    DATABASE
    DATABASE/TITLE
    DATABASE/TITLE/LANGUAGES

    If you set an element ID using the DOM parser you can then look it up using the ID.
    private void setElementIDNode(String tag, String IDAttribute){
            NodeList nodes = doc.getElementsByTagNameNS(docNS, tag);
            for (int i = 0; i < nodes.getLength(); i++){
                Element node = (Element)nodes.item(i);
                node.setIdAttribute(IDAttribute, true);
    Element e  = doc.getElementById(elementID);But at some point you still have to iterate through the document. I believe XML Pull Parsers are a little different but I don't have experience with them.

  • Selecting nodes using an XPath expression

    Assuming that I have a DOM Document object containing a valid XML file, what is the quickest way to select a subset of nodes from the document using an XPath expression. I would like the results in either a NodeList object or another Document object.
    Microsoft has a way to do this using a single method named 'selectNodes'. Why is querying an XML document so hard to do using java? Am I missing something?

    In case you're using Xalan take a look at org.apache.xpath.XPathAPI. The function selectNodeList(...) probably does what you want.
    Good luck.

  • 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

Maybe you are looking for