Validateur XSD
Un document XML bien formé peut encore être incorrect : élément requis manquant, type de données incorrect pour un attribut, ou éléments dans le mauvais ordre. XSD (XML Schema Definition) décrit exactement à quoi le document doit ressembler. Ce validateur associe votre XML à son XSD, exécute le validateur de schéma XML W3C et liste chaque violation avec la ligne, l’élément et la contrainte spécifique qui a été enfreinte.
Comment valider XML par rapport à XSD
-
1
Collez les deux fichiers
XML d'un côté, schéma XSD de l'autre. Plusieurs schémas peuvent être collés ensemble.
-
2
Exécutez la validation
Le parseur associe les éléments, attributs et types aux déclarations de schéma.
-
3
Examinez les erreurs
Chaque violation montre le chemin de l'élément, la contrainte attendue et la valeur réelle.
-
4
Corrigez et revalidez
Modifiez sur place et relancez sans recharger.
Ce que XSD vérifie
- Noms d’éléments et cardinalité : requis, optionnel, occurrences min/max.
- Ordre des éléments : séquence, choix, tous.
- Présence et type d’attribut : requis vs optionnel, valeurs par défaut, valeurs fixes.
- Types de données :
xs:string,xs:integer,xs:decimal,xs:dateTime,xs:boolean,xs:anyURI, personnalisé. - Restrictions : longueur min/max, énumérations, motifs regex, valeurs min/max.
- Intégrité référentielle :
xs:key,xs:keyref,xs:uniquepour les contraintes entre éléments.
Erreurs typiques
| Erreur | Contrainte XSD |
|---|---|
Élément requis manquant <email> |
minOccurs="1" |
Trop d’éléments <phone> |
maxOccurs="2" dépassé |
| Valeur “abc” n’est pas un entier valide | type="xs:integer" |
| Valeur “[email protected]” ne correspond pas au motif | xs:pattern sur xs:string |
| Éléments hors d’ordre | xs:sequence |
Élément inconnu <foo> |
Non déclaré dans le schéma |
| Clé dupliquée | Violation xs:unique |
Choisir entre XSD et alternatives
- XSD : standard W3C, verbeux, puissant, largement supporté. Premier choix pour XML d’entreprise.
- RELAX NG : syntaxe plus simple, tout aussi expressive. Populaire dans les formats de documentation (DocBook, TEI).
- Schematron : basé sur des règles, exécute des assertions XPath sur le document. Bon pour les règles métier au-delà de la structure.
- DTD : plus ancien, beaucoup moins expressif. Toujours utilisé pour la compatibilité historique avec HTML.
De nombreux projets utilisent XSD pour la structure et Schematron pour des règles complexes entre champs.
Pièges courants
- Les espaces de noms doivent correspondre. Si le XSD déclare
targetNamespace="http://example.com"mais que le XML n’utilise pas cet espace de noms, la validation échoue avec “aucune déclaration trouvée”. - xs:anyType n’est pas une échappatoire magique. Il correspond à tout mais ne vous donne aucune validation.
- Les valeurs par défaut s’appliquent uniquement lorsque l’attribut est absent. Une valeur vide explicite (
attr="") ne reçoit pas la valeur par défaut. - Le traitement des espaces varie selon le type.
xs:stringles préserve,xs:tokenles réduit,xs:normalizedStringremplace les tabulations/nouvelles lignes par des espaces.
Flux de travail de débogage
- Validez d’abord sans schéma (vérification de la bien-formation). Corrigez les erreurs de parsing.
- Ensuite, validez par rapport au schéma.
- Concentrez-vous sur la première erreur. Les validateurs XSD génèrent parfois des erreurs en cascade ; la première est généralement la plus exploitable.
- Utilisez XPath pour localiser l’élément fautif dans de grands documents.
Questions fréquentes
Non. Collez-les séparément, ou référencez le schéma via xsi:schemaLocation dans le XML. La plupart des outils supportent les deux approches.
Oui. Lorsque des éléments de différents espaces de noms apparaissent, chacun a besoin de son propre schéma. Collez-les tous ; le validateur les charge tous.
XSD 1.0. Le moteur libxml sous-jacent n’implémente pas XSD 1.1, si bien que les fonctionnalités propres à la 1.1 comme les assertions, les types conditionnels et le contenu ouvert ne sont pas appliquées.
Non. Votre XML et votre schéma ne sont envoyés au serveur que pour exécuter la validation de cette seule requête ; ils ne sont ni stockés ni journalisés ensuite.
Outils similaires
Compteur de FPS
Mesurez les FPS du navigateur avec requestAnimationFrame : lissage, fréquence d'images min et max, seuil d'alerte et graphique facultatif. Tout se passe en local, sans envoi ni API.
Référence de la table ASCII
Table ASCII complète de 0 à 127 avec décimal, hexadécimal, octal, binaire et référence numérique HTML pour chaque caractère, y compris les codes de contrôle comme NUL, LF et DEL.
Référence des raccourcis clavier
Recherchez les raccourcis par défaut documentés de VS Code, Chrome et Bash avec GNU Readline sous macOS, Windows et Linux.
Référence des caractères HTML
Liste consultable des entités HTML, de leurs codes nommés et numériques, et un copier-coller en un clic pour les caractères et symboles spéciaux.
Générateur de licence
Générez le texte complet des licences open source avec votre nom et l'année remplis. Couvre les licences MIT, Apache 2.0, GPLv3, BSD-3, MPL-2.0 et CC.
Vérificateur d'algorithme de Luhn
Validez les numéros de carte de crédit, IMEI, NAS et autres numéros protégés par Luhn. Retourne un résultat valide ou invalide et montre chaque étape de doublement et de somme.
Outil disponible dans d’autres langues
- XSD-Validator [DE]
- Validador XSD [PT]
- Bộ xác thực XSD [VI]
- XSD-validerare [SV]
- เครื่องตรวจสอบความถูกต้องของ XSD (XSD Validator) [TH]
- Validator XSD [ID]
- XSD 검증기 [KO]
- Validador XSD [ES]
- XSDバリデーター [JA]
- مُحقق تنسيق XSD [AR]
- XSD-validator [NL]
- Walidator XSD [PL]
- Validator XSD [IT]
- Валидатор XSD [RU]
- XSD Doğrulayıcı [TR]
- XSD 校验工具 [ZH]
- XSD Validator [EN]