À retenir
- Sert de contrat de validation pour les fichiers XML.
- Définit la structure, l'ordre et le type des données.
- Permet d'automatiser la détection d'erreurs dans les flux de données.
Un schéma XML est un document de référence qui définit les règles de structure d'un fichier XML. Il agit comme un plan d'architecte : il précise quelles balises sont autorisées, dans quel ordre elles doivent apparaître et quel type de contenu (nombre, texte, date) elles peuvent recevoir.
Étymologie
Le mot « schéma » provient du grec skhēma signifiant « forme » ou « figure ». XML est l'acronyme de eXtensible Markup Language. L'usage actuel fait le plus souvent référence au standard XSD (XML Schema Definition), publié par le W3C au début des années 2000 pour remplacer le format DTD plus limité.
Exemples d'usage
- Vérifier qu'un fichier de facture contient bien un montant numérique et une date valide.
- S'assurer qu'un fichier de configuration de logiciel possède toutes les options obligatoires avant de le charger.
- Définir le format des messages échangés entre deux banques pour éviter toute erreur de lecture.
Cas d'usage
On utilise les schémas XML principalement dans les échanges de données entre systèmes hétérogènes (Web Services), dans la configuration d'applications complexes et dans le stockage de documents structurés où la précision des données est critique.
Bonnes pratiques
Il est recommandé de toujours typer précisément les éléments (utiliser xs:date plutôt que xs:string pour une date) et d'utiliser des espaces de noms (namespaces) pour éviter les conflits de noms entre différentes structures de données.
Synonymes
Antonymes
Conseil
Si vous débutez, considérez le schéma XML comme un outil de contrôle qualité. Avant de traiter une information reçue, passez-la au filtre du schéma : si le fichier est rejeté, cela vous évite de faire planter votre programme avec des données mal formées.
Questions fréquentes
Quelle est la différence entre DTD et XML Schema (XSD) ?
Le schéma XML (XSD) est plus moderne : il est lui-même écrit en XML et permet de définir des types de données très précis (chiffres, plages de dates), contrairement à la DTD qui est plus rudimentaire.
Un fichier XML peut-il fonctionner sans schéma ?
Oui, il est alors dit 'bien formé'. S'il respecte en plus un schéma, il est dit 'valide'.