XML DOM API vs. XPATH

Hi,
We are using Oracle v9.2.0.4. Can any one share there knowledge regarding the XML DOM API and XPATH? What are pros and cons using either approaches? In terms of performance, what approach much better? Also, which approach can maintain the CDATA?
Here is a sample of an XML. Please show some sample on how to get the values for SHOP element using both XML DOM API vs. XPATH.
<FILTER>
<USER_NAME></USER_NAME>
<PROFILE>
<SHOP>TOYS 'R US</SHOP>
<SHOP>TONY & MARIE'S SHOP</SHOP>
<SHOP>A HUGE STORE <Sample Name></SHOP>
</PROFILE>
</FILTER>
Thank you in advance.

Refer
http://forums.oracle.com/forums/thread.jspa;jsessionid=8d922006ce6dda4555e27134d9c9502b63e2f3808d1.rQjwahaM-AXMmkbGngTxpQOUaNaKaxD3lN4OagSLb3mIaN8IbwSLa30Qn3qP-x4KbhiKbA8Omh8Q-wOSa30K8Oz1iNyKb2TRnk8LaN8IpR9vmQLz-AbJpgaTahaPbN8Kc3uxf2bdeNf+lQnJqBjHqNeL8QfznA5Pp7ftolbGmkTy?messageID=449186&#449186

