all
El elemento all especifica que todos los elementos hijo deben aparecer una única vez y pueden aparecer en cualquier orden.
Consideremos el siguiente documento XSD:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="objeto" type="propiedades-objeto"/>
  <xs:complexType name="propiedades-objeto">
    <xs:complexContent>
      <xs:restriction base="xs:anyType">
        <xs:all>
          <xs:element name="material" type="xs:string" />
          <xs:element name="color" type="xs:string" />
        </xs:all>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>
En el esquema anterior, se está definiendo que <objeto> debe tener en su contenido los elementos <material> y <color>. Pueden aparecer el cualquier orden, pero es obligatorio que aparezcan.
Dentro de all se deben definir uno o varios elementos element. Si solo se define uno sería equivalente a declarar un element dentro de un sequence.
El documento XSD se puede acortar omitiendo compleContent y restriction, quedando de la siguiente manera:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="objeto" type="propiedades-objeto"/>
  <xs:complexType name="propiedades-objeto">
    <xs:all>
      <xs:element name="material" type="xs:string" />
      <xs:element name="color" type="xs:string" />
    </xs:all>
  </xs:complexType>
</xs:schema>
Ejemplos de documentos XML válidos son los siguientes:
<objeto>
  <material>Plástico</material>
  <color>Gris</color>
</objeto>
<objeto>
  <color>Gris</color>
  <material>Plástico</material>
</objeto>