XmlSchemaCollection.ValidationEventHandler Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ustawia procedurę obsługi zdarzeń na potrzeby odbierania informacji o błędach weryfikacji schematu XDR i XML.
public:
event System::Xml::Schema::ValidationEventHandler ^ ValidationEventHandler;
public event System.Xml.Schema.ValidationEventHandler ValidationEventHandler;
member this.ValidationEventHandler : System.Xml.Schema.ValidationEventHandler
Typ zdarzenia
Przykłady
W poniższym przykładzie pokazano, jak ustawić procedurę obsługi zdarzeń w celu obsługi nieprawidłowych schematów XML.
#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
W poprzednim przykładzie użyto pliku invalid.xsd
jako danych wejściowych.
<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>
Uwagi
Te zdarzenia występują, gdy schematy są dodawane do kolekcji. Jeśli nie podano procedury obsługi zdarzeń, XmlSchemaException jest zgłaszany na błędy weryfikacji, w których znajduje XmlSeverityType.Error
się Severity . Aby określić procedurę obsługi zdarzeń, zdefiniuj funkcję wywołania zwrotnego i dodaj ją do ValidationEventHandler
elementu .
Ważne
Klasa XmlSchemaCollection jest przestarzała w .NET Framework w wersji 2.0 i została zastąpiona przez klasęXmlSchemaSet.