XmlSchemaValidator XmlSchemaValidator XmlSchemaValidator XmlSchemaValidator Class

Определение

Представляет обработчик проверки схемы языка XSD.Represents an XML Schema Definition Language (XSD) Schema validation engine. Класс XmlSchemaValidator не поддерживает наследование.The XmlSchemaValidator class cannot be inherited.

public ref class XmlSchemaValidator sealed
public sealed class XmlSchemaValidator
type XmlSchemaValidator = class
Public NotInheritable Class XmlSchemaValidator
Наследование
XmlSchemaValidatorXmlSchemaValidatorXmlSchemaValidatorXmlSchemaValidator

Примеры

В следующем примере выполняется проверка contosoBooks.xml файла на contosoBooks.xsd соответствие схеме.The following example validates the contosoBooks.xml file against the contosoBooks.xsd schema. Класс XmlSerializer в примере используется для десериализации файла contosoBooks.xml и передачи значений узлов методам класса XmlSchemaValidator.The example uses the XmlSerializer class to deserialize the contosoBooks.xml file and pass the value of the nodes to the methods of the XmlSchemaValidator class.

using System;
using System.Xml;
using System.Xml.Schema;
using System.Xml.Serialization;
using System.Collections;

namespace Microsoft.Samples.Xml.Schema
{
    class XmlSchemaValidatorExamples
    {
        static void Main()
        {
            // The XML document to deserialize into the XmlSerializer object.
            XmlReader reader = XmlReader.Create("contosoBooks.xml");

            // The XmlSerializer object.
            XmlSerializer serializer = new XmlSerializer(typeof(ContosoBooks));
            ContosoBooks books = (ContosoBooks)serializer.Deserialize(reader);

            // The XmlSchemaSet object containing the schema used to validate the XML document.
            XmlSchemaSet schemaSet = new XmlSchemaSet();
            schemaSet.Add("http://www.contoso.com/books", "contosoBooks.xsd");

            // The XmlNamespaceManager object used to handle namespaces.
            XmlNamespaceManager manager = new XmlNamespaceManager(reader.NameTable);

            // Assign a ValidationEventHandler to handle schema validation warnings and errors.
            XmlSchemaValidator validator = new XmlSchemaValidator(reader.NameTable, schemaSet, manager, XmlSchemaValidationFlags.None);
            validator.ValidationEventHandler += new ValidationEventHandler(SchemaValidationEventHandler);

            // Initialize the XmlSchemaValidator object.
            validator.Initialize();

            // Validate the bookstore element, verify that all required attributes are present
            // and prepare to validate child content.
            validator.ValidateElement("bookstore", "http://www.contoso.com/books", null);
            validator.GetUnspecifiedDefaultAttributes(new ArrayList());
            validator.ValidateEndOfAttributes(null);

            // Get the next exptected element in the bookstore context.
            XmlSchemaParticle[] particles = validator.GetExpectedParticles();
            XmlSchemaElement nextElement = particles[0] as XmlSchemaElement;
            Console.WriteLine("Expected Element: '{0}'", nextElement.Name);

            foreach (BookType book in books.Book)
            {
                // Validate the book element.
                validator.ValidateElement("book", "http://www.contoso.com/books", null);

                // Get the exptected attributes for the book element.
                Console.Write("\nExpected attributes: ");
                XmlSchemaAttribute[] attributes = validator.GetExpectedAttributes();
                foreach (XmlSchemaAttribute attribute in attributes)
                {
                    Console.Write("'{0}' ", attribute.Name);
                }
                Console.WriteLine();

                // Validate the genre attribute and display its post schema validation information.
                if (book.Genre != null)
                {
                    validator.ValidateAttribute("genre", "", book.Genre, schemaInfo);
                }
                DisplaySchemaInfo();

                // Validate the publicationdate attribute and display its post schema validation information.
                if (book.PublicationDate != null)
                {
                    validator.ValidateAttribute("publicationdate", "", dateTimeGetter(book.PublicationDate), schemaInfo);
                }
                DisplaySchemaInfo();

                // Validate the ISBN attribute and display its post schema validation information.
                if (book.Isbn != null)
                {
                    validator.ValidateAttribute("ISBN", "", book.Isbn, schemaInfo);
                }
                DisplaySchemaInfo();

                // After validating all the attributes for the current element with ValidateAttribute method,
                // you must call GetUnspecifiedDefaultAttributes to validate the default attributes.
                validator.GetUnspecifiedDefaultAttributes(new ArrayList());

                // Verify that all required attributes of the book element are present
                // and prepare to validate child content.
                validator.ValidateEndOfAttributes(null);

                // Validate the title element and its content.
                validator.ValidateElement("title", "http://www.contoso.com/books", null);
                validator.ValidateEndElement(null, book.Title);

                // Validate the author element, verify that all required attributes are present
                // and prepare to validate child content.
                validator.ValidateElement("author", "http://www.contoso.com/books", null);
                validator.GetUnspecifiedDefaultAttributes(new ArrayList());
                validator.ValidateEndOfAttributes(null);

                if (book.Author.Name != null)
                {
                    // Validate the name element and its content.
                    validator.ValidateElement("name", "http://www.contoso.com/books", null);
                    validator.ValidateEndElement(null, book.Author.Name);
                }

                if (book.Author.FirstName != null)
                {
                    // Validate the first-name element and its content.
                    validator.ValidateElement("first-name", "http://www.contoso.com/books", null);
                    validator.ValidateEndElement(null, book.Author.FirstName);

                }

                if (book.Author.LastName != null)
                {
                    // Validate the last-name element and its content.
                    validator.ValidateElement("last-name", "http://www.contoso.com/books", null);
                    validator.ValidateEndElement(null, book.Author.LastName);
                }

                // Validate the content of the author element.
                validator.ValidateEndElement(null);

                // Validate the price element and its content.
                validator.ValidateElement("price", "http://www.contoso.com/books", null);
                validator.ValidateEndElement(null, book.Price);

                // Validate the content of the book element.
                validator.ValidateEndElement(null);
            }

            // Validate the content of the bookstore element.
            validator.ValidateEndElement(null);

            // Close the XmlReader object.
            reader.Close();
        }

