XSD验证 - 如果父元素存在,则将子元素设为必需元素,否则使子元素成为可选元素

时间:2013-11-08 07:31:47

标签: xml xsd xsd-validation

我有一个xml,看起来像:

<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,我需要使PassengerName成为强制性,否则为可选。

请帮助您提出建议。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果父元素不存在,那么它不会被验证,因此该元素的模式定义没有相关性。如果父母不在,孩子将永远缺席,并且架构自动允许他们不在。