我想使用JAXB將xsd模式轉換爲java類。不幸的是我有一個問題。這casues問題的XSD是: 如何使用外部綁定在JAXB中覆蓋默認名稱?
<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
我發現這個How to override the default name for in JAXB using a external binding file? 但是當我試圖解決它與以下綁定:
<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,我會這樣做,但我不能。我需要有附加數據類型,它有一個可用狀態列表 我不在乎如果內部AvailabilityStatus(我試圖映射到AvailabilityStatusSA)將是一個內部類或不是。
爲什麼要使用相同的類名兩次?你能否提供你想用jaxb生成的僞java類層次結構? – Ekrem
請看我上面的更新 – homar