        static XmlSchemaInfo schemaInfo = new XmlSchemaInfo();
        static object dateTimeGetterContent;

        static object dateTimeGetterHandle()
        {
            return dateTimeGetterContent;
        }

        static XmlValueGetter dateTimeGetter(DateTime dateTime)
        {
            dateTimeGetterContent = dateTime;
            return new XmlValueGetter(dateTimeGetterHandle);
        }

        static void DisplaySchemaInfo()
        {
            if (schemaInfo.SchemaElement != null)
            {
                Console.WriteLine("Element '{0}' with type '{1}' is '{2}'",
                    schemaInfo.SchemaElement.Name, schemaInfo.SchemaType, schemaInfo.Validity);
            }
            else if (schemaInfo.SchemaAttribute != null)
            {
                Console.WriteLine("Attribute '{0}' with type '{1}' is '{2}'",
                    schemaInfo.SchemaAttribute.Name, schemaInfo.SchemaType, schemaInfo.Validity);
            }
        }

        static void SchemaValidationEventHandler(object sender, ValidationEventArgs e)
        {
            switch (e.Severity)
            {
                case XmlSeverityType.Error:
                    Console.WriteLine("\nError: {0}", e.Message);
                    break;
                case XmlSeverityType.Warning:
                    Console.WriteLine("\nWarning: {0}", e.Message);
                    break;
            }
        }
    }

    [XmlRootAttribute("bookstore", Namespace = "http://www.contoso.com/books", IsNullable = false)]
    public class ContosoBooks
    {
        [XmlElementAttribute("book")]
        public BookType[] Book;
    }

    public class BookType
    {
        [XmlAttributeAttribute("genre")]
        public string Genre;

        [XmlAttributeAttribute("publicationdate", DataType = "date")]
        public DateTime PublicationDate;

        [XmlAttributeAttribute("ISBN")]
        public string Isbn;

        [XmlElementAttribute("title")]
        public string Title;

        [XmlElementAttribute("author")]
        public BookAuthor Author;

        [XmlElementAttribute("price")]
        public Decimal Price;
    }

    public class BookAuthor
    {
        [XmlElementAttribute("name")]
        public string Name;

        [XmlElementAttribute("first-name")]
        public string FirstName;

