L'élément all permet de spécifier, dans un type de données complexe, un à plusieurs éléments devant apparaître une fois ou pas du tout et dans un ordre quelconque.

<xsd:all 
  id = ID 
  maxOccurs = 1 : 1
  minOccurs = (0 | 1) : 1
  {tout attribut ayant un espace de noms 
        différent de celui du schéma...}>
  Contenu : (annotation?, element*)
</xsd:all>

L'élément all possède plusieurs attributs destinés à définir ce connecteur.

Attributs Description
id précise un identificateur unique pour l'élément.
maxOccurs précise le nombre d'occurrences maximum de l'élément. Par défaut, ce nombre est égal à 1.
minOccurs précise le nombre d'occurrences minimum de l'élément. Par défaut, ce nombre est égal à 1.

L'élément all ne peut être inclus que dans les éléments suivants :

Exemple [voir]
<?xml version="1.0"?>
<element_racine 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:noNamespaceSchemaLocation="F:\Untitled2.xsd">
  <element_enfant id="01">
  <element_3>1000</element_3>
  <element_2>100</element_2>
  <element_1>10</element_1>
  </element_enfant>
  <element_enfant id="02">
  <element_1>100</element_1>
  <element_3>10000</element_3>
  <element_2>1000</element_2>
  </element_enfant>
</element_racine>

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        elementFormDefault="qualified">

  <xsd:complexType name="element_enfantType">
  <xsd:all minOccurs="0" maxOccurs="1">
      <xsd:element name="element_1" type="xsd:integer"/>
      <xsd:element name="element_2" type="xsd:integer"/>
      <xsd:element name="element_3" type="xsd:integer"/>
  </xsd:all>
  <xsd:attribute name="id" use="required">
      <xsd:simpleType>
        <xsd:restriction base="xsd:NMTOKEN">
        <xsd:enumeration value="01"/>
        <xsd:enumeration value="02"/>
        </xsd:restriction>
      </xsd:simpleType>
  </xsd:attribute>
  </xsd:complexType>

  <xsd:element name="element_racine">
  <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="element_enfant" 
                       type="element_enfantType" 
                       maxOccurs="unbounded"/>
      </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
</xsd:schema>