道歉,如果这是一个重复的问题,但我找不到任何适合我的情况。所以这里:
我在xsd文件中有以下内容:
<xs:complexType name="Allocation">
<xs:annotation>
<xs:documentation>Links its owner to an xs:id.</xs:documentation>
</xs:annotation>
<xs:attribute name="idRef" type="xs:IDREF"/>
</xs:complexType>
<xs:complexType name="XYZ">
<xs:sequence>
<xs:element name="SomeAllocation" type="Allocation"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ABC">
<xs:sequence>
<xs:element name="SomeAllocation" type="Allocation"/>
</xs:sequence>
</xs:complexType>
我尝试在java中生成具有特定类型的字段/ getter和setter,例如XYZ.getSomeAllocation()应返回类型Object1,ABC.getSomeAllocation()应返回类型Object2。我面临的问题是xjc正在生成一个Allocation类,XYZ和ABC类使用下面提到的方法返回java.lang.Object类型。
显然,创建不同的Allocation类型然后在不同的对象中使用可以解决问题,但我想重用持有xs的对象:IDREF。
非常感谢您的帮助! 谢谢!