您应该看到为抽象复杂类型创建的抽象类(请参见下面的示例)。你能提供关于你的XML模式的更多细节吗?
inheritance.xsd
contactInfo
是一个抽象的复杂类型。
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="contactInfo" abstract="true">
<xs:sequence/>
</xs:complexType>
<xs:complexType name="phoneNumber">
<xs:complexContent>
<xs:extension base="contactInfo">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
XJC呼叫
xjc -d out inheritance.xsd
的ContactInfo
生成ConactInfo
是一个抽象类:
package generated;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "contactInfo")
@XmlSeeAlso({
PhoneNumber.class
})
public abstract class ContactInfo {
}
布莱斯谢谢!但不知何故,我得不到相同的输出。我在JDK 6中使用xjc版本“JAXB 2.1.10”。这是问题吗?您能否请提一下哪些细节可以提供帮助,因为它是公司代码:|无法复制粘贴:( – EFreak
@EFreak - 我很好奇你的类型层次结构如何。抽象类(抽象)扩展someModel:BaseClass(抽象?)扩展?(抽象?)。 –
当前它的AbstractClass继承了NonAbstractBaseClass1扩展了另一个NonAbstractBaseClass2 – EFreak