        [XmlElementAttribute("last-name")]
        public string LastName;
    }
}
Imports System.Xml
Imports System.Xml.Schema
Imports System.Xml.Serialization
Imports System.Collections


Namespace Microsoft.Samples.Xml.Schema

    Class XmlSchemaValidatorExamples

        Shared Sub Main()

            ' The XML document to deserialize into the XmlSerializer object.
            Dim reader As XmlReader = XmlReader.Create("contosoBooks.xml")

            ' The XmlSerializer object.
            Dim serializer As XmlSerializer = New XmlSerializer(GetType(ContosoBooks))
            Dim books As ContosoBooks = CType(serializer.Deserialize(reader), ContosoBooks)

            ' The XmlSchemaSet object containing the schema used to validate the XML document.
            Dim schemaSet As XmlSchemaSet = New XmlSchemaSet()
            schemaSet.Add("http://www.contoso.com/books", "contosoBooks.xsd")

            ' The XmlNamespaceManager object used to handle namespaces.
            Dim manager As XmlNamespaceManager = New XmlNamespaceManager(reader.NameTable)

            ' Assign a ValidationEventHandler to handle schema validation warnings and errors.
            Dim validator As XmlSchemaValidator = New XmlSchemaValidator(reader.NameTable, schemaSet, manager, XmlSchemaValidationFlags.None)
            'validator.ValidationEventHandler += New ValidationEventHandler(SchemaValidationEventHandler)
            AddHandler validator.ValidationEventHandler, AddressOf SchemaValidationEventHandler

            ' Initialize the XmlSchemaValidator object.
            validator.Initialize()

            ' Validate the bookstore element, verify that all required attributes are present
            ' and prepare to validate child content.
            validator.ValidateElement("bookstore", "http://www.contoso.com/books", Nothing)

            validator.GetUnspecifiedDefaultAttributes(New ArrayList())
            validator.ValidateEndOfAttributes(Nothing)

            ' Get the next exptected element in the bookstore context.
            Dim particles() As XmlSchemaParticle = validator.GetExpectedParticles()
            Dim nextElement As XmlSchemaElement = particles(0)
            Console.WriteLine("Expected Element: '{0}'", nextElement.Name)

            For Each book As BookType In books.book
                ' Validate the book element.
                validator.ValidateElement("book", "http://www.contoso.com/books", Nothing)

                ' Get the exptected attributes for the book element.
                Console.Write(vbCrLf & "Expected attributes: ")
                Dim attributes() As XmlSchemaAttribute = validator.GetExpectedAttributes()
                For Each attribute As XmlSchemaAttribute In attributes
                    Console.Write("'{0}' ", attribute.Name)
                Next
                Console.WriteLine()

                ' Validate the genre attribute and display its post schema validation information.
                If Not book.Genre Is Nothing Then
                    validator.ValidateAttribute("genre", "", book.Genre, schemaInfo)
                End If
                DisplaySchemaInfo()

                ' Validate the publicationdate attribute and display its post schema validation information.
                If Not book.PublicationDate = Nothing Then
                    validator.ValidateAttribute("publicationdate", "", dateTimeGetter(book.PublicationDate), schemaInfo)
                End If
                DisplaySchemaInfo()

                ' Validate the ISBN attribute and display its post schema validation information.
                If Not book.Isbn Is Nothing Then
                    validator.ValidateAttribute("ISBN", "", book.Isbn, schemaInfo)
                End If
                DisplaySchemaInfo()
    
                ' After validating all the attributes for the current element with ValidateAttribute method,
                ' you must call GetUnspecifiedDefaultAttributes to validate the default attributes.
                validator.GetUnspecifiedDefaultAttributes(New ArrayList())

                ' Verify that all required attributes of the book element are present
                ' and prepare to validate child content.
                validator.ValidateEndOfAttributes(Nothing)

                ' Validate the title element and its content.
                validator.ValidateElement("title", "http://www.contoso.com/books", Nothing)
                validator.ValidateEndElement(Nothing, book.Title)

                ' Validate the author element, verify that all required attributes are present
                ' and prepare to validate child content.
                validator.ValidateElement("author", "http://www.contoso.com/books", Nothing)

                validator.GetUnspecifiedDefaultAttributes(New ArrayList())
                validator.ValidateEndOfAttributes(Nothing)

                If Not book.Author.Name Is Nothing Then
                    ' Validate the name element and its content.
                    validator.ValidateElement("name", "http://www.contoso.com/books", Nothing)
                    validator.ValidateEndElement(Nothing, book.Author.Name)
                End If

                If Not book.Author.FirstName Is Nothing Then
                    ' Validate the first-name element and its content.
                    validator.ValidateElement("first-name", "http://www.contoso.com/books", Nothing)
                    validator.ValidateEndElement(Nothing, book.Author.FirstName)

                End If

                If Not book.Author.LastName Is Nothing Then
                    ' Validate the last-name element and its content.
                    validator.ValidateElement("last-name", "http://www.contoso.com/books", Nothing)
                    validator.ValidateEndElement(Nothing, book.Author.LastName)
                End If

                ' Validate the content of the author element.
                validator.ValidateEndElement(Nothing)

                ' Validate the price element and its content.
                validator.ValidateElement("price", "http://www.contoso.com/books", Nothing)
                validator.ValidateEndElement(Nothing, book.Price)

                ' Validate the content of the book element.
                validator.ValidateEndElement(Nothing)
            Next

            ' Validate the content of the bookstore element.
            validator.ValidateEndElement(Nothing)

            ' Close the XmlReader object.
            reader.Close()

        End Sub

        Shared schemaInfo As XmlSchemaInfo = New XmlSchemaInfo()
        Shared dateTimeGetterContent As Object

        Shared Function dateTimeGetterHandle() As Object

            Return dateTimeGetterContent

        End Function

        Shared Function dateTimeGetter(ByVal dateTime As DateTime) As XmlValueGetter

            dateTimeGetterContent = dateTime
            Return New XmlValueGetter(AddressOf dateTimeGetterHandle)

        End Function

        Shared Sub DisplaySchemaInfo()

            If Not schemaInfo.SchemaElement Is Nothing Then
                Console.WriteLine("Element '{0}' with type '{1}' is '{2}'", schemaInfo.SchemaElement.Name, schemaInfo.SchemaType, schemaInfo.Validity)
            ElseIf Not schemaInfo.SchemaAttribute Is Nothing Then
                Console.WriteLine("Attribute '{0}' with type '{1}' is '{2}'", schemaInfo.SchemaAttribute.Name, schemaInfo.SchemaType, schemaInfo.Validity)
            End If

        End Sub

        Shared Sub SchemaValidationEventHandler(ByVal sender As Object, ByVal e As ValidationEventArgs)

            Select Case e.Severity
                Case XmlSeverityType.Error
                    Console.WriteLine(vbCrLf & "Error: {0}", e.Message)
                    Exit Sub
                Case XmlSeverityType.Warning
                    Console.WriteLine(vbCrLf & "Warning: {0}", e.Message)
                    Exit Sub
            End Select

        End Sub

    End Class

    <XmlRootAttribute("bookstore", Namespace:="http://www.contoso.com/books", IsNullable:=False)> _
    Public Class ContosoBooks

        <XmlElementAttribute("book")> _
        Public book() As BookType

    End Class

    Public Class BookType

        <XmlAttributeAttribute("genre")> _
        Public Genre As String

        <XmlAttributeAttribute("publicationdate", DataType:="date")> _
        Public PublicationDate As DateTime

        <XmlAttributeAttribute("ISBN")> _
        Public Isbn As String

        <XmlElementAttribute("title")> _
        Public Title As String

        <XmlElementAttribute("author")> _
        Public Author As BookAuthor

        <XmlElementAttribute("price")> _
        Public Price As Decimal

    End Class

    Public Class BookAuthor

        <XmlElementAttribute("name")> _
        Public Name As String

        <XmlElementAttribute("first-name")> _
        Public FirstName As String

        <XmlElementAttribute("last-name")> _
        Public LastName As String

    End Class

