我有一个关于 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 吗?