ГОСТ Р ИСО/МЭК 40220—2015
Приложение С
(справочное)
Использование W3C XML Schema с кодировкой SOAP
Как отмечалось в 5.1.4, узлы графа SOAP маркированы именами типов, но соответствующие процессоры
для проверки корректности закодированных сообщений SOAP не требуются.
Данные разделы описывают методы, которые могут применяться, когда для использования приложениями
SOAP желательна проверка корректности по отношению к W3C XML-схвмам. Любые ошибки или отказы, выявлен
ные во время такой проверки корректности, выходят за рамки данной Рекомендации W3C; с точки зрения SOAP
такие отказы рассматриваются как отказы уровня приложения.
С.1 Проверка корректности с использованием минимальной схемы
Несмотря на то что XML-схемы W3C обычно передаются как документы на языке XML Schema (XML Schema
Part 1]. схема Рекомендации основана на абстрактном определении схем, которым должны соответствовать все
процессоры. Схема Рекомендации обеспечивает, что все такие схемы включают определения для базового набора
встроенных типов, таких как целые числа, даты, и т.д. (см. (XML Schema Part 1, подраздел 3.14)). Таким образом,
возможна проверка корректности сообщения SOAP на соответствие такой минимальной схеме, которая получает
ся при отсутствии дополнительных определений и объявлений (т.е. не является схемой документа) для
процессора схемы.
При использовании минимальной схемы хорошо сформированный документ XML считается корректным,
если для всех элементов, кроме элементов с xsiitype, именованный тип является встроенным, и соответствую
щий элемент является корректным по отношению к этому типу. Таким образом, проверка корректности сообщения
SOAP 1.2 с использованием минимальной схемы приближает поведение встроенных типов SOAP 1.1.
С.2 Проверка корректности с использованием схемы кодирования SOAP
Проверка корректности в отношении минимальной схемы (см. раздел С.1) не будет успешно выполняться в
случаях, где у закодированных узлов графа есть многократные входящие ребра. Это вызвано тем, что элементы,
представляющие такие узлы графа, будут содержать
информационные элементы-атрибуты
id. которые недо
пустимы для элементов типа «xs:string», «xs:integer» и т.д. Кодирование SOAP таких графов МОЖЕТ быть про
верено на корректность по отношению к схеме кодирования SOAP11. Для проверки кодирования метки ребер и,
следовательно, свойства [local name] и [namespace name]
информационных объектов-элементов
должны соот
ветствовать меткам и свойствам, определенным в схеме кодирования SOAP. Корректность закодированного графа по
отношению к схеме кодирования SOAP приведет к тому, что свойству «имя типа» узла в графе будет присвоено
соответствующее имя типа.
С.З Проверка корректности с использованием более конкретных схем
Иногда схемы могут быть созданы для описания кодирования определенных графов. Корректность закоди
рованного графа по отношению к такой схеме приведет к тому, что свойству ои»/я типа» узла в графе будет присво ено
соответствующее имя типа. Такая схема может также предоставлять значения по умолчанию или фиксирован ные
значения для одного или более
информационных элементов-атрибутов
itemType, arraySize или nodeType;
значения по умолчанию атрибутов при десериализации графа обрабатываются таким же образом, как если были
явно переданы в сообщении. Об ошибках или несогласованностях, представленных таким образом (например,
если значение атрибута ошибочное или несоответствующее), нужно сообщать как об ошибках уровня приложения; об
отказах из пространства имен «http:/>
‘www.w3.org/2003/05l’soap-encodingo
следует сообщать только в случае, если
нарушены нормативные части данной спецификации.
1)
http://v.v<w.w3.org/2003/05<’soap-encoding.
30