Walidacja dokumentów a flaga ReportValidationWarnings

Z grubsza, definiuje ona dokument, w którym węzeł root nazywa się "słownik". Węzłami potomnymi tego węzła są węzły "element" z których każdy posiada atrybuty "klucz" oraz "wartosc". Do walidacji dokumentów za pomocą tej schemy zostanie użyty następujący kod (schema została zapisana w pliku "slownik.xsd" a dokument do walidacji znajduje się w pliku "słownik.xml"):

public void ValidateXml() {

XmlReaderSettings readerSettings =
new XmlReaderSettings();
 
  readerSettings.ValidationType = ValidationType.Schema;
   readerSettings.Schemas.Add("http://xml.com.pl/slownik",
"C:\\temp\\test.xsd");
   readerSettings.ValidationEventHandler +=
new ValidationEventHandler(ValidationCallBack);

using(XmlReader xr =
XmlReader.Create("D:\\temp\\test.xml",
readerSettings)) {

       while(xr.Read()) { }
}
}



private static void ValidationCallBack(object sender,
ValidationEventArgs args) {

Console.WriteLine(args.Severity + ": " + args.Message);
}

Niech dokument do walidacji wygląda tak:

<slownik>
  <element klucz="LON" wartosc="Londyn" />
  <element klucz="SYD" wartosc="Sydney" />
  <element klucz="WAW" wartosc="Warszawa" />
  <element klucz="SIN" wratosc="Singapur" />
  <element klucz="SEA" wartosc="Seattle" />
</slownik>

Wszystko wydaje się być OK ("bystry student zauważy" ©, że tak akurat nie jest ale nie uprzedzajmy faktów...).