Compartir vía


ValidationEventArgs.Severity Propiedad

Definición

Obtiene la gravedad del evento de validación.

public:
 property System::Xml::Schema::XmlSeverityType Severity { System::Xml::Schema::XmlSeverityType get(); };
public System.Xml.Schema.XmlSeverityType Severity { get; }
member this.Severity : System.Xml.Schema.XmlSeverityType
Public ReadOnly Property Severity As XmlSeverityType

Valor de propiedad

Valor de XmlSeverityType que representa la gravedad del evento de validación.

Ejemplos

En el ejemplo siguiente se valida un archivo XML y se genera el error o la advertencia adecuados.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Schema;

ref class Sample
{
private:
    static void Validate(String^ filename, XmlSchemaSet^ schemaSet)
    {
        Console::WriteLine();
        Console::WriteLine("\r\nValidating XML file {0}...", filename->ToString());

        XmlSchema^ compiledSchema;

        for each (XmlSchema^ schema in schemaSet->Schemas())
        {
            compiledSchema = schema;
        }

        XmlReaderSettings^ settings = gcnew XmlReaderSettings();
        settings->Schemas->Add(compiledSchema);
        settings->ValidationEventHandler += gcnew ValidationEventHandler(ValidationCallBack);
        settings->ValidationType = ValidationType::Schema;

        //Create the schema validating reader.
        XmlReader^ vreader = XmlReader::Create(filename, settings);

        while (vreader->Read()) { }

        //Close the reader.
        vreader->Close();
    }

    //Display any warnings or errors.
    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);
    }

public:
    static void Main()
    {
        //Load the XmlSchemaSet.
        XmlSchemaSet^ schemaSet = gcnew XmlSchemaSet();
        schemaSet->Add("urn:bookstore-schema", "books.xsd");

        //Validate the file using the schema stored in the schema set.
        //Any elements belonging to the namespace "urn:cd-schema" generate
        //a warning because there is no schema matching that namespace.
        Validate("store.xml", schemaSet);
        Console::ReadLine();
    }
};

int main()
{
    Sample::Main();
    return 0;
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;

public class Sample
{

    public static void Main()
    {
        //Load the XmlSchemaSet.
        XmlSchemaSet schemaSet = new XmlSchemaSet();
        schemaSet.Add("urn:bookstore-schema", "books.xsd");

        //Validate the file using the schema stored in the schema set.
        //Any elements belonging to the namespace "urn:cd-schema" generate
        //a warning because there is no schema matching that namespace.
        Validate("store.xml", schemaSet);
        Console.ReadLine();
    }

    private static void Validate(String filename, XmlSchemaSet schemaSet)
    {
        Console.WriteLine();
        Console.WriteLine("\r\nValidating XML file {0}...", filename.ToString());

        XmlSchema compiledSchema = null;

        foreach (XmlSchema schema in schemaSet.Schemas())
        {
            compiledSchema = schema;
        }

        XmlReaderSettings settings = new XmlReaderSettings();
        settings.Schemas.Add(compiledSchema);
        settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
        settings.ValidationType = ValidationType.Schema;

        //Create the schema validating reader.
        XmlReader vreader = XmlReader.Create(filename, settings);

        while (vreader.Read()) { }

        //Close the reader.
        vreader.Close();
    }

    //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.IO
Imports System.Xml
Imports System.Xml.Schema

Public Class Sample

    Public Shared Sub Main()

        'Load the XmlSchemaSet.
        Dim schemaSet As New XmlSchemaSet()
        schemaSet.Add("urn:bookstore-schema", "books.xsd")

        'Validate the file using the schema stored in the schema set.
        'Any elements belonging to the namespace "urn:cd-schema" generate
        'a warning because there is no schema matching that namespace.
        Validate("store.xml", schemaSet)

    End Sub

    Shared Sub Validate(ByVal filename As String, ByVal schemaSet As XmlSchemaSet)

        Console.WriteLine()
        Console.WriteLine("\r\nValidating XML file {0}...", filename.ToString())

        Dim compiledSchema As XmlSchema = Nothing

        For Each schema As XmlSchema In schemaSet.Schemas()
            compiledSchema = schema
        Next

        Dim settings As New XmlReaderSettings()
        settings.Schemas.Add(compiledSchema)
        AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
        settings.ValidationType = ValidationType.Schema

        'Create the schema validating reader.
        Dim vreader As XmlReader = XmlReader.Create(filename, settings)

        While (vreader.Read())

        End While

        'Close the reader.
        vreader.Close()
    End Sub

    'Display any warnings or errors.
    Private Shared Sub ValidationCallBack(ByVal sender As Object, ByVal args As ValidationEventArgs)
        If (args.Severity = XmlSeverityType.Warning) Then
            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

En el ejemplo anterior se usan los siguientes archivos de entrada.

store.xml

<?xml version='1.0'?>
<bookstore xmlns="urn:bookstore-schema" xmlns:cd="urn:cd-schema">
  <book genre="novel">
    <title>The Confidence Man</title>
    <price>11.99</price>
  </book>
  <cd:cd>
    <title>Americana</title>
    <cd:artist>Offspring</cd:artist>
    <price>16.95</price>
  </cd:cd>
</bookstore>

books.xsd

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="urn:bookstore-schema"
    elementFormDefault="qualified"
    targetNamespace="urn:bookstore-schema">

 <xsd:element name="bookstore" type="bookstoreType"/>

 <xsd:complexType name="bookstoreType">
  <xsd:sequence maxOccurs="unbounded">
   <xsd:element name="book"  type="bookType"/>
  </xsd:sequence>
 </xsd:complexType>

 <xsd:complexType name="bookType">
  <xsd:sequence>
   <xsd:element name="title" type="xsd:string"/>
   <xsd:element name="author" type="authorName"/>
   <xsd:element name="price"  type="xsd:decimal"/>
  </xsd:sequence>
  <xsd:attribute name="genre" type="xsd:string"/>
 </xsd:complexType>

 <xsd:complexType name="authorName">
  <xsd:sequence>
   <xsd:element name="first-name"  type="xsd:string"/>
   <xsd:element name="last-name" type="xsd:string"/>
  </xsd:sequence>
 </xsd:complexType>

</xsd:schema>

Se aplica a