私は、別の複合型を含むさまざまな複合型を定義した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クラスを作成する方法はありますか?