Validation XML à l'aide de schémas
Pour définir la structure d'un document XML ainsi que les relations entre ses éléments, les types de données et les contraintes de contenu, vous devez utiliser une définition de type de document (DTD, Document Type Definition) ou un schéma. Même si un document XML est considéré comme bien construit s'il se conforme aux exigences syntaxiques définies par le World Wide Web Consortium (W3C) dans la recommandation « Extensible Markup Language (XML) 1.0 » (en anglais), il n'est pas considéré comme valide s'il n'est pas en plus d'être correctement construit conforme aux contraintes définies par sa DTD ou son schéma. Par conséquent, tous les documents XML valides sont forcément bien construits, mais les documents XML bien construits ne sont pas tous valides.
Pour plus d'informations sur la technologie XML, consultez la recommandation « Extensible Markup Language (XML) 1.0 (Second Edition) » (en anglais) du W3C qui se trouve à l'adresse http://www.w3.org/TR/2000/REC-xml-20001006. Pour plus d'informations sur le schéma XML, consultez les recommandations du W3C « XML Schema Part 1: Structures » et « XML Schema Part 2: Datatypes », disponibles à l'adresse http://www.w3.org/TR/.
La validation des documents et des fragments XML s'effectue à l'aide de la classe XmlValidatingReader qui fournit des services de validation des DTD, des schémas XRD (XML-Data Reduced) et des schémas de langage XSD (XML Schema Definition) en implémentant les contraintes de validité définies dans les recommandations du W3C.
La classe XmlValidatingReader implémente la classe XmlReader en effectuant une validation de type avant uniquement d'un flux XML. La classe XmlValidatingReader peut prendre XmlTextReader comme entrée. Les couches XmlValidatingReader prennent en charge XmlTextReader ainsi que la possibilité d'analyser des fragments XML à l'aide de la classe XmlParserContext. Pour plus d'informations sur l'analyse de fragments XML, consultez Lecture de fragments XML à l'aide de XmlValidatingReader.
Toute propriété définie pour XmlTextReader s'applique également à la classe XmlValidatingReader conteneur.
L'exemple de code ci-dessous illustre la prise en charge de XmlTextReader par la couche XmlValidatingReader.
Dim tr as XmlTextReader = new XmlTextReader("Sample1.xml")
Dim vr as XmlValidatingReader = new XmlValidatingReader(tr)
[C#]
XmlTextReader tr = new XmlTextReader("Sample1.xml");
XmlValidatingReader vr = new XmlValidatingReader(tr);
Dans cette section
- Validation lors du chargement XMLDocument
Explique comment charger un document XML à l'aide de la classe XmlValidatingReader. - Validation XML à l'aide de XmlValidatingReader
Fournit des informations sur la manière d'implémenter la classe XmlValidatingReader à valider par rapport aux DTD, aux schémas XDR et aux schémas de langage XSD, ainsi que les fragments XML. Décrit également l'événement ValidationEventHandler. - XmlSchemaCollection comme cache de schéma
Explique comment charger des schémas dans une collection mise en cache en vue d'une validation. - Résolution des entités à l'aide de XmlValidatingReader
Décrit les propriétés et les méthodes utilisées pour gérer des entités. - Accès aux informations de type de schéma
Fournit des informations sur l'accès aux informations de type de schéma au cours d'une validation.
Rubriques connexes
- Référence des schémas XML (XSD)
Documente le langage XSD (XML Schema Definition) tel qu'il est défini par le World Wide Web Consortium (W3C).