DOM to stream conversion fails on prefix beginning like "xmlConfiguration"
--------------------------------------------------------------------------
Key: XALANJ-2361
URL: https://issues.apache.org/jira/browse/XALANJ-2361
Project: XalanJ2
Issue Type: Bug
Components: Serialization
Affects Versions: 2.7
Reporter: Guillaume Nodet
Priority: Critical
Here is a simple test case to reproduce the problem:
{{code}}
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
TransformerFactory tf = TransformerFactory.newInstance();
String src = "<root><xmlConfiguration:xmlConfiguration
xmlns:xmlConfiguration=\"urn:configuration\" /></root>";
Document doc = dbf.newDocumentBuilder().parse(new
ByteArrayInputStream(src.getBytes()));
ByteArrayOutputStream res = new ByteArrayOutputStream();
tf.newTransformer().transform(new DOMSource(doc), new
StreamResult(res));
System.out.println(res);
dbf.newDocumentBuilder().parse(new
ByteArrayInputStream(res.toByteArray()));
{{code}}
The last line throws an exception, because the xmlns:xmlConfiguration attribute
has been lost.
While debugging, I found that the problem comes from
http://svn.apache.org/repos/asf/xalan/java/trunk/src/org/apache/xml/serializer/NamespaceMappings.java,
line 228:
{{code}}
// Prefixes "xml" and "xmlns" cannot be redefined
if (prefix.startsWith(XML_PREFIX))
{
return false;
}
{{code}}
It seems this test is wrong, and it should be
{{code}}
// Prefixes "xml" and "xmlns" cannot be redefined
if (prefix.equals("xml") || prefix.equals("xmlns")
{
return false;
}
{{code}}
--
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]