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


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

 
>>-XMLDOCUMENT--(--XML-выражение--)---------------------------><

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

Функция XMLDOCUMENT возвращает XML-значение с единственным узлом документа XQuery с нулем или более дочерних узлов.

XML-выражение

Выражение, которое возвращает XML-значение. Пункт последовательности в XML-значении не должен быть узлом атрибута (SQLSTATE 10507).

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

Дочерние узлы результирующего документа конструируются, как описано в следующих шагах. Входное выражение является последовательностью узлов или атомарных значений, которая называется в этих шагах контентной последовательностью.

  1. Если контентная последовательность содержит узел документа, узел документа заменяется в контентной последовательности дочерним узлом узла документа.
  2. Каждая последовательность из одного или более соседних атомарных значений в контентной последовательности заменяется на текстовый узел, содержащий результат преобразования каждого атомарного значения в строку с одним пробелом между соседними значениями.
  3. Для каждого узла в контентной последовательности конструируется глубокая копия узла. Глубокая копия узла является копией всего поддерева, в корне которого находится узел, включая сам узел и его потомков. Каждый копируемый узел имеет новую идентификацию узла. Копируемые узлы элементов и атрибутов сохраняют свои аннотации типа.
  4. Узлы в контентной последовательности становятся дочерними узлами нового узла документа.

Функция XMLDOCUMENT эффективно выполняет вычисляемый конструктор документа XQuery. Результат

 
XMLQUERY('document {$E}' PASSING BY REF XML-выражение AS "E")

эквивалентен

 
XMLDOCUMENT(XML-выражение )

За исключением случая, когда XML-выражение - null и XMLQUERY возвращает пустую последовательность, тогда как XMLDOCUMENT возвращает значение null.

Примечания:

    1. Поддержка в базах данных не-Unicode и базах данных с многими разделами: XMLDOCUMENT не поддерживается (SQLSTATE 42997).

Пример:


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