L'élément schema encadre une définition de schéma en se comportant comme un élément racine.
<Schema name="schema-name" xmlns="namespace"> ... </Schema>
L'attribut name représente le nom du schéma.
L'attribut xmlns indique un ou plusieurs espaces de noms destinés à être utilisé avec le schéma.
L'élément schema est unique et ne peut posséder de parents. Par contre, il est susceptible de contenir des éléments enfants tels que ElementType, AttributeType et description.
Les espaces de noms spécifiés utilisant l'attribut xmlns doivent inclure l'espace de noms pour les éléments de définition du schéma, soit ElementType, AttributeType, etc..
N'importe quel préfixe peut être utilisé, mais il est opportun de créer un espace de nom par défaut pour le schéma afin d'éviter d'utiliser des préfixes devant les éléments le composant.
L'élément schema dans un schéma XML doit aussi contenir des déclarations d'espaces de noms pour tous les autres schémas, comme l'espace de noms qui définit les types de données insérés dans le schéma.
<Schema name="nom_schema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> ... </Schema>