鉴于像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不知道的类的情况。 –