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: [email protected]
For additional commands, e-mail: [email protected]