Domanda: come faccio a fare xjc/JAXB generare il javaclasses Propper per diversi schemi contenenti elementdefinitions duplicati nello stesso spazio dei nomi?contenenti le definizioni duplicati di compilare più di XSD dello stesso elemento con JAXB
Informazioni: Ho tre schemi .xsd: A, B e C. hanno tutti lo stesso targetNamespace. Sono tutti 3 shemas che mi sono stati dati, e non sono, in alcun modo possibile, autorizzato a cambiarli in alcun modo.
Essi A ha alcuni elementi che si trova anche in B o C (ma A ha un sacco di sé elementi così dichiarato) Esempio: Questo è lo stesso "codice" per A e C:
<xs:simpleType name="y_ym_ymdDatoType">
<xs:union memberTypes="arcgYearType arcgYearMonthType arcDateType"/>
</xs:simpleType>
<xs:simpleType name="arcgYearType">
<xs:restriction base="xs:gYear">
<xs:minInclusive value="1700"/>
<xs:maxInclusive value="2100"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="arcgYearMonthType">
<xs:restriction base="xs:gYearMonth">
<xs:minInclusive value="1700-01"/>
<xs:maxInclusive value="2100-12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="arcDateType">
<xs:restriction base="xs:date">
<xs:minInclusive value="1700-01-01"/>
<xs:maxInclusive value="2100-12-31"/>
</xs:restriction>
</xs:simpleType>
Quando si utilizza xjc per compilare in javaclasses, ottengo la seguente eccezione:
[ERROR] 'y_ym_ymdDatoType' is already defined
line 297 of file:../c.xsd
[ERROR] (related to above error) the first definition appears here
line 309 of file:../a.xsd
e lo stesso accade per gli altri elementi: arcgYearType, arcgYearMonthType e arcDateType.
Ho letto di un file di bind che potrebbe risolvere questo problema, ma non sono sicuro su come farlo in modo che gli esempi siano altamente preferiti.
Non si sta rinominando acuitivamente gli elementi XML quando escono, o si sta semplicemente rinominando i javaclasses che vengono generati? –
Sta rinominando la classe java generata. Per impostazione predefinita si ottiene 'FixedIncomeBook.java' e con questa associazione si ottiene' PartyFixedIncomeBook.java' –
ottengo: [ERRORE] Spazio dei nomi di binding non supportato "". Forse intendevi "http://java.sun.com/xml/ns/jaxb/xjc"? riga 4 del file: /../ C.xsd La riga 4 è definizioni dello schema: Puoi vedere cosa c'è che non va? –