鑑於像XSD這一個:JAXB可以使用未知類型的已知元素的基類型嗎?
<!-- ... -->
<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>
<!-- ... -->
可以JAXB2被配置爲回退,以當它具有解組包含一個未知的類型的元件,如在接下來的示例的XML基類型ParentType的:
<!-- ... -->
<MyElement xsi:type="ChildType2">
<!-- ... -->
</MyElement>
<!-- ... -->
通常情況下,在這種情況下,JAXB拋出一個異常,它說,ChildType2是無法識別的類型。
+1 - JAXB可以定義首先在繼承層次結構中使用'xsi:type'(http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html)。你的問題是如何處理'xsi:type'不對應於JAXB意識到的類的情況? –
是的,Blaise,我的問題是關於xsi:type對應於JAXB不知道的類的情況。 –