关于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 在它?