[ 
https://issues.apache.org/jira/browse/CMIS-518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13243270#comment-13243270
 ] 

Florian Müller commented on CMIS-518:
-------------------------------------

First of all, the two examples are not equivalent. Default namespaces work 
differently for attributes [1].

But that's not the problem. The problem is that Xalan isn't namespace aware by 
default but JAXB requires a namespace aware parser.
This is not an OpenCMIS bug but an incompatibility. 

The easiest way to fix that is to set the system property 
"javax.xml.transform.TransformerFactory" to a different transformer factory 
class name.
This not an ideal solution because it may affect other code running in the JVM.

I'll try to find a workaround.


[1] http://www.w3.org/TR/REC-xml-names/#defaulting
                
> Interoperability issues with deserialization of attributes in Extension 
> Elements
> --------------------------------------------------------------------------------
>
>                 Key: CMIS-518
>                 URL: https://issues.apache.org/jira/browse/CMIS-518
>             Project: Chemistry
>          Issue Type: Bug
>          Components: opencmis-commons
>    Affects Versions: OpenCMIS 0.7.0
>            Reporter: David Ward
>            Assignee: Florian Müller
>            Priority: Critical
>         Attachments: ALF13088.diff
>
>
> We came across this issue in 
> https://issues.alfresco.com/jira/browse/ALF-13088 . This is affecting 
> Alfresco OpenCMIS Extensions.
> It would seem that the presence or absence of xalan.jar on the sending side 
> can affect the receiver's ability to lookup attributes on an extension 
> element.
> The two examples given at
> http://groups.google.com/group/alfresco-opencmis-extension/browse_thread/thread/f9d9152691e5a04f
> are equivalent. They just use different ways of serializing the same 
> namespaced XML.
> I think the problem lies in the way that OpenCMIS deserializes extension 
> elements. It strips the namespace from all attributes, loading their local 
> name into a single map. That means xmlns:propertyDefinitionId and 
> propertyDefinitionId:propertyDefinitionId may be considered to be the same 
> attribute so one can overwrite the other.
> The attached patch to 
> org.apache.chemistry.opencmis.commons.impl.Converter.convertDomToCmisExtensionElement()
>  fixed the issue for us, making it only pay attention to attributes in the 
> element's namespace. What do you think?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to