Hi, For the XML data transformation, sometimes we don't care about the element. For example, if we pass a Customer from JAXB to SDO, we only care about the type (content) of the data. To be tolerating the case that both target and source sides expect the same type but different elements, we use "adjustElementName".
Ideally for JAXB2OMElement, we should do the same trick. But we have an issue with JAXB as follows: Some JAXB classes are generated for global elements with @XmlRootElement annotation and the element QName is built into the JAXB metadata. The JAXB2OMElement uses the OMDataSource to lazily serialize JAXB data into XML stream. It would be difficult to adjust the element name at the stream level especially considering the performance penalty. Do you have any good ideas? Thanks, Raymond From: Scott Kurz Sent: Sunday, July 06, 2008 5:32 PM To: [email protected] Subject: databinding-jaxb-axiom doesn't do an adjustElementName I'm noticing a difference in the JAXB->Axiom serialization produced by the new databinding-jaxb-axiom transform compared to the old transform (JAXB2Node, Node2XMLStreamReader,XMLStreamReader2OMElement). The difference is caused by the fact that the older transform (before databinding-jaxb-axiom) had a call out to DOMHelper.adjustElementName() to, like the method name suggests, adjust the element name to the one calculated by tuscany-interfacedef processing, rather than relying only on JAXB APIs to calculate the interface name. Before I go into detail with my test app, (which I think I want to change anyway), let me just ask this: did we intend to make the same "adjustment" with databinding-jaxb-axiom? I'm not 100% sure of the reason for doing the adjustment in the older code, so I just wanted to start with that question before bothering with my test details. Thanks, Scott
