Validateur XML / XSD
Côté serveurExemples
Résultat de la validation
Schéma XSD
Document XML
Détails techniques
Comment fonctionne le validateur XML / XSD
Ce que fait l’outil
Ce validateur XML XSD vérifie les documents XML par rapport à des définitions de schéma XML à l’aide d’un traitement côté serveur. L’outil valide la structure, les types de données, l’ordre des éléments et les exigences d’attributs définis dans votre schéma. Lorsque la validation échoue, il signale des erreurs spécifiques avec des numéros de ligne et de colonne lorsque disponibles. Le validateur gère les espaces de noms, les types complexes, les contraintes de séquence et les facettes de schéma telles que la correspondance de motifs et les restrictions de valeur.
Exemple : validation d’un catalogue de livres
Considérez ce schéma XSD exigeant que les livres aient des ID entiers et des prix décimaux :
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="price" type="xs:decimal"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>Un XML invalide comme <book id="abc"><price>not-a-number</price></book>échouerait à la validation avec des erreurs de contrainte de type à la fois pour l’attribut ID et l’élément price.
Cas d’usage courants
Les développeurs utilisent la validation de schéma XML lors de l’intégration avec des API SOAP, de la validation de fichiers de configuration ou du traitement de formats d’échange de données. Les scénarios courants incluent la validation de réponses d’API par rapport à des schémas publiés, la vérification de fichiers de configuration avant déploiement et l’assurance de la qualité des données dans des pipelines ETL. Le validateur est particulièrement utile pour détecter les incompatibilités de type, les éléments requis manquants et un ordre d’éléments incorrect avant que les données n’atteignent les systèmes de production.
Moteur de validation et limitations
Cet outil utilise libxml2 via le binding Node.js libxmljs, offrant une conformité à XML Schema 1.0. Le validateur traite les schémas entièrement côté serveur pour des raisons de sécurité et ne récupère pas de ressources externes ni ne résout d’importations basées sur le réseau. Le traitement des entités externes (XXE) est désactivé par sécurité. Les inclusions et importations de schéma ne fonctionnent que si tous les schémas référencés sont fournis dans le contenu XSD principal.
- Accès réseau :Bloqué pour des raisons de sécurité
- Importations de schéma :Doivent être intégrées, aucune résolution externe
- Entités externes :Désactivées (protection XXE)
- Limites de traitement :Des limites de taille raisonnables s’appliquent
Traitement côté serveur vs côté client
Les vérifications de bonne formation XML côté client suffisent pour une validation de syntaxe de base. Cependant, la validation XSD nécessite un moteur spécialisé, car les navigateurs n’intègrent pas de processeurs de schéma XML. La validation côté serveur garantit des résultats cohérents, gère des fonctionnalités de schéma complexes comme l’héritage et les imports, et offre une isolation de sécurité face à du contenu XML potentiellement malveillant.