jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1767) WebDAV XML serialization in JDK 1.4 broken
Date Sun, 05 Oct 2008 16:00:44 GMT

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

Jukka Zitting commented on JCR-1767:
------------------------------------

Yep, you're right. I have a draft patch that looks at the namespaces used in the element name
and attributes passed to startElement and automatically calls startPrefixMapping for any namespaces
that have not yet been declared. This workaround seems to work on 1.4, but I'm getting increasingly
worried about the extra stuff we're layering on XML serialization. On the other hand, I guess
it's still better than having the explicit Xerces dependency.

> 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.


Mime
View raw message