I'm trying to marshal a sub-class as super-class with xsi:type information as the XML Root element attributes.
Currently this is what I have (let's say..):
- XMLDOCUMENTTYPE is a super class of XMLINVOICETYPE
- marshalling XMLINVOICETYPE will give me
<xmlInvoiceType>
- Casting XMLINVOICETYPE instance to XMLDOCUMENTTYPE instance and then marshalling it would still give me
<xmlInvoiceType>
- Creating a wrapper object annotated with JAXB annotation seems to do the trick, but now I have to grab the first child-node
e.g.:
jaxbWrapper.setXmlDocumentType(xmlInvoiceTypeInstance);
// will do the trick but extra root
What I'd like to get is as follow:
<XMLDOCUMENTTYPE ... ... xsi:type="XML_INVOICE_TYPE">
</XMLDOCUMENTTYPE>
Any idea how to do this?