L'élément elementType définit un type d'élément pour une utilisation à l'intérieur d'une élément Schema.

<ElementType content="empty | textOnly | eltOnly | mixed"
                       dt:type="Type_Donnee"
                       model="open | closed"
                       name="Identificateur"
                       order="one | seq | many">
</ElementType>

L'attribut content détermine si le contenu doit être vide (empty), ou contient du texte (textOnly), des éléments (eltOnly) ou les deux derniers (mixed).

L'attribut dt:type indique un type de données pour l'attribut.

L'attribut model spécifie si l'élément peut (open) ou ne peut pas (closed) inclure des éléments, des attributs ou un contenu mixte non-déclarés explicitement dans le modèle de contenu.

L'attribut name fournit un identificateur pour le type d'attribut.

L'attribut order permet un seul jeu d'éléments (one), ou plusieurs éléments apparaissant dans une séquence spécifiée (seq) ou un ordre quelconque (many).

La valeur seq est requise pour spécifier des séquences valides. Paar exemple, elle peut être utilisée pour indiquer lorsqu'une séquence particulière, telle que x1,y1 ou x2,y2 est valide mais aucune autre combinaison n'est valide.

La valeur many de l'attribut order crée les attributs maxOccurs et minOccurs non pertinent durant la validation. Plutôt qu'une utilisation de many pour l'attribut order en conjonction avec minOccurs et maxOccurs, utilise à la place la valeur seq.

Exemple [voir]
<?xml version="1.0" encoding="ISO-8859-1"?>
<librairie xmlns="x-schema:c:\schema.xdr">
  <livre isbn="2212110472" categorie="XML">
  <titre>
      Services Web avec XML, SOAP, WSDL, UDDI, ebXML...
  </titre>
  <auteur>Jean-Marie Chauvet</auteur>
  <editeur>Eyrolles</editeur>
  </livre>
  <livre isbn="2100065203" categorie="XML">
  <titre>XML - Manuel de Référence</titre>
  <auteur>R.Wyke</auteur>
  <auteur>S.Rehman</auteur>
  <auteur>B.Leupen</auteur>
  <editeur>Microsoft Press</editeur>
  </livre>
  <livre isbn="1928994474" categorie="XML">
  <titre>XML.NET Developer's Guide</titre>
  <auteur>Collectif</auteur>
  <editeur>Syngress</editeur>
  </livre>
</librairie>

<?xml version="1.0" encoding="ISO-8859-1"?>
<Schema name="schema" 
                 xmlns="urn:schemas-microsoft-com:xml-data"
                 xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <ElementType name="auteur" model="closed" 
                          content="textOnly" dt:type="string"/>
  <ElementType name="editeur" model="closed" 
                          content="textOnly" dt:type="string"/>
  <ElementType name="librairie" model="closed" 
                          content="eltOnly" order="seq">
  <attributeType name="xmlns" dt:type="string"/>
  <attribute type="xmlns"/>
  <element type="livre" minOccurs="1" maxOccurs="*"/>
  </ElementType>
  <ElementType name="livre" model="closed" 
                          content="eltOnly" order="seq">
  <attributeType name="isbn" dt:type="enumeration" 
                           dt:values="1928994474 2100065203 2212110472" 
                           required="yes"/>
  <attributeType name="categorie" dt:type="string" required="yes"/>
  <attribute type="isbn"/>
  <attribute type="categorie"/>
  <element type="titre" minOccurs="1" maxOccurs="1"/>
  <element type="auteur" minOccurs="1" maxOccurs="*"/>
  <element type="editeur" minOccurs="1" maxOccurs="1"/>
  </ElementType>
  <ElementType name="titre" model="closed" 
                          content="textOnly" dt:type="string"/>
</Schema>