Types de validation du XmlValidatingReader
La propriété ValidationType détermine le type de validation effectuée par l'objet XmlValidatingReader. Vous devez définir cette propriété avant d'appeler la méthode Read. La propriété XmlResolver est utilisée si des définitions de type de document (DTD) ou des schémas externes nécessitent une validation.
Remarque |
---|
La classe XmlValidatingReader est obsolète dans le .NET Framework version 2.0.Vous pouvez créer une instance de l'objet XmlReader de validation à l'aide de la classe XmlReaderSettings et de la méthode Create.Pour plus d'informations, voir Validation de données XML avec XmlReader. |
Énumération ValidationType
La valeur de la propriété ValidationType peut être l'une des valeurs d'énumération ValidationType. Les sections suivantes décrivent les valeurs ValidationType.
ValidationType.Auto
Il s'agit de la valeur par défaut de la propriété ValidationType. Le tableau suivant présente les règles de validation lorsque la propriété ValidationType a la valeur Auto.
DTD ou schéma |
ValidationType.Auto |
---|---|
Pas de DTD ou de schéma |
Analyse le code XML sans validation. Aucune exception n'est levée. Aucune information de type n'est fournie. |
DTD |
Effectue une validation DTD. Les attributs et les entités par défaut sont étendus. Les entités générales sont chargées et analysées uniquement si elles sont utilisées (étendues). Aucune information de type n'est fournie. |
Schéma XML (référence ou inline) |
Effectue une validation de langage XSD. Valide avec le schéma. Les attributs par défaut sont étendus. Des informations de type sont fournies. |
Schéma XDR (référence ou inline) |
Effectue une validation de schéma XDR. Valide avec le schéma. Les attributs par défaut sont étendus. Des informations de type sont fournies. |
DTD et schéma XML ou schéma XDR (référence ou inline) |
Effectue une validation de DTD/schéma XML/XRD en fonction de la première occurrence du type de validation. La validation DTD a toujours la priorité sur les autres types de validation. |
ValidationType.DTD
Si la valeur ValidationType.DTD est spécifiée, l'objet XmlValidatingReader valide le document en fonction de la DTD. Le tableau suivant présente les règles de validation lorsque la propriété ValidationType a la valeur ValidationType.DTD.
DTD ou schéma |
ValidationType.DTD |
---|---|
Pas de DTD ou de schéma |
Retourne un avertissement No DTD found pour l'élément racine. Aucune exception n'est levée. Aucune information de type n'est fournie. |
DTD |
Effectue une validation DTD. Les attributs et les entités par défaut sont étendus. Les entités générales sont chargées et analysées uniquement si elles sont utilisées (étendues). Aucune information de type n'est fournie. |
Schéma XML (référence ou inline) |
Retourne un avertissement No DTD found pour l'élément racine. Une exception XmlException est levée signalant des types de validation mélangés lorsque le schéma est trouvé. |
Schéma XDR (référence ou inline) |
Retourne un avertissement No DTD found pour l'élément racine. Une exception XmlException est levée signalant des types de validation mélangés lorsque le schéma est trouvé. |
DTD et schéma XML ou schéma XDR (référence ou inline) |
Effectue une validation DTD. Les attributs et les entités par défaut sont étendus. |
ValidationType.Schema
Si la valeur ValidationType.Schema est spécifiée, l'objet XmlValidatingReader valide le document en fonction des schémas XML, schémas inline inclus. Le tableau suivant présente les règles de validation lorsque la propriété ValidationType a la valeur ValidationType.Schema.
DTD ou schéma |
ValidationType.Schema |
---|---|
Pas de DTD ou de schéma |
Retourne un avertissement No schema found pour chaque élément. |
DTD |
Une exception XmlException est levée signalant des types de validation mélangés. |
Schéma XML (référence ou inline) |
Effectue une validation de schéma XML. Valide avec un schéma. Les attributs par défaut sont étendus à partir du schéma. Des informations de type sont fournies. |
Schéma XDR (référence ou inline) |
Une exception XmlException est levée signalant des types de validation mélangés. |
DTD et schéma XML ou schéma XDR (référence ou inline) |
Effectue une validation de schéma XML. Les attributs par défaut sont étendus à partir du schéma. Des informations de type sont fournies. Si une DTD ou un schéma XDR est trouvé, une exception XmlException est levée signalant des types de validation mélangés. |
ValidationType.XDR
Si la valeur ValidationType.XDR est spécifiée, l'objet XmlValidatingReader valide le document en fonction des schémas XDR, schémas inline inclus. Le tableau suivant présente les règles de validation lorsque la propriété ValidationType a la valeur ValidationType.XDR.
DTD ou schéma |
ValidationType.XDR |
---|---|
Pas de DTD ou de schéma |
Retourne un avertissement final indiquant qu'aucune validation n'a eu lieu. |
DTD |
Une exception XmlException est levée signalant des types de validation mélangés. |
Schéma XML (référence ou inline) |
Une exception XmlException est levée signalant des types de validation mélangés. |
Schéma XDR (référence ou inline) |
Effectue une validation XDR. Valide avec un schéma. Les attributs par défaut sont étendus à partir du schéma. Des informations de type sont fournies. |
DTD et schéma XML ou schéma XDR (référence ou inline) |
Effectue une validation XDR. Les attributs par défaut sont étendus à partir du schéma. Des informations de type sont fournies. Si une DTD ou un schéma XML est trouvé, une exception XmlException est levée signalant des types de validation mélangés. |
ValidationType.None
La valeur ValidationType.None crée un analyseur non validant conforme à la recommandation du World Wide Web Consortium (W3C) sur le langage XML (Extensible Markup Language) 1.0. Les attributs par défaut sont signalés et les entités générales peuvent être résolues. Aucune erreur de validation n'est levée. Le tableau suivant présente les règles de validation lorsque la propriété ValidationType a la valeur ValidationType.None.
DTD ou schéma |
ValidationType.None |
---|---|
Pas de DTD ou de schéma |
Analyse le code XML sans validation. Aucune exception n'est levée. Aucune information de type n'est fournie. |
DTD |
Création d'un analyseur non validant conforme au langage XML 1.0. Aucune validation DTD n'est effectuée. Les attributs et les entités par défaut sont étendus à partir de la DTD. Aucune information de type n'est fournie. |
Schéma XML (référence ou inline) |
Analyse le code XML sans validation. Aucune exception n'est levée. Les attributs par défaut ne sont pas étendus à partir du schéma. Aucune information de type n'est fournie. |
Schéma XDR (référence ou inline) |
Analyse le code XML sans validation. Aucune exception n'est levée. Les attributs par défaut ne sont pas étendus à partir du schéma. Aucune information de type n'est fournie. |
DTD et schéma XML ou schéma XDR (référence ou inline) |
Création d'un analyseur non validant conforme au langage XML 1.0. Aucune validation DTD n'est effectuée. Les attributs et les entités par défaut sont étendus à partir de la DTD. Aucune information de type n'est fournie. |
L'objet XmlValidatingReader lève une exception InvalidOperationException si la propriété ValidationType est définie après la première méthode Read.