【发布时间】:2011-09-02 16:20:08
【问题描述】:
给定一个像这样的 XSD:
<!-- ... -->
<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(blog.bdoughan.com/2010/11/…)。您的问题具体是如何处理xsi:type与 JAXB 知道的类不对应的情况? -
是的,Blaise,我的问题是关于 xsi:type 对应于 JAXB 不知道的类的情况。