КаталогИндекс раздела
НазадОглавлениеВперед


Скалярная функция XMLVALIDATE

                   .-DOCUMENT-.
>>-XMLVALIDATE--(--+----------+--XML-выражение--+---------------------------------------+--)-><
                                                '-| фраза-проверки-XML-в-соответствии-с |-'
 
фраза-проверки-XML-в-соответствии-с:
 
|--ACCORDING TO XMLSCHEMA--------------------------------------->
 
>--+-ID--зарегистрированное-имя-XML-schema-------------+---------------->
   '-+-URI--XML-uri1---------+--+--------------------+-'
     '-NO пространство имен--'  '-LOCATION--XML-uri2-'
 
>--+-------------------------------------+-----------------------------|
   '-| фраза-проверяемого-XML-элемента |-'
 
фраза-проверяемого-XML-элемента:
 
|--+----------------------+--ELEMENT--XML-имя-элемента---|
   +-NAMESPACE--XML-uri3--+
   '-NO NAMESPACE --------'
 

Схема - SYSIBM. Имя функции не может задаваться как квалифицированное имя.

Функция XMLVALIDATE возвращает копию входного XML-значения, дополненную информацией, полученной от проверки по XML-схеме, включая значения по умолчанию и аннотации типов.

DOCUMENT

Задает, что XML-значение результирующее для XML-выражения должно быть правильно форматирования XML-документ, соответствующим XML Version 1.0 (SQLSTATE 2200M).

XML-выражение

Выражение, возвращает значение типа данных XML. Если XML-выражение является host-переменной XML или явно или неявно типизированным маркером параметра, функция выполняет разбор для проверки правильности, и установка CURRENT IMPLICIT XMLPARSE OPTION не принимается во внимание.

фраза-проверки-XML-в-соответствии-с

Задает информацию, используемую при проверке правильности входного XML-значения.

ACCORDING TO XMLSCHEMA

Показывает, что информация об XML-схеме для проверки правильности задана явным образом. Если эта фраза не включена, информация об XML-схеме должна быть обеспечена в содержимом значения XML-выражения.

ID зарегистрированное-имя-XML-schema

Задает идентификатор SQL для XML-схемы, которая используется для проверки правильности. Имя, включая явный или неявный определитель схемы SQL, должно уникально идентифицировать существующую XML-схему в репозитории XML-схем на текущем сервере. Если не существует XML с таким именем в явно или не явно заданной схеме SQL, возвращается ошибка (SQLSTATE 42704).

URI XML-uri1

Задает URI целевого пространства имен в XML-схеме, которая используется для проверки правильности. Значение XML-uri1 задает URI как непустую строковую константу. URI должен быть целевым пространством имен зарегистрированной XML-схемы (SQLSTATE 4274A) и, если не задана фраза LOCATION, он должен уникально идентифицировать зарегистрированную XML-схему (SQLSTATE 4274B).

NO NAMESPACE

Задает, что XML-схема для проверки правильности не имеет целевого пространства имен. URI целевого пространство имен эквивалентно пустой символьной строке, которая не может быть задано как явный URI целевого пространства имен.

LOCATION XML-uri2

Задает URI расположения XML-схемы для XML-схемы, которая используется для проверки правильности. Значение XML-uri2 задает URI как непустую строчную константу. URI расположения XML-схемы, комбинируемый с URI целевого пространства имен, должен идентифицировать зарегистрированную XML-схему (SQLSTATE 4274A), и должна быть зарегистрирована только одна такая XML-схема (SQLSTATE 4274B).

фраза-проверяемого-XML-элемента

Задает, что XML-значение в XML-выражении должно иметь заданное имя элемента как корневого элемента XML-документа.

NAMESPACE XML-uri3 или NO NAMESPACE

Задает целевое пространство имен для элемента, правильность которого должна проверяться. Если фраза не задана, предполагается, что данный элемент находится в том же пространстве имен, что и целевое пространство зарегистрированной XML-схемы, используемой для проверки правильности.

NAMESPACE XML-uri3

Задает URI пространства имен для элемента, правильность которого должна проверяться. Значение XML-uri3 задает URI как непустую строковую константу. Это может быть применяться, если зарегистрированная XML-схема, используемая для проверки правильности, имеет более одного пространства имен.

NO NAMESPACE

Задает, что элемент правильность которого проверяется, не имеет целевого пространство имен. URI целевого пространство имен эквивалентно пустой символьной строке, которая не может быть задано как явный URI целевого пространства имен.

ELEMENT xml-имя-элемента

Задает имя глобального элемента в XML-схеме, которое используется для проверки правильности. Заданный элемент, с явным или неявным пространством имен, должен соответствовать корневому элементу значения XML-выражения (SQLSTATE 22535 или 22536).

Тип данных результата - XML. Если значение XML-выражения может быть null, результат может быть null; если значение XML-выражения - null, результат имеет значение null.

Процесс проверки правильности XML выполняется на сериализованном XML-значение. Поскольку XMLVALIDATE вызывается с аргументом типа XML, это значение автоматически сериализуется перед проверкой правильности, за двумя следующими исключениями.

Если XML-значение было ранее проверено, информация аннотации типа от предыдущей проверки правильности процессом сериализации удаляется. Однако все значения по умолчанию и расширения сущностей от предыдущей проверки правильности остаются неизменными. Если проверка правильности успешна, все игнорируемые пробельные символы удаляются из результата.

Для проверки правильности документа, корневой элемент которого не имеет пространство имен, в корневом элементе должен быть представлен атрибут xsi:noNamespaceSchemaLocation.

Примечания:

  1. Поддержка в базах данных не-Unicode и базах данных с многими разделами: XMLVALIDATE не поддерживается (SQLSTATE 42997).
  2. Определение XML-схемы: XML-схема может быть задана явно, как часть вызова XMLVALIDATE, или определена из информации об XML-схеме во входном XML-значении. Если информация об XML-схеме не задана при вызове, для идентификации зарегистрированной XML-схемы для проверки правильности используются целевое пространство имен и расположение схемы во входном XML-значении. Если XML-схема не задана явно, входное XML-значение должно содержать информацию об XML-схеме (SQLSTATE 2200M). Явная или неявная информация об XML должна идентифицировать зарегистрированную XML-схему (SQLSTATE 42704, 4274A или 22532), и должна быть только одна такая зарегистрированная XML-схема (SQLSTATE 4274B или 22533).
  3. Авторизация XML: XML-схема, используемая для проверки правильности, должна быть перед использованием зарегистрирована а репозитории XML-схем. Привилегии, имеющиеся в ID авторизации оператора, должны включать в себя, по крайней мере, одно из следующего:

    Примеры:


    НазадОглавлениеВперед
    КаталогИндекс раздела