在XSD中,当可选的父元素出现时,它的子元素是必需的吗?

问题描述 投票:1回答:1

我一直在想一个简单但非常重要的问题。

我有一个父元素是可选的,因为minOccurs =“0”但它的子元素没有定义任何minOccurs或maxOccures属性。

我是对的,如果父元素出现,它的所有子元素都是必需的吗?

我的示例代码如下所示:

name="FiscalRepresentativeInfo" minOccurs="0">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="FiscalRepresentativeTaxRegistrations" type="MandatoryTaxNumbersType"></xs:element>
            <xs:element name="FiscalRepresentativeName" type="LongStringType"></xs:element>
            <xs:element name="FiscalRepresentativeAddress" type="AddressType"></xs:element>
            <xs:element name="FiscalRepresentativeBankAccountNumber" type="BankAccountNumberType"></xs:element>
        </xs:sequence>
    </xs:complexType>
</xs:element>

现在,我的实际问题是:

  1. 财务代表信息是可选的,XML实例可能包含也可能不包含它。
  2. 关键在于:如果XML中有财务代表信息,它必须包含所有4个元素。例如,不可能错过银行帐号。

请告诉我上述理解是否正确。

xsd minoccurs
1个回答
0
投票

您的理解是正确的:儿童的选择性与现有父母的选择性无关。也就是说,如果父母存在,则必须存在可选父母的强制子女。

© www.soinside.com 2019 - 2024. All rights reserved.