La validation au sens XML permet de vérifier qu'un document XML est bien conforme à un certain nombre de prescriptions (structure des éléments XML, présence des attributs, cardinalité, type de données). Les schémas XML permettent à la fois de définir une structure générale et de contrôler qu'un document XML particulier y est bien conforme. Une telle opération de validation permet de garantir l'échange automatisé de notices TEF valides et complètes.
TEF s'appuie sur METS, mais n'en exploite pas toutes les fonctionnalités. Par ailleurs, METS n'étant qu'une envelope vide que chacun peut compléter avec les métadonnées qu'il juge utiles, il est toujours possible d'ajouter un bloc de métadonnées quelconque, différent des blocs TEF. Les outils de validation TEF ne signaleront donc pas comme une erreur l'introduction de fonctionnalités METS ou de blocs de métadonnées quelconques non prévus par la recommandation TEF. Du point de vue de TEF, ces ajouts sont permis mais indifférents. Sauf convention expresse entre les deux parties, un producteur de notices TEF ne peut s'attendre à ce que le partenaire auquel il envoie des notices TEF ainsi étendues sache interpréter ces ajouts extérieurs. Seuls comptent les éléments METS, TEF, DC, DTERMS, MADS et METSRights qui sont décrits dans la seconde partie de la recommandation.
La recommandation TEF comprend un certain nombre de schémas. Certains de ces schémas préexistent à TEF et sont donc réutilisés tels quels. Ces schémas externes à TEF sont le schéma METS, le schéma METS Rights, le schéma MADS et les schémas Dublin Core. Les autres schémas sont propres à TEF. Comme les schémas externes à TEF utilisent le langage W3C XML Schema, ce dernier a été choisi pour écrire les schémas TEF. Tous ces schémas sont regroupés à partir d'un schéma racine qui appelle tous les autres. L'organisation physique des schémas est la suivante :
tef_schemas.xsd (espace de noms METS) inclut mets1.5.xsd importe metsrights.xsd importe tef_schemas_TEF.xsd, qui inclut tef_desc_these.xsd tef_desc_version.xsd tef_desc_edition.xsd tef_desc_externe.xsd tef_admin_these.xsd tef_tech_fichier.xsd
Il existe donc un schéma XML pour chaque bloc de métadonnées. Le schéma tef_types.xsd est un schéma auxiliaire appelé par plusieurs schémas TEF.
Mais, dans le format XML de TEF, les schémas W3C XML Schema ne sont pas seuls responsables de la validation XML. Une grande partie du travail de validation est confiée à un schéma Schematron, qui est un langage de validation XML basé sur des règles. De manière très précise et modulaire, il prévoit des règles de validation de la forme suivante : "si tel élément existe, alors tel attribut doit avoir telle valeur". La validation XML est effectuée en Schematron et non en W3C XML Schema dans les cas suivants :
quand les contraintes désirées ne sont pas prévues par les schémas préexistant à TEF. Pour respecter ces schémas établis, on les réutilise sans modification et on exprime les contraintes à valider dans un schéma Schematron complémentaire ;
quand le langage W3C XML Schema ne permet pas d'exprimer une contrainte ;
quand il s'agit de définir les valeurs possibles que peut prendre un élément ou un attribut ;
quand il s'agit d'une contrainte de cardinalité[12].
En fait, la plupart des contraintes ont été déportées en Schematron. Les schémas W3C ont pour seule fonction de dessiner l'arbre des éléments et attributs. Ce parti pris donne une souplesse beaucoup plus grande dans l'implémentation de TEF. Dans Schematron, chaque règle est indépendante des autres. Dans le cadre d'une application locale de TEF, il devient très aisé de relâcher telle ou telle contrainte de cardinalité en supprimant ou modifiant une seule règle. Cela permet d'implémenter une validation XML de TEF à géométrie variable, différente selon les partenaires, les applications ou les étapes d'un processus.
On peut consulter soit le fichier source des règles Schematron, soit une page qui liste ces règles en langage naturel.
[12] Cette affirmation ne concerne pas les contraintes de cardinalité incluses dans les schémas XML préexistants à TEF.