I am trying to create an xsd to validate a bit of xml. I want the xsd to fail if no member elements are found, i thought adding minOccurs="1" would achieve this but for some reason even when passing 0 member elements it passes.
<xs:attributeGroup name="memberAttributes">
<xs:annotation>
<xs:documentation>Set of attributes for member element</xs:documentation>
</xs:annotation>
<xs:attribute name="employeeid" type="xs:string" use="required"/>
<xs:attribute name="dob" type="Shortdate" use="required"/>
<xs:attribute name="gender" type="Gender" use="required"/>
<xs:attribute name="salary" use="required">
<xs:simpleType>
<xs:restriction base="Amount2dp">
<xs:totalDigits value="13"/>
<xs:maxInclusive value="99999999999.99"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="postcode" type="Postcode" use="required"/>
</xs:attributeGroup>
<xs:element name="member">
<xs:annotation>
<xs:documentation>Member element</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attributeGroup ref="memberAttributes"/>
</xs:complexType>
</xs:element>
<xs:element name="members">
<xs:annotation>
<xs:documentation>Set of member elements</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence minOccurs="1" maxOccurs="unbounded">
<xs:element ref="member"/>
</xs:sequence>
</xs:complexType>
</xs:element>