XSD验证 - 如果存在父元素,则将子元素作为强制性,否则使子元素可选

StackOverflow https://stackoverflow.com/questions/19853760

  •  29-07-2022
  •  | 
  •  

我有一个看起来像:

<RawData>
                  <EmailAddress>xyz.abc@email.com</EmailAddress>
                  <PassengerName>XYZ/ABC</PassengerName>
</RawData>

以及相应的XSD如下:

<xsd:element name="RawData" minOccurs="0" maxOccurs="1">
                    <xsd:complexType>
                        <xsd:sequence>
                        <xsd:element name="EmailAddress" minOccurs="0" maxOccurs="1">
                    </xsd:element>
                        <xsd:element name="PassengerName" minOccurs="0" maxOccurs="1"/>
</xsd:element>
                        </xsd:sequence>
                    </xsd:complexType>

如果存在RawData,我需要强制执行乘客名,否则可选。

请帮助您的建议。

提前致谢。

有帮助吗?

解决方案

如果不存在父元素,则未验证它,并且该元素的架构定义无关紧要。如果父母不存在,孩子将始终不存在,并且模式会自动允许他们不存在。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top