Como faço para tornar os itens opcionais em <xs: all>?

Eu tenho esse xsd. Todos esses campos podem existir ou não e em ordem imprevisíve

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">

<xs:element name="request">
<xs:complexType>
  <xs:all  minOccurs="0">
    <xs:element ref="field1"/>
    <xs:element ref="field2"/>
    <xs:element ref="field3"/>
    <xs:element ref="field4"/>
    <xs:element ref="field5"/>
  </xs:all>
</xs:complexType>
</xs:element>

</xs:schema>

field4 não existe no xml e o validador diz que está esperando pelo field4, mas ele não deve dizer isso. Então, o que está errado?

w3cschools.com says

<xs:element name="person">
<xs:complexType>
<xs:all minOccurs="0">
  <xs:element name="firstname" type="xs:string"/>
  <xs:element name="lastname" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>

O exemplo acima indica que os elementos "primeiro nome" e "sobrenome" podem aparecer em qualquer ordem e cada elemento PODE aparecer zero ou uma ve

questionAnswers(2)

yourAnswerToTheQuestion