XmlReaderSettings.ValidationEventHandler Esemény
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Akkor fordul elő, ha az olvasó érvényesítési hibákba ütközik.
public:
event System::Xml::Schema::ValidationEventHandler ^ ValidationEventHandler;
public event System.Xml.Schema.ValidationEventHandler ValidationEventHandler;
member this.ValidationEventHandler : System.Xml.Schema.ValidationEventHandler
Eseménytípus
Példák
Az alábbi példa bemutatja azokat a beállításokat, amelyekkel egy beágyazott sémával érvényesíthető olvasót hozhat létre, és amely érvényesítési figyelmeztetéseket is megjelenít. Az érvényesítési eseménykezelő az enumerálást használja a XmlSeverityType figyelmeztetések és a hibák megkülönböztetésére.
using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;
public class ValidXSD {
public static void Main() {
// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema;
settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("inlineSchema.xml", settings);
// Parse the file.
while (reader.Read());
}
// Display any warnings or errors.
private static void ValidationCallBack (object sender, ValidationEventArgs args) {
if (args.Severity==XmlSeverityType.Warning)
Console.WriteLine("\tWarning: Matching schema not found. No validation occurred." + args.Message);
else
Console.WriteLine("\tValidation error: " + args.Message);
}
}
Imports System.Xml
Imports System.Xml.Schema
Imports System.IO
public class ValidXSD
public shared sub Main()
' Set the validation settings.
Dim settings as XmlReaderSettings = new XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.ValidationFlags = settings.ValidationFlags Or XmlSchemaValidationFlags.ProcessInlineSchema
settings.ValidationFlags = settings.ValidationFlags Or XmlSchemaValidationFlags.ReportValidationWarnings
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
' Create the XmlReader object.
Dim reader as XmlReader = XmlReader.Create("inlineSchema.xml", settings)
' Parse the file.
while (reader.Read())
end while
end sub
' Display any warnings or errors.
private shared sub ValidationCallBack (sender as object, args as ValidationEventArgs)
if (args.Severity=XmlSeverityType.Warning)
Console.WriteLine(" Warning: Matching schema not found. No validation occurred." + args.Message)
else
Console.WriteLine(" Validation error: " + args.Message)
end if
end sub
end class
Megjegyzések
Ezek az események egy XML-példány dokumentumának olvasása közben fordulnak elő, ha az egyik vagy ValidationTypea DTD másikra van beállítvaSchema. Ha a ReportValidationWarnings beállítás engedélyezve van a tulajdonságon, ezek az ValidationFlags események akkor is előfordulnak, ha érvényesítési figyelmeztetések lépnek fel.
Ha az olvasó érvényesítésre van konfigurálva, és nincs beállítva érvényesítési eseménykezelő, XmlSchemaValidationException a rendszer az összes érvényesítési hiba esetén megjelenik. (Az érvényesítési figyelmeztetések nem okoznak XmlSchemaValidationException dobást).
Important
Az érvényesítési hibaüzenetek bizalmas tartalommodell-információkat tehetnek közzé. Az érvényesítési hiba- és figyelmeztető üzenetek a ValidationEventHandler delegált segítségével kerülnek kezelésre, vagy egy XmlSchemaValidationException-ként jelennek meg, ha nincs eseménykezelő biztosítva a XmlReaderSettings objektumnak (az érvényesítési figyelmeztetések nem idéznek elő XmlSchemaValidationException-t). Ezek a tartalommodell-információk nem fedhetők fel nem megbízható helyzetekben. Az érvényesítési figyelmeztető üzenetek alapértelmezés szerint el vannak tiltva, és a ReportValidationWarnings jelölő beállításával jelenthetők.
Az SourceUriXmlSchemaValidationException tulajdonsága visszaadja a kivételt okozó sémafájl URI-elérési útját. Nem megbízható helyzetekben a SourceUri tulajdonságot nem szabad kitenni.