[ 
https://issues.apache.org/jira/browse/JCR-1767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12636884#action_12636884
 ] 

Julian Reschke commented on JCR-1767:
-------------------------------------

It appears that serializing a DOM will not cause startPrefixMapping to be 
called, causing the JDK 1.4 workaround never to be invoked.


> WebDAV XML serialization in JDK 1.4 broken
> ------------------------------------------
>
>                 Key: JCR-1767
>                 URL: https://issues.apache.org/jira/browse/JCR-1767
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-webdav
>            Reporter: Julian Reschke
>            Priority: Minor
>
> WebDAV uses XmlRequestEntity for serializing XML, which in turn uses 
> org.apache.jackrabbit.commons.xml.SerializingContentHandler to work around 
> the JDK 1.4 problem (serializing in absence of explicit namespace 
> declarations).
> The following test fails under JDK 1.4, but passed with newer JDKs:
>     public void testXmlSerialization() throws ParserConfigurationException, 
> IOException, SAXException {
>         
>         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
>         dbf.setNamespaceAware(true);
>         DocumentBuilder db = dbf.newDocumentBuilder();
>         
>         Document doc = db.newDocument();
>         doc.appendChild(doc.createElementNS("DAV:", "propfind"));
>         
>         XmlRequestEntity xmlent = new XmlRequestEntity(doc);
>         ByteArrayOutputStream bos = new ByteArrayOutputStream();
>         xmlent.writeRequest(bos);
>         
>         Document doc2 = db.parse(new ByteArrayInputStream(bos.toByteArray()));
>         Element docelem = doc2.getDocumentElement();
>         assertEquals("DAV:", docelem.getNamespaceURI());
>     }

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

Reply via email to