1
我有一個XSD定義了各種複雜類型,其中包含另一種複雜類型。問題是內部複雜類型完全相同,但它們沒有定義爲分離類型,因此我爲每個頂級類都有一個內部類。 XSD如下:JAXB/XSD統一相同的類
<xs:complexType name="DOCTRACKTCSCREATEType">
<xs:sequence>
<xs:element name="DESCRIPTION" type="xs:string" minOccurs="0"/>
<xs:element name="gATTRIBNAME" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="mATTRIBNAME" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ATTRIBNAME" type="xs:string" minOccurs="0"/>
<xs:element name="ATTRIBVALUE" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="m" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="g" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
<xs:attribute name="id" type="xs:string"/>
</xs:complexType>
<xs:complexType name="DOCTRACKType">
<xs:sequence>
<xs:element name="REFERENCE" type="xs:string" minOccurs="0"/>
<xs:element name="gATTRIBNAME" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="mATTRIBNAME" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ATTRIBNAME" type="xs:string" minOccurs="0"/>
<xs:element name="ATTRIBVALUE" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="m" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="g" type="xs:positiveInteger"/>
</xs:complexType>
</xs:element>
<xs:attribute name="id" type="xs:string"/>
</xs:complexType>
因此,兩者都定義了一個相同類型的gATTRIBNAME。我無法更改XSD,但有沒有其他方法可以讓他們創建相同的Java類?