donné une XSD comme celui-ci:JAXB peut-il utiliser le type de base pour un élément connu avec un type inconnu?
<!-- ... -->
<xsd:element name="MyElement" type="ParentType" />
<!-- ... -->
<xsd:complexType name="ParentType">
<xsd:sequence>
<!-- ... -->
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ChildType1">
<xsd:complexContent>
<xsd:extension base="ParentType">
<xsd:sequence>
<!-- ... -->
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- ... -->
pourrait jaxb2 être configuré pour revenir à un type de base ParentType quand il doit unmarshall un XML qui contient un élément d'un type inconnu, comme dans l'exemple suivant :
<!-- ... -->
<MyElement xsi:type="ChildType2">
<!-- ... -->
</MyElement>
<!-- ... -->
Normalement, dans cette situation, JAXB lance une exception qui dit que ChildType2 est un type non reconnu.
+1 - JAXB peut def Initiez de manière intuitive 'xsi: type' dans une hiérarchie d'héritage (http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html). Votre question est spécifiquement comment gérer le cas où 'xsi: type' ne correspond pas à une classe que JAXB est au courant? –
Oui, Blaise, ma question concerne le cas où xsi: type correspond à une classe que JAXB ignore. –