我正在尝试使用 JAXB 将 xsd 模式转换为 java 类。不幸的是,我确实有一个问题。引起问题的xsd是:
<xs:complexType name="AdditionalDataType">
<xs:sequence>
<xs:element name="AvailabilityStatus" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="AvailabilityStatus" maxOccurs="999">
<xs:complexType>
<xs:attributeGroup ref="IdentifierGrp"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
我得到的错误是
[ERROR] \target\generated-sources\AdditionalDataType.java:[1012,22] AdditionalDataType.AvailabilityStatus is already defined in AdditionalDataType
我发现这个如何使用外部绑定文件覆盖 JAXB 中的默认名称?
但是当我尝试使用以下绑定解决它时:
<jxb:bindings node="//xs:complexType[@name='AdditionalDataType']//xs:sequence//xs:element[@name='AvailabilityStatus']//xs:complexType//xs:sequence//xs:element[@name='AvailabilityStatus']">
<jxb:property name="AvailabilityStatusSA"/>
</jxb:bindings>
它没有帮助,它没有改变任何东西。
有人可以帮忙吗?
@Ekrem我无法修改xml,我会这样做,但我不能。我需要具有可用性状态列表的 AdditionalDataType 我不在乎内部可用性状态(我试图映射到可用性状态SA)是否是内部类。