[ 
https://issues.apache.org/jira/browse/WSCOMMONS-175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12511509
 ] 

Sanka Samaranayake commented on WSCOMMONS-175:
----------------------------------------------


I think I found what cause the behavior. If you run the code[1] using woodstox 
stax implementation it will result 'null' and using sjaxp stax implementation 
it will result 'urn:foo'. 

Is this a defect in one of the implementations or is it something which is not 
clearly defined by the spec. ?


[1] ByteArrayOutputStream baos = new ByteArrayOutputStream();
        XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
        outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES,
                Boolean.FALSE);
        XMLStreamWriter writer = outputFactory.createXMLStreamWriter(baos);
        NamespaceContext namespaceContext = writer.getNamespaceContext();
        
        writer.writeStartElement("ns1", "foo", "urn:foo");
        System.out.println("Namespace associated 'ns1' prefix : "
namespaceContext.getNamespaceURI("ns1"));


> Serialization: Namespace declarations only output on first iteration 
> ---------------------------------------------------------------------
>
>                 Key: WSCOMMONS-175
>                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-175
>             Project: WS-Commons
>          Issue Type: Bug
>          Components: AXIOM
>         Environment: Sun JDK 1.6, Axiom 1.2.2, Linux 2.6 (Fedora Core 5)
> and
> Sun JDK 1.5.0_11, Axiom 1.2.4, STAX (RI) 1.1.2-dev and 1.2.0 (final), Linux 
> 2.6 (Ubuntu)
>            Reporter: Adam Constabaris
>            Assignee: Davanum Srinivas
>            Priority: Blocker
>         Attachments: DeclTest.java, OMElementSerializationTest.java
>
>
> When serializing a document that contains many child nodes using the same 
> namespace that is NOT declared on the root,
> only the first namespace declaration is output, even if multiple elements 
> require it;
> e.g. document contains root element "root" and two children "foo" and "bar", 
> both in the namespace "http://example.com/ns";, which is NOT
> declarted on root, should be serialized as:
> <root>
>   <ns:foo xmlns:ns="http://example.com/ns";>foo contents</ns:foo>
>   <ns:bar xmlns:ns="http://example.com/ns";>bar contents</ns:foo>
> </root>
> but w/AXIOM 1.2.2 and default StAX parser shipped w/Sun JDK 1.6.0 (SJSXP 
> 1.0?), output is:
> <root>
>   <ns:foo xmlns:ns="http://example.com/ns";>foo contents</ns:foo>
>   <ns:bar>bar contents</ns:foo>
> </root>
> I have further verified that the problem does not occur if Woodstox 2.0.5 is 
> used as the StAX implementation.  
> I am not able to verify whether this is due to a bug in Sun's StAX 
> implementation, or in the use AXIOM makes of the various classes.  Possible 
> reference issue for SJXSP: 
> https://sjsxp.dev.java.net/issues/show_bug.cgi?id=31

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


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

Reply via email to