You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2009/02/22 01:34:01 UTC

[jira] Resolved: (JCR-1952) DOMException: NAMESPACE_ERR thrown when exporting document view

     [ https://issues.apache.org/jira/browse/JCR-1952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting resolved JCR-1952.
--------------------------------

    Resolution: Fixed

I resolved this by replacing the JAXP serialization code with a custom XML serializer over whose behaviour we have full control. The custom serializer and related classes were added in revision 746602 and in revision 746603 I modified the JCR XML exports to use this new serializer.

Note that to keep things simple the new serializer is designed to only work with a fairly constrained stream of SAX events. This is OK for the XML exports we generate, but not necessarily for things like the DOM to SAX conversions used by the webdav component. Thus I've only modified the JCR XML exports to use the new serializer and kept other XML serializations based on the existing SerializingContentHandler class. 

Merged to the 1.5 branch in revision 746604.

> DOMException: NAMESPACE_ERR thrown when exporting document view
> ---------------------------------------------------------------
>
>                 Key: JCR-1952
>                 URL: https://issues.apache.org/jira/browse/JCR-1952
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: jackrabbit-jcr-commons, xml
>    Affects Versions: 1.5.2
>            Reporter: Lóránt Pintér
>            Assignee: Jukka Zitting
>             Fix For: 1.5.3
>
>         Attachments: MANIFEST.MF
>
>
> When I try to export some nodes with ExportDocumentView I get a DOMException with Jackrabbit 1.5.2. Version 1.4.6 works fine. Xerces version was 2.8.1.
> Code:
> Document document = documentBuilder.newDocument();
> Element exportElement = (Element) document.appendChild(document.createElement("Export"));
> Result result = new DOMResult(exportElement);
> TransformerHandler transformerHandler = saxTransformerFactory.newTransformerHandler();
> transformerHandler.setResult(result);
> session.exportDocumentView(workflowNode.getPath(), transformerHandler, true, false);
> Exception:
> org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
> 	at org.apache.xerces.dom.CoreDocumentImpl.checkDOMNSErr(Unknown Source)
> 	at org.apache.xerces.dom.AttrNSImpl.setName(Unknown Source)
> 	at org.apache.xerces.dom.AttrNSImpl.<init>(Unknown Source)
> 	at org.apache.xerces.dom.CoreDocumentImpl.createAttributeNS(Unknown Source)
> 	at org.apache.xerces.dom.ElementImpl.setAttributeNS(Unknown Source)
> 	at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.startElement(SAX2DOM.java:194)
> 	at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:204)
> 	at com.sun.org.apache.xml.internal.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:277)
> 	at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.startElement(ToXMLSAXHandler.java:646)
> 	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerHandlerImpl.startElement(TransformerHandlerImpl.java:263)
> 	at org.apache.jackrabbit.commons.xml.Exporter.startElement(Exporter.java:438)
> 	at org.apache.jackrabbit.commons.xml.DocumentViewExporter.exportNode(DocumentViewExporter.java:76)
> 	at org.apache.jackrabbit.commons.xml.Exporter.exportNode(Exporter.java:298)
> 	at org.apache.jackrabbit.commons.xml.Exporter.exportNodes(Exporter.java:214)
> 	at org.apache.jackrabbit.commons.xml.DocumentViewExporter.exportNode(DocumentViewExporter.java:77)
> 	at org.apache.jackrabbit.commons.xml.Exporter.exportNode(Exporter.java:295)
> 	at org.apache.jackrabbit.commons.xml.Exporter.export(Exporter.java:144)
> 	at org.apache.jackrabbit.commons.AbstractSession.export(AbstractSession.java:461)
> 	at org.apache.jackrabbit.commons.AbstractSession.exportDocumentView(AbstractSession.java:241)

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