[ 
https://issues.apache.org/jira/browse/WSCOMMONS-255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Veithen resolved WSCOMMONS-255.
---------------------------------------

       Resolution: Fixed
    Fix Version/s: Axiom 1.2.8

This should now be fixed in trunk.

> AXIOM DOM based org.w3c.dom.Element.getElementsByTagName and 
> getElementsByTagNameNS do not funcion according to spec
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: WSCOMMONS-255
>                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-255
>             Project: WS-Commons
>          Issue Type: Bug
>          Components: AXIOM
>            Reporter: Gennady Shumakher
>            Assignee: Andreas Veithen
>             Fix For: Axiom 1.2.8
>
>
> The w3c spec states:
> getElementsByTagName
>     Returns a NodeList of all the Elements with a given tag name in the order 
> in which they would be encountered in a preorder traversal of the Document 
> tree.
> It looks that current implementation of 
> org.apache.axiom.om.impl.dom.ElementImpl looks only at the 1st level of 
> children and not through the tree.
> Here is the code snippet
>                 //Instantiate and parse soap message with AXIOM DOM
>               DocumentBuilderFactoryImpl.setDOOMRequired(true);
>                 Document doc 
> =DocumentBuilderFactoryImpl.newInstance().newDocumentBuilder().parse(new 
> FileInputStream(SOAP_EXAMPLE_XML));             
>               nl = doc.getDocumentElement().getElementsByTagName("return");
>               System.out.println("AXIOM DOM  XML Parser found " + 
> nl.getLength() + " element(s)");    //AXIOM DOM  XML Parser found 0 
> element(s) 
>                               
>               // Instantiate and parse document with xerces
>               
> System.getProperties().setProperty("javax.xml.parsers.DocumentBuilderFactory",
>  "org.apache.xerces.jaxp.DocumentBuilderFactoryImpl");
>               DocumentBuilderFactory dbf = 
> DocumentBuilderFactory.newInstance();
>               dbf.setNamespaceAware(true);
>               doc = dbf.newDocumentBuilder().parse(new 
> FileInputStream(SOAP_EXAMPLE_XML));
>               nl = doc.getDocumentElement().getElementsByTagName("return");
>               System.out.println("XERCES XML Parser found " + nl.getLength() 
> + " element(s)"); // XERCES XML Parser found found 1 element(s)
> SOAP_EXAMPLE_XML.file:
> <soapenv:Envelope 
>       xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
>       xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
>  <soapenv:Body>
>   <xsd:startSessionResponse
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
>    <return xsi:type="xsd:string">sessionID</return>
>   </xsd:startSessionResponse>
>  </soapenv:Body>
> </soapenv:Envelope>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to