我们如何才能在其他元素与父元素的基础上定义子元素 minOccur。例如。
flagExist如果为真,则ComplexTypeObject子元素可以是可选的。如果flagExist为false,则子元素ComplexTypeObject必须是强制性的。
<xs:group name="GroupObject">
<xs:sequence>
<xs:element name="flagExist" type="xs:boolean"/>
<xs:element name="ComplexTypeObject" type="foo:ComplexTypeObject" minOccurs="0"/>
</xs:sequence>
</xs:group>
<xs:complexType name="ComplexTypeObject">
<xs:sequence>
<xs:element name="One" type="xs:boolean"/>
<xs:element name="Two" type="xs:string"/>
<xs:element name="Three" type="xs:date"/>
</xs:sequence>
</xs:complexType>
它与已经存在的问题(当另一个元素具有特定值时需要 XSD 中的 XML 元素? )中提出的问题略有不同。在这种情况下,必须将 ComplexTypeObject.One ComplexTypeObject.two ComplexTypeObject.Three 中的元素设为可选,具体取决于 flagExist 的真/假值