¿Cómo hago que los elementos sean opcionales en <xs: all>?

Tengo tal xsd. Todos estos campos pueden existir o no y en un orden impredecible.

<?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 no existe en xml y el validador dice que está esperando field4, pero no debería decir esto. Entonces, ¿qué está mal?

w3cschools.com dic

<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>

¡El ejemplo anterior indica que los elementos "nombre" y "apellido" pueden aparecer en cualquier orden y cada elemento PUEDE aparecer cero o una vez!

Respuestas a la pregunta(2)

Su respuesta a la pregunta