JAXB 生成クラスに関して質問があります。
ご覧のとおり、スキーマで宣言された複合型 DG_PaymentIdentification1 があります。その PaymentIdentification1 の制限です。DG_PaymentIdentification1 も PaymentIdentification1 と同じです。また、DG_CreditTransferTransactionInformation10 というタイプもあり、これは基本タイプが CreditTransferTransactionInformation10 であり、それと同一です。
関連する XML スキーマのスニペットを以下に示します。
<xs:complexType name="DG_PaymentIdentification1">
<xs:complexContent>
<xs:restriction base="PaymentIdentification1">
<xs:sequence>
<xs:element name="InstrId" type="DG_Max35Text_REF" minOccurs="0"/>
<xs:element name="EndToEndId" type="DG_Max35Text_REF" id="DG-41"/>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="PaymentIdentification1">
<xs:sequence>
<xs:element name="InstrId" type="Max35Text" minOccurs="0"/>
<xs:element name="EndToEndId" type="Max35Text"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="DG_CreditTransferTransactionInformation10">
<xs:complexContent>
<xs:restriction base="CreditTransferTransactionInformation10">
<xs:sequence>
<xs:element name="PmtId" type="DG_PaymentIdentification1"/>
<xs:simpleType name="DG_Max35Text_REF">
<xs:restriction base="DG_NotEmpty35">
<xs:pattern value="[\-A-Za-z0-9\+/\?:\(\)\.,' ]*"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Max35Text">
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
JAXB は、DG_PaymentIdentification1 に対して次の Java クラスを生成します。
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DG_CreditTransferTransactionInformation10")
public class DGCreditTransferTransactionInformation10
extends CreditTransferTransactionInformation10
{
}
私の質問は、DGCreditTransferTransactionInformation10 で生成されたクラスが、生成されたコードに DG_PaymentIdentification1 型の変数を持っていないのはなぜですか? 基本クラス CreditTransferTransactionInformation10 にはタイプ PaymentIdentification1 が宣言されています。
DGCreditTransferTransactionInformation10 に DG_PaymentIdentification1 が含まれるようにする方法はありますか?