XmlSchemaCollection.ValidationEventHandler Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit un gestionnaire d’événements pour recevoir des informations sur les erreurs de validation des schémas XDR et XML.
public:
event System::Xml::Schema::ValidationEventHandler ^ ValidationEventHandler;
public event System.Xml.Schema.ValidationEventHandler ValidationEventHandler;
member this.ValidationEventHandler : System.Xml.Schema.ValidationEventHandler
Type d'événement
Exemples
L’exemple suivant montre comment définir un gestionnaire d’événements pour gérer des schémas XML non valides.
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Schema;
public ref class Sample
{
private:
//Display the schema error information.
static void ValidationCallBack( Object^ sender, ValidationEventArgs^ args )
{
Console::WriteLine( "Invalid XSD schema: {0}", args->Exception->Message );
}
public:
static void main()
{
// Create the schema collection.
XmlSchemaCollection^ xsc = gcnew XmlSchemaCollection;
//Set an event handler to manage invalid schemas.
xsc->ValidationEventHandler += gcnew ValidationEventHandler( Sample::ValidationCallBack );
//Add the schema to the collection.
xsc->Add( nullptr, "invalid.xsd" );
}
};
int main()
{
Sample::main();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;
public class Sample
{
public static void Main (){
//Create the schema collection.
XmlSchemaCollection xsc = new XmlSchemaCollection();
//Set an event handler to manage invalid schemas.
xsc.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
//Add the schema to the collection.
xsc.Add(null, "invalid.xsd");
}
//Display the schema error information.
private static void ValidationCallBack (object sender, ValidationEventArgs args){
Console.WriteLine("Invalid XSD schema: " + args.Exception.Message);
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Schema
public class Sample
public shared sub Main ()
'Create the schema collection.
Dim xsc as XmlSchemaCollection = new XmlSchemaCollection()
'Set an event handler to manage invalid schemas.
AddHandler xsc.ValidationEventHandler, AddressOf ValidationCallBack
'Add the schema to the collection.
xsc.Add(nothing, "invalid.xsd")
end sub
'Display the schema error information.
Private shared sub ValidationCallBack (sender as object, args as ValidationEventArgs)
Console.WriteLine("Invalid XSD schema: " + args.Exception.Message)
end sub
end class
L’exemple précédent utilise le fichier invalid.xsd
comme entrée.
<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema' >
<xsd:complexType name="personName">
<xsd:sequence>
<xsd:element name="title" minOccurs="0" maxOccurs="1"/>
<xsd:element name="forename" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="surname"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="simpleName">
<xsd:complexContent>
<xsd:restriction base="personName">
<xsd:sequence>
<xsd:element name="title" minOccurs="0" maxOccurs="0"/>
<xsd:element name="firstname" minOccurs="1" maxOccurs="1"/>
<xsd:element name="surname"/>
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
Remarques
Ces événements se produisent lorsque les schémas sont ajoutés à la collection. Si un gestionnaire d’événements n’est pas fourni, un XmlSchemaException élément est levée sur toutes les erreurs de validation où l’objet Severity est XmlSeverityType.Error
. Pour spécifier un gestionnaire d’événements, définissez une fonction de rappel et ajoutez-la ValidationEventHandler
au .
Important
La XmlSchemaCollection classe est obsolète dans .NET Framework version 2.0 et a été remplacée par la XmlSchemaSet classe.