J'ai une Parent
et une classe Child
.JaxB, Eclipse Moxy, mappage polymorhpique
Une classe House
a un champ de type Parent
pouvant faire référence à un objet Child
. J'ai besoin de le mapper en XML en utilisant Eclipse Moxy.
Son xsd serait quelque chose comme:
<xs:complexType name="Parent" abstract="true"> ...other fields...
<xs:complexType name="Child" > <xs:extension base="Parent"> ...other fields...
<xs:element name="child" type="Child" substitutionGroup="parent" /> <xs:element name="parent" type="Parent" abstract="true" />
<xs:complexType name="House"> <xs:element ref="parent"/>
classe Maison contient un JAXBElement au point au parent: @XmlElementRef(name = "parent", namespace = "abc", type = JAXBElement.class) protected JAXBElement<? extends Parent> parent;
Comment mapper la classe House
via le fichier House.oxm.xml pour que cette correspondance polymorphique fonctionne correctement?
<java-type name="House" xml-accessor-type="NONE"> <java-attributes> <xml-element-ref java-attribute="?????????"/>
J'ai essayé avec « @ » dans la cartographie, mais il ne fonctionne pas - il ajoute que la chaîne de référence (@Parent) de l'objet XML.