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

Jukka Zitting commented on JCR-1952:
------------------------------------

The workaround is to look for and remove the Xalan jar from the repository 
classpath. The export works fine with the built-in JAXP libraries in all JDKs 
we've tested, but it looks like other TransformerFactory implementations (like 
the one in the Xalan versions reported here) break the export.

I'm still not sure how to best resolve this. I'm inclined to either revert back 
to the 1.4 code (with the potential of introducing other regressions) or going 
with a custom XML serializer that doesn't depend on any JAXP libraries (which 
would be a notable new block of potentially buggy code).

> 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: xml
>    Affects Versions: 1.5.2
>            Reporter: Lóránt Pintér
>         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.

Reply via email to