Поделиться через


XmlSchemaValidationFlags Перечисление

Определение

Задает параметры проверки схемы, используемые классами XmlSchemaValidator и XmlReader.

Это перечисление поддерживает побитовую комбинацию значений его членов.

public enum class XmlSchemaValidationFlags
[System.Flags]
public enum XmlSchemaValidationFlags
[<System.Flags>]
type XmlSchemaValidationFlags = 
Public Enum XmlSchemaValidationFlags
Наследование
XmlSchemaValidationFlags
Атрибуты

Поля

Имя Значение Описание
None 0

Не обрабатывайте ограничения удостоверений, встроенные схемы, указания по расположению схемы или предупреждения проверки схемы отчета.

ProcessInlineSchema 1

Обработка встроенных схем, возникающих во время проверки.

ProcessSchemaLocation 2

Указания по расположению схемы обработки (xsi:schemaLocation, xsi:noNamespaceSchemaLocation), возникающие во время проверки.

ReportValidationWarnings 4

Предупреждения проверки схемы отчета, возникающие во время проверки.

ProcessIdentityConstraints 8

Ограничения удостоверений процесса (xs:ID, xs:IDREF, xs:key, xs:keyref) xs:uniqueобнаружены во время проверки.

AllowXmlAttributes 16

Разрешить атрибуты xml:* даже если они не определены в схеме. Атрибуты будут проверены на основе их типа данных.

Примеры

Пример, использующий XmlSchemaValidationFlags перечисление, см. в XmlSchemaValidator классе.

Комментарии

При использовании с XmlReaderXmlSchemaValidationFlags значениями определяются параметры проверки, используемые схемой, проверяющей XmlReader выполнение проверки XML для схемы. XmlSchemaValidationFlags Значения проверки XmlReader указываются с помощью XmlReaderSettings.ValidationFlags свойства.

При использовании AllowXmlAttributes значения:

  1. Если схема не импортирует пространство имен XML.

    1. Если AllowXmlAttributes задано значение true (по умолчанию) и документ экземпляра содержит xml-атрибуты, модуль проверки загружает моментальный снимок схемы пространства имен XML по умолчанию и использует его для проверки. Если атрибуты XML, используемые в документе экземпляра, не найдены в схеме по умолчанию, документ не будет проверяться.

    2. Если AllowXmlAttributes задано значение false и документ экземпляра содержит xml-атрибуты, обработчик проверки сообщит об ошибке.

  2. Когда схема импортирует пространство имен XML без расположения.

    1. Если AllowXmlAttributes задано значение true (по умолчанию) и документ экземпляра содержит xml-атрибуты, модуль проверки будет использовать схему пространства имен XML по умолчанию для проверки. Если атрибуты XML, используемые в документе экземпляра, не найдены в схеме по умолчанию, документ не будет проверяться.

    2. Если AllowXmlAttributes задано false значение и документ экземпляра содержит атрибуты Xml, которые явно не разрешены схемой, модуль проверки сообщит об ошибке.

    3. Если AllowXmlAttributes задано false значение и документ экземпляра содержит xml-атрибуты, которые явно разрешены схемой, модуль проверки будет проверять атрибуты так же, как он проверяет другие атрибуты с помощью схемы пространства имен XML по умолчанию.

  3. При импорте схемы настраиваемого пространства имен XML с помощью настраиваемой схемы schemaLocation.

    1. Если AllowXmlAttributes задано значение true (по умолчанию) и документ экземпляра содержит xml-атрибуты, модуль проверки будет использовать настраиваемую схему пространства имен XML для проверки. Если атрибуты XML, используемые в документе экземпляра, не найдены в указанной схеме, документ не будет проверяться.

    2. Если AllowXmlAttributes задано false значение и документ экземпляра содержит атрибуты Xml, которые явно не разрешены схемой, модуль проверки сообщит об ошибке.

    3. Если AllowXmlAttributes задано false значение и документ экземпляра содержит атрибуты Xml, которые явно разрешены схемой, модуль проверки будет проверять атрибуты так же, как он проверяет другие атрибуты с помощью указанной схемы пространства имен XML.

  4. Если схема определяет атрибут xml:* с use="required".

    1. В следующих случаях применяется, если AllowXmlAttributes задано true значение и false. Обязательные атрибуты xml:* должны рассматриваться как другие атрибуты и проверяться с помощью указанной схемы пространства имен XML.
  5. Если схема определяет атрибут xml:* с параметром use="запрещено".

    1. В следующих случаях применяется, если AllowXmlAttributes задано true значение и false. Если документ экземпляра содержит атрибуты xml:*, которые явно запрещены схемой, обработчик проверки сообщит об ошибке.
  6. Если схема задает подстановочный знак атрибута.

    1. Если документ экземпляра содержит атрибут Xml, а схема задает подстановочный знак атрибута с параметром processContents, опущенным или заданным значением "strict", модуль проверки будет использовать схему пространства имен XML, представленную в файле XmlSchemaSet. Если схема пространства имен XML не указана, модуль проверки будет вести себя следующим образом.

    2. Если AllowXmlAttributes задано значение true, модуль проверки будет использовать схему пространства имен XML по умолчанию для выполнения проверки.

    3. Если AllowXmlAttributes задано значение false, модуль проверки сообщит об ошибке.

    4. Если документ экземпляра содержит атрибут Xml, а схема задает подстановочный знак атрибута с параметром processContents с значением skip, модуль проверки пропускает проверку атрибутов.

    5. Если документ экземпляра содержит атрибут Xml, а схема задает подстановочный знак атрибута с параметром processContents с значением "lax", модуль проверки будет использовать схему пространства имен XML, представленную в файле XmlSchemaSet. Если схема пространства имен XML не указана, модуль проверки будет вести себя следующим образом.

    6. Если AllowXmlAttributes задано значение true, модуль проверки будет использовать схему пространства имен XML по умолчанию для выполнения проверки.

    7. Если AllowXmlAttributes задано значение false, проверка атрибута не будет выполнена.

  7. При проверке простых типов.

    1. Если AllowXmlAttributes задано значение true (по умолчанию), атрибуты XML будут разрешены для элементов простых типов.

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

См. также раздел