[ http://issues.apache.org/jira/browse/WSCOMMONS-114?page=all ]

Ruchith Udayanga Fernando updated WSCOMMONS-114:
------------------------------------------------

    Attachment: 114.patch.txt

Devs,

Please review.

Thanks,
Ruchith

> OMElement has incorrect namespace after adding OMAttribute
> ----------------------------------------------------------
>
>                 Key: WSCOMMONS-114
>                 URL: http://issues.apache.org/jira/browse/WSCOMMONS-114
>             Project: WS-Commons
>          Issue Type: Bug
>          Components: AXIOM
>         Environment: Using Axiom 1.1.1 binary distribution, Java 1.4.2_12, 
> Windows XP Professional
>            Reporter: Jeehong Min
>            Priority: Critical
>         Attachments: 114.patch.txt
>
>
> Run the code below that reproduces the issue.  Note that the namespace of 
> child is changed to "" after adding the attribute.  This appears to be a 
> regression since Axiom 1.0.  
> ----
> import java.io.*;
> import org.apache.axiom.om.*;
> public class AttributeHandling {
>     public static void main(String args[]) {
>         OMFactory fac = OMAbstractFactory.getOMFactory();
>         OMNamespace ns = fac.createOMNamespace("urn:foo", "");
>         OMElement titleElem = fac.createOMElement("title", ns);
>         OMNamespace ns2 = fac.createOMNamespace("urn:foo", "");
>         OMElement childElem = fac.createOMElement("child", ns2);
>         childElem.setText("boy");
>         titleElem.addChild(childElem);
>         String xml = titleElem.toString();
>         // expect <title xmlns="urn:foo"><child>boy</child></title>
>         System.out.println("xml = " + xml);
>         
>         // add attribute id="2"
>         OMNamespace idNs = fac.createOMNamespace("", "");
>         OMAttribute attr = fac.createOMAttribute("id", idNs, "2");
>         childElem.addAttribute(attr);
>         xml = titleElem.toString();
>         // expect <title xmlns="urn:foo"><child id="2">boy</child></title>
>         System.out.println("xml 2 = " + xml);
>         
>         OMOutputFormat format = new OMOutputFormat();
>         String charSetEnc = "UTF-8"; 
>         format.setCharSetEncoding(charSetEnc);
>         format.setSOAP11(true);
>         format.setDoOptimize(false);
>         try {
>             ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
>             titleElem.serializeAndConsume(bytesOut, format);
>             xml = new String(bytesOut.toByteArray());
>             // expect <title xmlns="urn:foo"><child id="2">boy</child></title>
>             System.out.println("xml 3 = " + xml);
>         } catch (Exception e) {
>             e.printStackTrace();
>         }
>         
>     }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to