Share via


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

Rubriques connexes