XmlSchemaCollection.ValidationEventHandler Olay

Tanım

XDR ve XML şema doğrulama hataları hakkında bilgi almak için bir olay işleyicisi ayarlar.

public:
 event System::Xml::Schema::ValidationEventHandler ^ ValidationEventHandler;
public event System.Xml.Schema.ValidationEventHandler ValidationEventHandler;
member this.ValidationEventHandler : System.Xml.Schema.ValidationEventHandler 

Olay Türü

ValidationEventHandler

Örnekler

Aşağıdaki örnekte, geçersiz XML Şemalarını işlemek için bir olay işleyicisinin nasıl ayarlanacağı gösterilmektedir.

#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

Yukarıdaki örnekte giriş olarak dosya invalid.xsd kullanılır.

<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>

Açıklamalar

Bu olaylar, şemalar koleksiyona eklendiğinde gerçekleşir. Bir olay işleyicisi sağlanmazsa, olduğu doğrulama hatalarında Severity XmlSeverityType.Errorbir XmlSchemaException oluşturulur. Olay işleyicisi belirtmek için bir geri çağırma işlevi tanımlayın ve bunu öğesine ValidationEventHandlerekleyin.

Önemli

sınıfıXmlSchemaCollection, .NET Framework sürüm 2.0'da kullanımdan kaldırılmıştır ve sınıfı tarafından XmlSchemaSet değiştirilmiştir.

Şunlara uygulanır