End Namespace

В примере в качестве входных данных используется файл contosoBooks.xml.The example takes the contosoBooks.xml file as input.

<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>

В примере также в качестве входных данных используется contosoBooks.xsd.The example also takes the contosoBooks.xsd as an input.

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="bookstore">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" name="book">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="title" type="xs:string" />
                            <xs:element name="author">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element minOccurs="0" name="name" type="xs:string" />
                                        <xs:element minOccurs="0" name="first-name" type="xs:string" />
                                        <xs:element minOccurs="0" name="last-name" type="xs:string" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="price" type="xs:decimal" />
                        </xs:sequence>
                        <xs:attribute name="genre" type="xs:string" use="required" />
                        <xs:attribute name="publicationdate" type="xs:date" use="required" />
                        <xs:attribute name="ISBN" type="xs:string" use="required" />
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Комментарии

Важно!

  • Не используйте схемы из неизвестных или ненадежных источников или расположений.Do not use schemas from unknown or untrusted sources or locations. Это приведет к нарушению безопасности кода.Doing so will compromise the security of your code.
  • Схемы XML (включая встроенные схемы) по сути уязвимы для атак типа "отказ в обслуживании"; не принимайте их в недоверенных сценариях.XML schemas (including inline schemas) are inherently vulnerable to denial of service attacks; do not accept them in untrusted scenarios.
  • Сообщения об ошибках и исключения проверки схемы могут представлять конфиденциальные сведения о модели содержимого или пути URI в файл схемы.Schema validation error messages and exceptions may expose sensitive information about the content model or URI paths to the schema file. Будьте внимательны, чтобы не предоставлять эти сведения ненадежным вызывающим объектам.Be careful not to expose this information to untrusted callers.

