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>