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

Вычисляемые конструкторы узла документа

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

Результатом конструктора узла документа является новый узел документа, который имеет собственную идентификацию. Важно: На конструируемом узле документа не выполняется проверка правильности. В XQuery конструктор узла документа не требует выполнения правил XML 1.0, которые управляют структурой XML-документа. Например, для узел документа не требуется, чтобы он имел точно один элементный узел в качестве дочернего узла.

Синтаксис

>>---document--{--выражение_содержимого--}-------------------------><
document
     Ключевое слово, которое показывает, что будет конструироваться узел документа.
выражение_содержимого
     Выражение, которое генерирует значение конструируемого узла документа. Значение выражение_содержимого может быть любой последовательностью узлов и атомарных значений за исключением узла атрибута. Узлы атрибутов в содержимом последовательности приводят к ошибке. Узлы документов в содержимом последовательности заменяются их дочерними узлами. Для каждого узла, который возвращает выражение_содержимого, a new copy is made of the node создается новая копия узла и всех его потомков с сохранением их исходных аннотаций типа. Любые атомарные значения, которые возвращает выражение_содержимого, преобразуются в строки и записываются в текстовые узлы, которые становятся дочерними узлами нового конструируемого узла. Соседние текстовые узлы сливаются в один текстовый узел.

Примеры

Следующий конструктор узал документа включает выражение содержимого, которое возвращает XML-документ, содержащий корневой элемент с именем customer-list:

document
   {
      <customer-list>
         {db2-fn:xmlcolumn('MYSCHEMA.CUSTOMER.INFO')/ns1:customerinfo/name}
      </customer-list>
   }

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