Un schéma est une description de la structure que doit respecter un document lui faisant référence, c'est à dire qu'il établit la liste des éléments XML autorisés (avec leurs attributs), ainsi que l'agencement possible de ces éléments.
On parle aussi de grammaire, au sens où le schéma définit l'enchaînement autorisé des balises et vient en complément de la syntaxe XML (qui elle est indépendante d'un schéma particulier).
Un document XML bien formé est dit valide pour un schéma donné s'il respecte les règles structurelles imposées par ce schéma.
Ce contrôle de la structure permet :
De s'assurer l'homogénéité structurelle des documents de même type.
Le traitement automatique d'un ensemble de documents de même type (mise en forme, stockage, extraction d'informations...).
La création de formats standard et leur respect.
Il existe plusieurs langages de définition schéma, mais les trois principaux sont :
Document Type Définition (W3C) : Un langage hérité de SGML qui fait partie du standard XML
W3C XML Schema (W3C) : Une alternative aux DTD destiné à moderniser et compléter ce langage historique
Relax NG (OASIS, ISO) : Une autre alternative, compromis entre W3C XML Schema et DTD