[
https://issues.apache.org/jira/browse/XALANJ-2361?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12470585
]
Guillaume Nodet commented on XALANJ-2361:
-----------------------------------------
Yeah, I agree, thanks for pointing that: I will ping the JAXB2 guys, because
this prefix is automatically generated.
Anyway, i think the behavior could be enhanced to avoid throwing an exception
when parsing such an xml.
> 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
> Attachments: XALANJ-2361.patch
>
>
> 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]