Hiérarchie des types
Tous les types (prédéfinis ou définis) dans un schéma sont dérivés du type xsd :anyType.
xsd :anyType est le type par défaut lorsqu'une déclaration d'élément ne spécifie pas le type (voir exemple suivant).
Exemple :
<!-- Le type de l'élément object est xsd:anyType -->
<xsd:element name="object"/>
Le langage XML Schema offre la possibilité de définir une hiérarchie de types qui sont obtenus par : extension ou restriction de types déjà définis :
Extension permet de définir un nouveau type en ajoutant des éléments et/ou des attributs à un type.
Restriction permet au contraire d'imposer des contraintes supplémentaires au contenu et aux attributs.