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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在XSD中,当可选的父元素出现时,它的子元素是必需的吗?相关的知识,希望对你有一定的参考价值。

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

我有一个父元素是可选的,因为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中,当可选的父元素出现时,它的子元素是必需的吗?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery的遍历

XSD 用于至少一个元素的可选列表?

reactjs中如何将可选元素作为prop传递给组件

通过 XSD 限制基于另一个元素的 XML 元素

允许对可选 XML 元素进行 XForm 控件

jquery中$(this).parent() 啥意思?