| Каталог | Индекс раздела |
| Назад | Оглавление | Вперед |
>>-XMLATTRIBUTES------------------------------------------------>
.-,--------------------------------------------------.
V |
>--(---- выражение-значения-атрибута--+------------------+-+--)-><
'-AS--имя-атрибута-'
Схема - SYSIBM. Имя функции не может быть задано как квалифицированное имя.
Функция XMLATTRIBUTES конструирует XML-атрибуты из аргументов. Эта функция может использоваться только как аргумент функции XMLELEMENT. Результатом является XML-последовательность, содержащая узел атрибута XQuery для каждого не-null входного значения.
выражение-значения-атрибута
Выражение, результат которого является значением атрибута. Тип данным выражения-значения-атрибута не может быть структурированным типом. Выражение может быть любым SQL-выражением. Если выражение не является простой ссылкой на столбец, должно быть задано имя атрибута.
имя-атрибута
Задает имя атрибута. Имя является идентификатором SQL, который должен быть в форме квалифицированного имени XML или QName (SQLSTATE 42634). См. подробнее о допустимых именах в спецификациях пространства имен W3C. Имя атрибута не должно быть xmlns или иметь префикс xmlns:. Пространство имен объявляется при помощи функции XMLNAMESPACES. Дублирующиеся имена атрибутов, явные или неявные, не допускаются (SQLSTATE 42713).Если имя-атрибута не задано, выражение-значения-атрибута должно быть именем столбца (SQLSTATE 42703). Имя атрибута создается отображением имени столбца на имя атрибута XML.
Тип данных результата - XML. Если результат выражения-значения-атрибута может быть null, результат может быть null; если результат каждого выражения-значения-атрибута - null, результат - значение null.
Примечание:
Примеры:
SELECT E.EMPNO, XMLELEMENT(
NAME "Emp",
XMLATTRIBUTES(
E.EMPNO, E.FIRSTNME ||' '|| E.LASTNAME AS "name"
)
)
AS "Result"
FROM EMPLOYEE E WHERE E.EDLEVEL = 12
Этот запрос вырабатывает следующий результат:
EMPNO Result 000290 <Emp EMPNO="000290" name="JOHN PARKER"></Emp> 000310 <Emp EMPNO="000310" name="MAUDE SETRIGHT"></Emp> 200310 <Emp EMPNO="200310" name="MICHELLE SPRINGER"></Emp>
VALUES XMLELEMENT(
NAME "size",
XMLNAMESPACES(
'http://www.w3.org/2001/XMLSchema-instance' AS "xsi",
'http://www.w3.org/2001/XMLSchema' AS "xsd"
),
XMLATTRIBUTES(
'xsd:string' AS "xsi:type"
), '1'
)
FROM EMPLOYEE
Этот запрос вырабатывает следующий результат (отформатирован для читабельности):
<size xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">1</size>
| Назад | Оглавление | Вперед |
| Каталог | Индекс раздела |