The serializer should report conflicting namespace declarations
---------------------------------------------------------------

                 Key: AXIOM-376
                 URL: https://issues.apache.org/jira/browse/AXIOM-376
             Project: Axiom
          Issue Type: Improvement
    Affects Versions: 1.2.12
            Reporter: Andreas Veithen
            Assignee: Andreas Veithen
            Priority: Minor


Consider the following code:

OMFactory factory = OMAbstractFactory.getOMFactory();
OMNamespace ns = factory.createOMNamespace("urn:ns1", "p");
OMElement parent = factory.createOMElement("parent", ns);
OMElement child = factory.createOMElement("child", ns, parent);
child.declareNamespace("urn:ns2", "p");
System.out.println("XML = " + parent);
System.out.println("URI = " + child.getNamespaceURI());

Both elements are created in the urn:ns1 namespace. An attempt is made to add a 
namespace declaration that binds the prefix to a different namespace. No error 
occurs and the output is as follows:

XML = <p:parent xmlns:p="urn:ns1"><p:child xmlns:p="urn:ns2" /></p:parent>
URI = urn:ns1

This means that in the serialized document, the namespace of the child element 
is different than in the object model. This situation (which is expected to be 
accidental in most cases) will lead to subtle issues later.

The serializer should make sure that the namespaces of element and attribute 
information items are always preserved and trigger an exception if this 
constraint is violated by a conflicting namespace declaration.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@ws.apache.org
For additional commands, e-mail: dev-h...@ws.apache.org

Reply via email to