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


Типы проверок XmlValidatingReader

Свойство ValidationType определяет тип проверок, выполняемый классом XmlValidatingReader.Необходимо задать это свойство перед вызовом метода Read.Если для проверки требуются внешние определения типа документа (DTD) или схемы, то используется свойство XmlResolver.

Примечание

Класс XmlValidatingReader в версии .NET Framework 2.0 устарел.Экземпляр XmlReader для проверки можно создать с помощью класса XmlReaderSettings и метода Create.Дополнительные сведения см. в разделе Проверка XML-данных с помощью XmlReader.

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

Свойство ValidationType может иметь одно из значений перечисления ValidationType.В следующем разделе описаны значения ValidationType.

yes0wd1w.collapse_all(ru-ru,VS.110).gifValidationType.Auto

Это значение по умолчанию для свойства ValidationType.В следующей таблице показаны правила проверки при значении свойства ValidationType, равном Auto.

DTD или схема

ValidationType.Auto

Без DTD или схемы

Выполняет синтаксический анализ XML без проверки.Исключение не возникает.Сведения о типах не передаются.

DTD

Выполняет DTD-проверку.Атрибуты по умолчанию и сущности раскрываются.Общие сущности загружаются и подвергаются синтаксическому анализу только при использовании (раскрытии).Сведения о типах не передаются.

XML-схема (ссылочная или встроенная)

Выполняет проверку языка XSD.Выполняет проверку по схеме.Атрибуты по умолчанию раскрываются.Указываются сведения о типах.

XDR-схема (ссылочная или встроенная)

Выполняет проверку схемы XDR.Выполняет проверку по схеме.Атрибуты по умолчанию раскрываются.Указываются сведения о типах.

DTD и XML-схема или XDR-схема (ссылочная или встроенная)

Выполняет проверку DTD/схемы XML/XDR в соответствии с первым встретившимся типом проверки.Проверка DTD всегда имеет приоритет перед другими типами проверки.

yes0wd1w.collapse_all(ru-ru,VS.110).gifValidationType.DTD

Если указано значение ValidationType.DTD, то класс XmlValidatingReader проверяет документ в соответствии с DTD.В следующей таблице показаны правила проверки при значении свойства ValidationType, равном ValidationType.DTD.

DTD или схема

ValidationType.DTD

Без DTD или схемы

Возвращает предупреждение No DTD found в корневом элементе.Исключение не возникает.Сведения о типах не передаются.

DTD

Выполняет DTD-проверку.Атрибуты по умолчанию и сущности раскрываются.Общие сущности загружаются и подвергаются синтаксическому анализу только при использовании (раскрытии).Сведения о типах не передаются.

XML-схема (ссылочная или встроенная)

Возвращает предупреждение No DTD found в корневом элементе.При обнаружении схемы для смешанных типов проверки возникает исключение XmlException.

XDR-схема (ссылочная или встроенная)

Возвращает предупреждение No DTD found в корневом элементе.При обнаружении схемы для смешанных типов проверки возникает исключение XmlException.

DTD и XML-схема или XDR-схема (ссылочная или встроенная)

Выполняет DTD-проверку.Атрибуты по умолчанию и сущности раскрываются.

yes0wd1w.collapse_all(ru-ru,VS.110).gifValidationType.Schema

Если указано значение ValidationType.Schema, то класс XmlValidatingReader проверяет документ в соответствии со схемами XML, включая встроенные схемы.В следующей таблице показаны правила проверки при значении свойства ValidationType, равном ValidationType.Schema.

DTD или схема

ValidationType.Schema

Без DTD или схемы

Возвращает предупреждение No schema found для каждой элемента.

DTD

Для смешанных типов проверки возникает исключение XmlException.

XML-схема (ссылочная или встроенная)

Выполняет проверку по XML-схеме.Выполняет проверку по схеме.Атрибуты по умолчанию раскрываются из схемы.Указываются сведения о типах.

XDR-схема (ссылочная или встроенная)

Для смешанных типов проверки возникает исключение XmlException.

DTD и XML-схема или XDR-схема (ссылочная или встроенная)

Выполняет проверку по XML-схеме.Атрибуты по умолчанию раскрываются из схемы.Указываются сведения о типах.Если обнаружены DTD или схема XDR, возникает исключение XmlException для смешанных типов проверки.

yes0wd1w.collapse_all(ru-ru,VS.110).gifValidationType.XDR

Если указано значение ValidationType.XDR, то класс XmlValidatingReader проверяет документ в соответствии с схемами XDR, включая встроенные схемы.В следующей таблице показаны правила проверки при значении свойства ValidationType, равном ValidationType.XDR.

DTD или схема

ValidationType.XDR

Без DTD или схемы

Возвращает окончательное предупреждение о том, что проверка не была выполнена.

DTD

Для смешанных типов проверки возникает исключение XmlException.

XML-схема (ссылочная или встроенная)

Для смешанных типов проверки возникает исключение XmlException.

XDR-схема (ссылочная или встроенная)

Выполняет XDR-проверку.Выполняет проверку по схеме.Атрибуты по умолчанию раскрываются из схемы.Указываются сведения о типах.

DTD и XML-схема или XDR-схема (ссылочная или встроенная)

Выполняет XDR-проверку.Атрибуты по умолчанию раскрываются из схемы.Указываются сведения о типах.Если обнаружена DTD или схема XML, возникает исключение XmlException для смешанных типов проверки.

yes0wd1w.collapse_all(ru-ru,VS.110).gifValidationType.None

Значение ValidationType.None создает средство синтаксического анализа без проверки, соответствующее рекомендациям консорциума W3C для языка XML 1.0.Сообщаются атрибуты по умолчанию, а общие сущности могут быть разрешены.Ошибки проверки не выдаются.В следующей таблице показаны правила проверки при значении свойства ValidationType, равном ValidationType.None.

DTD или схема

ValidationType.None

Без DTD или схемы

Выполняет синтаксический анализ XML без проверки.Исключение не возникает.Сведения о типах не передаются.

DTD

Создается совместимый с XML 1.0, не выполняющий проверку синтаксический анализатор.DTD-проверка не выполняется.Атрибуты по умолчанию и сущности раскрываются из DTD.Сведения о типах не передаются.

XML-схема (ссылочная или встроенная)

Выполняет синтаксический анализ XML без проверки.Исключение не возникает.Атрибуты по умолчанию не раскрываются из схемы.Сведения о типах не передаются.

XDR-схема (ссылочная или встроенная)

Выполняет синтаксический анализ XML без проверки.Исключение не возникает.Атрибуты по умолчанию не раскрываются из схемы.Сведения о типах не передаются.

DTD и XML-схема или XDR-схема (ссылочная или встроенная)

Создается совместимый с XML 1.0, не выполняющий проверку синтаксический анализатор.DTD-проверка не выполняется.Атрибуты по умолчанию и сущности раскрываются из DTD.Сведения о типах не передаются.

Класс XmlValidatingReader вызывает исключение InvalidOperationException, если свойство ValidationType установлено после первого метода Read.

См. также

Основные понятия

Чтение XML с помощью XmlReader

Другие ресурсы

Использование класса XmlReader