Similar Messages

  • 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

  • Bug in XML DOM

    there is a bug in XML DOM API in Safari for Windows. The same bug was in FireFox 2 https://bugzilla.mozilla.org/show_bug.cgi?id=206053
    Hmm... how to report it to Apple?

    You should use the following function instead:
    public NodeList getElementsByTagNameNS(java.lang.String namespaceURI,
    java.lang.String localName)

  • How to move XML tree to another level using DOM api ?

    <p>
    Hi,
    </p>
    <p>
    I have a followin function
    </p>
    <p>
    <font face="courier new,courier"><strong>    public void printEmployeesAsXML(){
    </strong></font>
    </p>
    <p>
    <font face="courier new,courier"><strong>        ViewObject vo = getEmployees();
            Node no = vo.writeXML(-1,XMLInterface.XML_OPT_ALL_ROWS);
            XMLNode oraXML = (XMLNode)no; 
            try {
                    oraXML.print(System.out);
                } catch (IOException e) {
                    e.printStackTrace();
        } </strong></font>
    </p>
    <p>
    <font face="courier new,courier"><strong>that gives me following XML:</strong></font>
    </p>
    <p>
    <font face="courier new,courier"><strong>&lt;Employees&gt;
       &lt;Employee&gt;
          &lt;Empno&gt;7369&lt;/Empno&gt;
          &lt;LastName&gt;SMITH&lt;/LastName&gt;
          &lt;Job&gt;CLERK&lt;/Job&gt;
          &lt;Manager&gt;7902&lt;/Manager&gt;
          &lt;HireDate&gt;1980-12-17&lt;/HireDate&gt;
          &lt;Salary&gt;800&lt;/Salary&gt;
          &lt;Deptno&gt;20&lt;/Deptno&gt;
       &lt;/Employee&gt;</strong></font>
    <font face="courier new,courier"><strong>&lt;/Employees&gt;</strong></font>
    </p>
    <p>
    I always wil have only one row, so I need following XML:
    <font face="courier new,courier"><strong>
       &lt;Employee&gt;
          &lt;Empno&gt;7369&lt;/Empno&gt;
          &lt;LastName&gt;SMITH&lt;/LastName&gt;
          &lt;Job&gt;CLERK&lt;/Job&gt;
          &lt;Manager&gt;7902&lt;/Manager&gt;
          &lt;HireDate&gt;1980-12-17&lt;/HireDate&gt;
          &lt;Salary&gt;800&lt;/Salary&gt;
          &lt;Deptno&gt;20&lt;/Deptno&gt;
       &lt;/Employee&gt;</strong></font>
    </p>
    <p>
    Question is how to remove <strong>&lt;/Employees&gt;</strong> tag using w3c DOM API and move tree one level above
    </p>
    <p>
    Kuba 
    </p>
    <p>
    </p>

    The XSLT for the required transformation is as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml"/>
    <xsl:template match="/Employees">
    <xsl:copy-of select="Employee"/>
    </xsl:template>
    </xsl:stylesheet>

  • How can I analyse corba idl files just as xml files are analysed by dom api

    I want to analyse and control corba idl files just like xml. We know that xml can be controled with org.omg.dom api, every element in xml can be read and write.But now, I want to realize a small program which can read every element in idl (eg. module, interface, methord) and auto-produce a element-tree. How can I do? Have dom api for idl files?

    You need a parser - try Antlr (http://www.antlr.org/). I believe it comes with an IDL grammar.
    Chuck

  • Problem with DOM API

    Hi,
    I use org.w3c.dom to create an XML file.
    I need to configure "xmlns" into father and child tags, because I have to send my XML to a soap webservice,
    and the server arises "error in schema XML" if I put "xmlns" only in father, not in child.
    The problem is that DOM API automatically removes the "xmlns" from child, and I didn't find a way to force it
    to use "xmlns" at any time.
    This is my XML before to generate the DOM tree:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?> 
      <nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2"> 
        <enviNFe versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe"> 
          <idLote>75600</idLote> 
          <NFe xmlns="http://www.portalfiscal.inf.br/nfe"> 
            ... many internal tags ...
          </NFe> 
        </enviNFe> 
    </nfeDadosMsg>After to generate the DOM tree, NFe becomes without "xmlns", only "<NFe>".
    If I change to:
    <NFe xmlns="http://www.portalfiscal.inf.br/nfeXXX">then the DOM tree becomes fine with "xmlns" into enviNFe and NFe, but
    because the xmlns's are differents.

    If you stop thinking of that as an "xmlns attribute" and start thinking of it as what it really is, namely a namespace declaration, then you might understand the part of the DOM documentation which refers to namespaces better. You might also track down the rule which describes what a "default" namespace is and how it's inherited (and overridden) by child elements. Without that these things are just going to be a mystery to you.
    Also be sure to make your DOM be namespace-aware if you're going to use namespaces. By default it isn't. I believe it's the factory which has the setNamespaceAware method and not the parser.

  • Payload XML DOM Object Update using Java Embedding

    Hi,
    I have a Java Embedding activity which updates the payload after making
    a call to a local EJB. The EJB sends back updated information. In my Java
    Embedding activity i try to update the payload nodes with the new information.
    It get's really cumbersome to do this sort of thing in BPEL. Basically i am trying
    to remove an existing node in the payload and replace it with a new node.
    I did so may things that i really don't remember what are they. Finally i managed to
    update the payload with the following code.
    org.w3c.dom.Element payload = (org.w3c.dom.Element)getVariableData("inputVariable","payload","/MSG");
    org.w3c.dom.Element oldNode = (org.w3c.dom.Element)getVariableData("inputVariable","payload","/MSG/TSLData");
    org.collaxa.thirdparty.dom4j.Element tslElem = com.collaxa.cube.xml.dom.DOMFactory.convertToCollaxaElement(oldNode);
    oldNode = (org.w3c.dom.Element)getVariableData("inputVariable","payload","/MSG/REC");
    payload.removeChild(oldNode);
    msgElem = com.collaxa.cube.xml.dom.DOMFactory.convertToCollaxaElement(payload);
    msgElem.add(recElem);
    I feel that there no proper interface to update the data in the payload values with
    nodes, string etc. It would be nice if we don't have to work with
    com.collaxa.cube.xml.dom.DOMFactory
    org.collaxa.thirdparty.dom4j.Element
    the collaxa classes.
    We need to have more than setVariableData, bascally good payload manipulation API's.
    Let me know if there are any alternatives to do this.
    Thanks,
    Senthil L

    I have been having the same difficulties. Were you able to find any documentation or javadocs for the Collaxa libraries? If so, I would greatly appreciate locating them.

  • How to identify a CDATA section in DOM API?

    I'm having a problem reading a CDATA section from using the DOM API. A call to Node.getNodeType() doesn't return CDATA_SECTION_NODE as expected but returns TEXT_NODE. Also, a call to getValue() doesn't return <![CDATA[<foo>]]> but returns
    <foo> instead. Does anyone know how to get getNodeType() to return the proper value?
    For example suppose I have the following XML:
    <?XML version="1.0"?>
    <document>
    <elm><![CDATA[text with <b>HTML</b>]]></elm>
    </document>
    A call to getNodeType() for the value Node (the child of the <elm> node) returns TEXT_NODE. I would expect it to return CDATA_SECTION_NODE.
    Ken

    C'mon Oracle people -- help me out here,
    Is this a known bug or what? I just discovered that if you do a cloneNode()
    the CDATA section gets messed up, too.
    Ken
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Kenneth Liu ([email protected]):
    I'm having a problem reading a CDATA section from using the DOM API. A call to Node.getNodeType() doesn't return CDATA_SECTION_NODE as expected but returns TEXT_NODE. Also, a call to getValue() doesn't return <![CDATA[<foo>]]> but returns
    <foo> instead. Does anyone know how to get getNodeType() to return the proper value?
    For example suppose I have the following XML:
    <?XML version="1.0"?>
    <document>
    <elm><![CDATA[text with <b>HTML</b>]]></elm>
    </document>
    A call to getNodeType() for the value Node (the child of the <elm> node) returns TEXT_NODE. I would expect it to return CDATA_SECTION_NODE.
    Ken<HR></BLOCKQUOTE>
    null

  • Using DOM APIs

    Hi all,
    I am using the org.w3c.dom api to create a new xml document, say. for eg., as shown below -
    <root>
    <element>
    <child 1> value </child1>
    <child 2> value </child2>
    </element>
    </root>
    I used the following code to get this file generated -
    try{
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    Document documentDA = builder.newDocument();
    Element rootDA = documentDA.createElement("root");
    documentDA.appendChild(rootDA);
    Node elementDA = rootDA.appendChild(documentDA.createTextNode("element"));
         Node child1 = elementDA.appendChild(documentDA.createTextNode("child1"));
         child1.setTextContent("1");
         Node child2 = elementDA.appendChild(documentDA.createTextNode("child2"));
         child2.setTextContent("desc1");
    Once the "element" is created under the root, I would like to know the API to create the two children under this element. I get heirarchy exceptions thrown with the above code. Please help me to resolve the issue and let me know the exact API for creating the children nodes.
    Thanks in advance!!!!

    You are not adding the elementDA to the root node each time it is created. You only do it after the loop.
    This should work better:
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              DocumentBuilder builder = factory.newDocumentBuilder();
              Document documentDA = builder.newDocument();
              Element rootDA = documentDA.createElement("DedicatedAccounts");
              documentDA.appendChild(rootDA);
              Node elementDA = null;
              for (int i = 0; i < 2; i++) {
                   elementDA = documentDA.createElement("DedicatedAccount");
                   rootDA.appendChild(elementDA);
                   Node DAID = documentDA.createElement("DAID");
                   Node DADesc = documentDA.createElement("DAdesc");
                   DAID.appendChild( documentDA.createTextNode( Integer.toString(i) ) );
                   DADesc.appendChild( documentDA.createTextNode( "desc" ) );
                   elementDA.appendChild(DAID);
                   elementDA.appendChild(DADesc);
              Transformer xformer = TransformerFactory.newInstance().newTransformer();
              xformer.transform(new DOMSource(rootDA), new StreamResult(System.out));- Roy
    P.S. When you post code mark the code in your post, and press the code button. This add tag before and after your code and makes it a lot more readable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to SAVE a updated XML DOM Data to the file?

    Hi
    I am able to load an XML file into a XML DOM object using JAVA (xerces). I have update the required data in the DOM.
    But I am NOT able to save back the data to the physical file.
    Will appreciate if you can help me ASAP.

    Hi Krishar,
    Check out the jaxp new release on java.sun.com. This api has classes and methods to help you do the same.
    sample code:
         try
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              java.net.URL url = this.getClass().getResource(XML_FILE);
              java.io.File thsFile = new java.io.File(url.getFile());
              DocumentBuilder builder = factory.newDocumentBuilder();
              TransformerFactory tFactory = TransformerFactory.newInstance();
              Transformer transformer = tFactory.newTransformer();
              document = builder.parse(thsFile);
    //You can do any modification to the document here
              DOMSource source = new DOMSource(document);
              StreamResult result = new StreamResult(thsFile);
              transformer.transform(source, result);
         catch (TransformerConfigurationException tce)
              System.out.println("\n** Transformer Factory error");
              System.out.println(" " + tce.getMessage());
              Throwable x = tce;
              if (tce.getException() != null)
                   x = tce.getException();
              x.printStackTrace();
         catch (TransformerException te)
              System.out.println("\n** Transformation error in add:");
              System.out.println(" " + te.getMessage());
              Throwable x = te;
              if (te.getException() != null)
                   x = te.getException();
              x.printStackTrace();
         catch (SAXException sxe)
              System.out.println("sax exp" + sxe.getMessage());
         catch (Exception ex)
              System.out.println("exc exp" + ex);
              ex.printStackTrace();
    Hope this will help you XML_FILE is constant representing the path of the file. It should be in classpath. The program essentially parsing a xml file and creating dom document and then writing it back to the same file. you can do any modifications/write to other file etc...
    Think this will suffice your requirement
    bye
    take care
    Hi
    I am able to load an XML file into a XML DOM object
    using JAVA (xerces). I have update the required data
    in the DOM.
    But I am NOT able to save back the data to the
    physical file.
    Will appreciate if you can help me ASAP.

  • Why is the "Common DOM API" not included in main JDK1.4 / JAXP1.1 packages?

    Hi,
    It's good the core XML DOM is implemented in Java, and even better that this is to become integrated into JDK1.4. However, I don't understand why the JDK1.4 / JAXP 1.1 only includes the "org.w3c.dom" package and not the other DOM packages ("org.w3c.dom.events", etc. such as those implemented in Xerces or those that appear in the Common DOM API).
    Can anyone explain how to use this functionality (all DOM APIs) using JAXP 1.1 or JDK 1.4 ? Or must I stick to including the Apache implementation?
    Some useful references:
    http://java.sun.com/j2se/1.4/docs/guide/plugin/dom/index.html
    http://xml.apache.org/xerces-j/
    Hopefully someone can explain this a bit more to me...
    Thanks,
    Chris

    I am curious for the answer to this as well... I have been using Java SDK 1.3.1 with Apache's xerces 2.0.0-beta4, and am now trying to upgrade to SDK 1.4 with xerces 2.0.0..
    Also, what about package org.w3c.dom.ranges? Does anyone know if this an Apache-defined package, or is it a standard w3c one (in which case, why is it not part of the Common DOM API set)?
    Thanks for any help!

  • MakeProcessingInstruction PL/SQL DOM API for XMLType

    Does anyone have a code snippet on how to use makeProcessingInstruction()(PL/SQL DOM API for XMLType)
    Description
    Casts a given DOMNode to a DOMProcessingInstruction, and returns the
    DOMProcessingInstruction.
    Syntax
    FUNCTION makeProcessingInstruction( n DOMNode)
    RETURN DOMProcessingInstruction;
    Thanks in advance

    pieter,
    I think you would want to use xmlview. A schema can be attached to the view definition, thereby creating a schema-based xmltype view.
    ie create view nameview of xmltype
    xmlschema "nameschema.xsd" ELEMENT "namehere"
    as
    select
    xmlelement ("....xmlforest(....(select xmlagg(xmlelement(....
    or something similar.
    see link for more information regarding xml views.
    http://www.vldb.org/conf/2003/papers/S30P02.pdf

  • Error java.lang.OutOfMemoryError using XML DOM parser

    Hi everyone,
    We are using Oracle 8.1.7 on Windows NT and trying to load XML into Oracle using the DOM API through PL/SQL. This is the method provided in the ORACLE_HOME\ora817\xdk\plsql\demo\domsample.sql which uses the XMLPARSER and XMLDOM PL/SQL packages.
    Now this works fine with small files (not sure about the exact file size). But for big files, it gives an error,
    ORA-29554: unhandled Java out of memory condition
    ORA-29532: Java call terminated by uncaught Java exception: java.lang.OutOfMemoryError
    We have increased the JAVA_POOL_SIZE from the default 20MB to 50MB. Not sure whether increasing this value will solve our problem and whether it is advisable to increase it to a higher value. Can anyone help, please ???
    Thanks.

    Steve,
    Thanks for the response. Now we are getting different error. In one of the questions earlier posted, someone (I think Jon) noted that following error (the one we are getting) can be resolved by using JDK 1.1.8, is there any specific JDK pre-req for XML Parser 0.9.8.6?
    Is it possible, to enhance release notes for 0.9.8.6 to include
    a) Tips mentioned in your mail (i.e. putting oracle xml parser 2.0.x before Apache/OJSP xmlparserv2.jar
    b) Dependencies on specific version of JDK
    Once again thanks for the responding to the mail and will appreciate a help to resolve this current error.
    Thanks,
    Shree
    Actual error :
    java.lang.IllegalArgumentException: sun.io.CharToB
    yteUTF-8
    at sun.io.CharToByteConverter.getConverterClass(Compiled Code)
    at sun.io.CharToByteConverter.getConverter(Compiled Code)
    at java.io.OutputStreamWriter.<init>(Compiled Code)
    at org.apache.jserv.JServConnection.getWriter(Compiled Code)
    at oracle.xml.xsql.XSQLServletPageRequest.setupWriter(Compiled Code)
    at oracle.xml.xsql.XSQLServletPageRequest.setContentType(Compiled Code)
    at oracle.xml.xsql.XSQLPageProcessor.process(Compiled Code)
    at oracle.xml.xsql.XSQLServlet.doGet(Compiled Code)
    at javax.servlet.http.HttpServlet.service(Compiled Code)
    at javax.servlet.http.HttpServlet.service(Compiled Code)
    at org.apache.jserv.JServConnection.processRequest(Compiled Code)
    at org.apache.jserv.JServConnection.run(Compiled Code)
    at java.lang.Thread.run(Compiled Code)
    null

  • XML-23002: (Error) internal xpath error while calling template

    Hi,
    I have used call-template named Chemloop in my xslt in the following way as attached in the xsl file. But when I am testing this xsl file through the bpel transformation, getting the error XML-23002: (Error) internal xpath error. Using this xslt I am converting a flat file into a xml file. My xslt except the call template part is working fine. Please suggest me if I m doing anything wrong.
    XSLT:
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
    <mapSources>
    <source type="WSDL">
    <schema location="../ReadASNNAEbizAlcanFileAdapter.wsdl"/>
    <rootElement name="SynchAdvancedShipmentNotice" namespace="http://oracle.com/EbizGateway/NA/SynchASN/V2"/>
    </source>
    </mapSources>
    <mapTargets>
    <target type="WSDL">
    <schema location="../ReadASNNAEbizAlcanFileAdapter.wsdl"/>
    <rootElement name="ShipNotice" namespace=""/>
    </target>
    </mapTargets>
    <!-- GENERATED BY ORACLE XSL MAPPER 11.1.1.6.0(build 111214.0600.1553) AT [TUE FEB 12 21:05:56 GMT+05:30 2013]. -->
    ?>
    <xsl:stylesheet version="2.0"
    xmlns:svcdoc="http://xmlns.oracle.com/Services/Documentation/V1"
    xmlns:aia="http://www.oracle.com/XSL/Transform/java/oracle.apps.aia.core.xpath.AIAFunctions"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:pc="http://xmlns.oracle.com/pcbpel/"
    xmlns:bpm="http://xmlns.oracle.com/bpmn20/extensions"
    xmlns:alcebo="http://oracle.com/EbizGateway/NA/SynchASN/V2"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
    xmlns:mhdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.mediator.service.common.functions.MediatorExtnFunction"
    xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:med="http://schemas.oracle.com/mediator/xpath"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:alcabcs="http://xmlns.oracle.com/pcbpel/adapter/file/T2FJAN/CreateASNNAEBIZAlcanProvABCSImpl/ReadASNNAEbizAlcanFileAdapter"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    exclude-result-prefixes="xsi xsl pc alcebo plnk wsdl jca xsd alcabcs aia bpws xp20 bpel bpm ora socket mhdr oraext dvm hwf med ids xdk xref ldap">
    <xsl:template match="/">
    <ShipNotice>
    <Header>
    <BOLNo>
    <xsl:value-of select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D1DP1_1000/alcebo:BILL_OF_LADING_1000"/>
    </BOLNo>
    <TripNo>
    <xsl:value-of select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D1DP1_1000/alcebo:TRIP_NAME_1000"/>
    </TripNo>
    <Action>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Action>
    <Attr1>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr1>
    <Attr2>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr2>
    <Attr3>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr3>
    <Attr4>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr4>
    <Attr5>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr5>
    </Header>
    <Shipment>
    <ShipDate>
    <xsl:value-of select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D1DP1_1000/alcebo:DEPARTURE_DATE_1000"/>
    </ShipDate>
    <RouteCode>
    <xsl:value-of select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT4_1010"/>
    </RouteCode>
    <xsl:choose>
    <xsl:when test='/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT1_1010 = "R"'>
    <RateRouteCode>
    <xsl:value-of select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT3_1010"/>
    </RateRouteCode>
    </xsl:when>
    <xsl:otherwise>
    <RateRouteCode>
    <xsl:value-of select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT1_1010"/>
    </RateRouteCode>
    </xsl:otherwise>
    </xsl:choose>
    <xsl:choose>
    <xsl:when test='/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT1_1010 = "R"'>
    <CarrierCode>
    <xsl:value-of select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT3_1010"/>
    </CarrierCode>
    </xsl:when>
    <xsl:otherwise>
    <CarrierCode>
    <xsl:value-of select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT1_1010"/>
    </CarrierCode>
    </xsl:otherwise>
    </xsl:choose>
    <TransportModeCode>
    <xsl:value-of select="substring(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT2_1010,1.0,1.0)"/>
    </TransportModeCode>
    <TransportModeType>
    <xsl:value-of select="normalize-space(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:RTIN1_1030/alcebo:ROUTING_INSTRUCTIONS1_1030)"/>
    </TransportModeType>
    <xsl:choose>
    <xsl:when test='normalize-space(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:SHIP_METHOD_CODE_EXT1_1010) = "R"'>
    <TrailerNo>
    <xsl:value-of select="concat(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:A1DL1_3600[1]/alcebo:DELIVERY_ATTRIBUTE1_3600,/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:A2DL2_3610[1]/alcebo:DELIVERY_ATTRIBUTE5_3610)"/>
    </TrailerNo>
    </xsl:when>
    <xsl:otherwise>
    <TrailerNo>
    <xsl:value-of select="normalize-space(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:EQUIPMENT_NUMBER_1010)"/>
    </TrailerNo>
    </xsl:otherwise>
    </xsl:choose>
    <SealNo>
    <xsl:value-of select="normalize-space(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D2DP2_1010[1]/alcebo:EQUIPMENT_SEAL_1010)"/>
    </SealNo>
    <Quantity>
    <xsl:value-of select='sum(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:UnpackedOrder/alcebo:UnpackedItemDetail/alcebo:I3IT3_4520/alcebo:SHIPPED_QUANTITY_4520) + sum(format-number(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:UnpackedOrder/alcebo:P1PO1_4000/alcebo:FREIGHT_TERMS_CODE_EXT3_4000,"##############0.00"))'/>
    </Quantity>
    <QuantityUOM>
    <xsl:value-of select="normalize-space(/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:D3DP3_1015[1]/alcebo:DELIVERY_TARE_WEIGHT_UOM_EXT1_1015)"/>
    </QuantityUOM>
    <Attr1>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr1>
    <Attr2>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr2>
    <Attr3>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr3>
    <Attr4>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr4>
    <Attr5>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr5>
    <ShipmentItems>
    <xsl:for-each select="/alcebo:SynchAdvancedShipmentNotice/alcebo:AdvanceShipmentNotice/alcebo:ASNShipmentLevel/alcebo:UnpackedOrder">
    <ShipmentItem>
    <ShipListNo>
    <xsl:value-of select='concat(substring("0000",1.0,4.0 - string-length(string(position()))),string(position()))'/>
    </ShipListNo>
    <OrderNo>
    <xsl:value-of select="normalize-space(alcebo:P1PO1_4000/alcebo:PURCHASE_ORDER_NUMBER_4000)"/>
    </OrderNo>
    <LineNo>
    <xsl:value-of select="normalize-space(alcebo:UnpackedItemDetail/alcebo:I2IT2_4510[1]/alcebo:CUST_PO_LINE_NUM_4510)"/>
    </LineNo>
    <ItemNoXref>
    <xsl:value-of select="normalize-space(alcebo:UnpackedItemDetail/alcebo:I1IT1_4500[1]/alcebo:BUYER_PART_NO_4500)"/>
    </ItemNoXref>
    <AlcoaPartNo>
    <xsl:value-of select="normalize-space(alcebo:UnpackedItemDetail/alcebo:I1IT1_4500[1]/alcebo:SUPPLIER_PART_NUMBER_4500)"/>
    </AlcoaPartNo>
    <Quantity>
    <xsl:value-of select="sum(alcebo:UnpackedItemDetail/alcebo:I3IT3_4520/alcebo:SHIPPED_QUANTITY_4520)"/>
    </Quantity>
    <QuantityUOM>
    <xsl:value-of select="normalize-space(alcebo:UnpackedItemDetail/alcebo:I3IT3_4520[1]/alcebo:ORDER_QUANTITY_UOM_INT_4520)"/>
    </QuantityUOM>
    <TareWeight>
    <xsl:value-of select='format-number(alcebo:P1PO1_4000/alcebo:FREIGHT_TERMS_CODE_EXT3_4000,"##############0.##")'/>
    </TareWeight>
    <TareWeightUOM>
    <xsl:value-of select="normalize-space(alcebo:UnpackedItemDetail/alcebo:I3IT3_4520[1]/alcebo:ORDER_QUANTITY_UOM_INT_4520)"/>
    </TareWeightUOM>
    <Attr1>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr1>
    <Attr2>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr2>
    <Attr3>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr3>
    <Attr4>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr4>
    <Attr5>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr5>
    <xsl:for-each select="alcebo:UnpackedItemDetail">
    <Bundle>
    <LotNo>
    <xsl:value-of select="alcebo:DeliveryDetail/alcebo:LSDET_5500[1]/alcebo:LOT_NUMBER_5500"/>
    </LotNo>
    <SubLotNo>
    <xsl:value-of select="alcebo:DeliveryDetail/alcebo:EX02_5591[1]/alcebo:DSNO_LEV06_EXT09_5591"/>
    </SubLotNo>
    <Quantity>
    <xsl:value-of select="alcebo:I3IT3_4520[1]/alcebo:SHIPPED_QUANTITY_4520"/>
    </Quantity>
    <QuantityUOM>
    <xsl:value-of select="alcebo:I3IT3_4520[1]/alcebo:ORDER_QUANTITY_UOM_INT_4520"/>
    </QuantityUOM>
    <Pieces>
    <xsl:value-of select="alcebo:DeliveryDetail/alcebo:EX02_5591[1]/alcebo:DSNO_LEV06_EXT10_5591"/>
    </Pieces>
    <Attr1>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr1>
    <Attr2>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr2>
    <Attr3>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr3>
    <Attr4>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr4>
    <Attr5>
    <xsl:text disable-output-escaping="no"></xsl:text>
    </Attr5>
    <!-- User Defined Templates -->
    <xsl:call-template name="Chemloop">
    <xsl:with-param name="i">1</xsl:with-param>
    </xsl:call-template>
    </Bundle>
    </xsl:for-each>
    </ShipmentItem>
    </xsl:for-each>
    </ShipmentItems>
    </Shipment>
    </ShipNotice>
    </xsl:template>
    <xsl:template name="Chemloop">
    <xsl:param name="i"/>
    <xsl:variable name="ChemRow"
    select="concat(/alcebo:DeliveryDetail[position()]/alcebo:EX01_5590[1]/alcebo:DSNO_LEV06_EXT01_5590,/alcebo:DeliveryDetail[position()]/alcebo:EX01_5590[1]/alcebo:DSNO_LEV06_EXT02_5590,/alcebo:DeliveryDetail[position()]/alcebo:EX01_5590[1]/alcebo:DSNO_LEV06_EXT03_5590,/alcebo:DeliveryDetail[position()]/alcebo:EX01_5590[1]/alcebo:DSNO_LEV06_EXT04_5590)"/>
    <xsl:variable name="ChemBlock"
    select="substring($ChemRow,1+($i-1)*33,33)"/>
    <xsl:if test="$ChemBlock!=' '">
    <ChemicalAnalysis>
    <ElementName>
    <xsl:value-of select="substring($ChemBlock,1,5)"/>
    </ElementName>
    <RNDValue>
    <xsl:value-of select="substring($ChemBlock,6,15)"/>
    </RNDValue>
    <ValueQualifier>
    <xsl:value-of select="substring($ChemBlock,21,2)"/>
    </ValueQualifier>
    <NumDecimals>
    <xsl:value-of select="substring($ChemBlock,23,3)"/>
    </NumDecimals>
    <DropNo>
    <xsl:value-of select="substring($ChemBlock,26,8)"/>
    </DropNo>
    </ChemicalAnalysis>
    </xsl:if>
    <xsl:if test="($ChemBlock=' ') and $i=1">
    <xsl:message terminate="yes">No Chemical data found</xsl:message>
    </xsl:if>
    <xsl:if test="$i &lt;= 26">
    <xsl:call-template name="Chemloop">
    <xsl:with-param name="i">
    <!-- Increment index-->
    <xsl:value-of select="$i + 1"/>
    </xsl:with-param>
    </xsl:call-template>
    </xsl:if>
    </xsl:template>
    </xsl:stylesheet>

    I can't get what are you trying to achieve by a construction like bellow...
    /alcebo:DeliveryDetail[position()]
    Remember XSLT is not a procedural language... a selector like /alcebo:DeliveryDetail[position() = $var] or just /alcebo:DeliveryDetail[$var] would make more sense...
    Cheers,
    Vlad

  • Nested while defining class: com.sun.xml.ws.api.WSBinding ???

    Why is this happening, I am trying to access servlet, 2.4 on the Webshere 6.1, installation as succesfull and the servlet is running without exceptions.
      nested while defining class: com.sun.xml.ws.api.WSBinding
    This error indicates that the class: javax.xml.ws.Binding
    could not be located while defining the class: com.sun.xml.ws.api.WSBinding
    This is often caused by having the class at a higher point in the classloader hierarchy
    Dumping the current context classloader hierarchy:
        ==> indicates defining classloader
        *** indicates classloader where the missing class could have been found
    ==>[0]
    com.ibm.ws.classloader.CompoundClassLoader@51905190
       Local ClassPath: C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\classes;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\aopalliance-1.0.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\commons-logging-1.1.1.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\jaxb-impl-2.1.7.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\jaxb-xjc-2.1.7.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\jaxws-rt-2.1.4.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\jaxws-rt-2.1.7.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\jaxws-spring-1.8.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\jboss-j2ee.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\jremote.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\log4j-1.2.9.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.aop-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.asm-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.beans-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.context-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.core-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.expression-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.jms-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.transaction-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\org.springframework.web-3.0.1.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\spring-batch-infrastructure-2.1.0.RELEASE.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\stax-ex-1.2.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\streambuffer-0.7.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\TWSCore.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war\WEB-INF\lib\xbean-spring-3.4.3.jar;C:\Program Files\IBM\WebSphere\AppServer2\profiles\AppSrv01\installedApps\UKDSK-DBURFORD1Node02Cell\myappservelett2_4_again_war.ear\myappservelett2.4_again.war
       Delegation Mode: PARENT_FIRST
       [1] com.ibm.ws.classloader.JarClassLoader@777399894 Local Classpath:  Delegation mode: PARENT_FIRSTEdited by: romanshtekelman on Sep 9, 2010 7:34 AM

    For future reference...
    We followed the following instructions and created a shared lib.
    http://download.oracle.com/docs/cd/E12524_01/web.1013/e12290/opensrc.htm#BABDDAIF
    We resolved most of our class loading issues.
    BR//Bahman

Maybe you are looking for

  • You do not have sufficient access rights, pls help

    Hi folks, I'm getting the "You do not have sufficient access rights" error accessing the Identity System Console. The same admin account can access User/Group/Org Manager screen, however, for some reasons user and group searches return no results. Th

  • End date for support of Solaris 2.5.1

    Is there anywhere that the end date for patch support for 2.5.1 can be found? A link would be most appreciated.

  • Fundamental question on Recovery

    DB version:10g Release 2 running on Solaris In one of our test databases, a developer accidently dropped all the objects in a schema. What are the options we have in recovering these objects? Currently the database is in NOARCHIVELOG mode.

  • Missing "Project Fields" webpart mystery

    This has to be the oddest thing I've ever encountered in years of Sharepoint administration, though I have less experience with Project Server administration.  Here goes. We've upgraded from Project Server 2010 to Project Server 2013 and have started

  • Bugging problem  BI7.0 and 4.7 EE RFCs

    Hi Friends, I installed  SAP BI7.0 and  4.7EE and i find the  source system as Inactive in  BI.. and so  contacted the Installation person about the problem. As per his  version , Though source system is active , data sources are replicated and so no