Класс XmlSchemaValidator предоставляет эффективный, высокопроизводительный механизм для принудительной проверки XML-данных по схемам XML.The XmlSchemaValidator class provides an efficient, high-performance mechanism to validate XML data against XML schemas in a push-based manner. Например, класс XmlSchemaValidator позволяет проверять информационный набор XML локально, без сериализации в виде XML-документа, а затем повторно выполнить синтаксический анализ с помощью проверяющего модуля чтения XML.For example, the XmlSchemaValidator class allows you to validate an XML infoset in-place without having to serialize it as an XML document and then reparse the document using a validating XML reader. XmlSchemaValidator Класс также можно использовать для создания обработчиков проверки по сравнению с пользовательскими источниками данных XML или как способ создания проверки модуля записи XML.The XmlSchemaValidator class can also be used to build validation engines over custom XML data sources or as a way to build a validating XML writer.

Дополнительные сведения о XmlSchemaValidator классе см. в разделе XmlSchemaValidator push-уведомления .For more information about the XmlSchemaValidator class, see the XmlSchemaValidator Push-Based Validation topic.

Важно!

Флаги ProcessSchemaLocation проверки и объектанезаданыпоумолчанию.XmlSchemaValidator ProcessInlineSchemaThe ProcessInlineSchema and ProcessSchemaLocation validation flags of an XmlSchemaValidator object are not set be default. Кроме того, XmlResolver свойство XmlSchemaValidator объекта по умолчанию null имеет значение.Additionally, the XmlResolver property of an XmlSchemaValidator object is null by default. В результате внешние схемы, упоминаемые в элементах include, Imports или redefine, по умолчанию не разрешаются.As a result, external schemas referenced in include, imports, or redefine elements are not resolved by default.

Конструкторы

XmlSchemaValidator(XmlNameTable, XmlSchemaSet, IXmlNamespaceResolver, XmlSchemaValidationFlags) XmlSchemaValidator(XmlNameTable, XmlSchemaSet, IXmlNamespaceResolver, XmlSchemaValidationFlags) XmlSchemaValidator(XmlNameTable, XmlSchemaSet, IXmlNamespaceResolver, XmlSchemaValidationFlags) XmlSchemaValidator(XmlNameTable, XmlSchemaSet, IXmlNamespaceResolver, XmlSchemaValidationFlags)

Инициализирует новый экземпляр класса XmlSchemaValidator.Initializes a new instance of the XmlSchemaValidator class.

Свойства

LineInfoProvider LineInfoProvider LineInfoProvider LineInfoProvider

Получает или задает сведения о номерах строк для проверяемого XML-узла.Gets or sets the line number information for the XML node being validated.

SourceUri SourceUri SourceUri SourceUri

Получает или задает исходный URI для проверяемого XML-узла.Gets or sets the source URI for the XML node being validated.

