我们怎样才能让孩子minOccur在父母的其他元素的基础上定义。例如。
flagExist 如果 true ,那么 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>
与现有问题(Require XML element in XSD when another element has certain value?)中的问题略有不同。在这种情况下,ComplexTypeObject.One ComplexTypeObject.two ComplexTypeObject.Three中的元素必须是可选的,具体取决于flagExist的true / false值