题:
如何让xjc / Jaxb为同一命名空间中包含重复elementdefinitions的几个模式生成propper javaclasses?
信息:
我有三个.xsd架构:A,B和C.所有都有相同的targetnamespace.
他们都是给我的3个shemas,我不会以任何方式允许以任何方式改变它们.
它们有一些也可以在B或C中找到的元素(但是A也有许多自我声明的元素)
示例:这与A和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>
当使用xjc将它们编译成javaclasses时,我得到以下异常:
[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
其他元素也是如此:arcgYearType,arcgYearMonthType和arcDateType.
我已经阅读了一个可能解决这个问题的绑定文件,但我不知道如何做到这一点,所以示例将是首选.