ValidationEventSender ValidationEventSender ValidationEventSender ValidationEventSender

Получает или задает объект, переданный в качестве отправителя объекта события проверки.Gets or sets the object sent as the sender object of a validation event.

XmlResolver XmlResolver XmlResolver XmlResolver

Задает объект XmlResolver, используемый для разрешения элементов xs:import и xs:include, а также атрибутов xsi:schemaLocation и xsi:noNamespaceSchemaLocation.Sets the XmlResolver object used to resolve xs:import and xs:include elements as well as xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes.

Методы

AddSchema(XmlSchema) AddSchema(XmlSchema) AddSchema(XmlSchema) AddSchema(XmlSchema)

Добавляет схему языка XSD к набору схем, используемых для проверки.Adds an XML Schema Definition Language (XSD) schema to the set of schemas used for validation.

EndValidation() EndValidation() EndValidation() EndValidation()

Завершает проверку и проверяет ограничения идентификации для всего документа XML.Ends validation and checks identity constraints for the entire XML document.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetExpectedAttributes() GetExpectedAttributes() GetExpectedAttributes() GetExpectedAttributes()

Возвращает указанные атрибуты для текущего контекста элемента.Returns the expected attributes for the current element context.

GetExpectedParticles() GetExpectedParticles() GetExpectedParticles() GetExpectedParticles()

Возвращает указанные примитивы в текущий контекст элемента.Returns the expected particles in the current element context.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
GetUnspecifiedDefaultAttributes(ArrayList) GetUnspecifiedDefaultAttributes(ArrayList) GetUnspecifiedDefaultAttributes(ArrayList) GetUnspecifiedDefaultAttributes(ArrayList)

Проверяет ограничения идентификации в атрибутах по умолчанию и заполняет указанный список ArrayList объектами XmlSchemaAttribute для любых атрибутов со значениями по умолчанию, которые до этого не прошли проверку при помощи метода ValidateAttribute в контексте элемента.Validates identity constraints on the default attributes and populates the ArrayList specified with XmlSchemaAttribute objects for any attributes with default values that have not been previously validated using the ValidateAttribute method in the element context.

Initialize() Initialize() Initialize() Initialize()

Инициализирует состояние объекта XmlSchemaValidator.Initializes the state of the XmlSchemaValidator object.

Initialize(XmlSchemaObject) Initialize(XmlSchemaObject) Initialize(XmlSchemaObject) Initialize(XmlSchemaObject)

Инициализирует состояние объекта XmlSchemaValidator при помощи XmlSchemaObject, указанного для частичной проверки.Initializes the state of the XmlSchemaValidator object using the XmlSchemaObject specified for partial validation.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
SkipToEndElement(XmlSchemaInfo) SkipToEndElement(XmlSchemaInfo) SkipToEndElement(XmlSchemaInfo) SkipToEndElement(XmlSchemaInfo)

Пропускает проверку содержимого текущего элемента и подготавливает объект XmlSchemaValidator для проверки содержимого в контексте родительского элемента.Skips validation of the current element content and prepares the XmlSchemaValidator object to validate content in the parent element's context.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
ValidateAttribute(String, String, String, XmlSchemaInfo) ValidateAttribute(String, String, String, XmlSchemaInfo) ValidateAttribute(String, String, String, XmlSchemaInfo) ValidateAttribute(String, String, String, XmlSchemaInfo)

Проверяет имя атрибута, пространство имен URI и значение текущего контекста элемента.Validates the attribute name, namespace URI, and value in the current element context.

ValidateAttribute(String, String, XmlValueGetter, XmlSchemaInfo) ValidateAttribute(String, String, XmlValueGetter, XmlSchemaInfo) ValidateAttribute(String, String, XmlValueGetter, XmlSchemaInfo) ValidateAttribute(String, String, XmlValueGetter, XmlSchemaInfo)

Проверяет имя атрибута, пространство имен URI и значение текущего контекста элемента.Validates the attribute name, namespace URI, and value in the current element context.

ValidateElement(String, String, XmlSchemaInfo) ValidateElement(String, String, XmlSchemaInfo) ValidateElement(String, String, XmlSchemaInfo) ValidateElement(String, String, XmlSchemaInfo)

Проверяет элемент в текущем контексте.Validates the element in the current context.

ValidateElement(String, String, XmlSchemaInfo, String, String, String, String) ValidateElement(String, String, XmlSchemaInfo, String, String, String, String) ValidateElement(String, String, XmlSchemaInfo, String, String, String, String) ValidateElement(String, String, XmlSchemaInfo, String, String, String, String)

Проверяет элемент в текущем контексте с указанными знамениями атрибутов xsi:Type, xsi:Nil, xsi:SchemaLocation и xsi:NoNamespaceSchemaLocation.Validates the element in the current context with the xsi:Type, xsi:Nil, xsi:SchemaLocation, and xsi:NoNamespaceSchemaLocation attribute values specified.

ValidateEndElement(XmlSchemaInfo) ValidateEndElement(XmlSchemaInfo) ValidateEndElement(XmlSchemaInfo) ValidateEndElement(XmlSchemaInfo)

Проверяет, является ли текстовое содержимое элемента допустимым относительно типа данных для элементов с простым содержимым, а также проверяет, является ли содержимое текущего элемента достаточным для элементов со сложным содержимым.Verifies if the text content of the element is valid according to its data type for elements with simple content, and verifies if the content of the current element is complete for elements with complex content.

ValidateEndElement(XmlSchemaInfo, Object) ValidateEndElement(XmlSchemaInfo, Object) ValidateEndElement(XmlSchemaInfo, Object) ValidateEndElement(XmlSchemaInfo, Object)

Проверяет, является ли текстовое содержимое указанного элемента допустимым для его типа данных.Verifies if the text content of the element specified is valid according to its data type.

ValidateEndOfAttributes(XmlSchemaInfo) ValidateEndOfAttributes(XmlSchemaInfo) ValidateEndOfAttributes(XmlSchemaInfo) ValidateEndOfAttributes(XmlSchemaInfo)

Проверяет наличие всех необходимых атрибутов в контексте элемента и подготавливает объект XmlSchemaValidator для проверки содержимого дочернего элемента.Verifies whether all the required attributes in the element context are present and prepares the XmlSchemaValidator object to validate the child content of the element.

ValidateText(String) ValidateText(String) ValidateText(String) ValidateText(String)

Проверяет, является ли указанная текстовая string допустимой для контекста текущего элемента, и собирает текст для проверки, если текущий элемент имеет простое содержимое.Validates whether the text string specified is allowed in the current element context, and accumulates the text for validation if the current element has simple content.

ValidateText(XmlValueGetter) ValidateText(XmlValueGetter) ValidateText(XmlValueGetter) ValidateText(XmlValueGetter)

Проверяет, является ли текст, возвращенный при помощи указанного объекта XmlValueGetter, допустимым в контексте текущего элемента, и собирает текст для проверки, если текущий элемент имеет простое содержимое.Validates whether the text returned by the XmlValueGetter object specified is allowed in the current element context, and accumulates the text for validation if the current element has simple content.

ValidateWhitespace(String) ValidateWhitespace(String) ValidateWhitespace(String) ValidateWhitespace(String)

Проверяет, является ли пустое пространство в указанной string допустимым для контекста текущего элемента, и собирает пустое пространство для проверки, если текущий элемент имеет простое содержимое.Validates whether the white space in the string specified is allowed in the current element context, and accumulates the white space for validation if the current element has simple content.

ValidateWhitespace(XmlValueGetter) ValidateWhitespace(XmlValueGetter) ValidateWhitespace(XmlValueGetter) ValidateWhitespace(XmlValueGetter)

Проверяет, является ли пустое пространство, возвращенное при помощи указанного объекта XmlValueGetter, допустимым для контекста текущего элемента, и собирает пустое пространство для проверки, если текущий элемент имеет простое содержимое.Validates whether the white space returned by the XmlValueGetter object specified is allowed in the current element context, and accumulates the white space for validation if the current element has simple content.

События

ValidationEventHandler ValidationEventHandler ValidationEventHandler ValidationEventHandler

ValidationEventHandler, который получает предупреждения и ошибки, возникшие при проверке схемы.The ValidationEventHandler that receives schema validation warnings and errors encountered during schema validation.

Применяется к

Дополнительно