Преобразование значения в XML-формат

Функция

Преобразование значения в XML-формат.

Спецификация
 
Возвращаемое значение
  1. Значение < элемента > в XML-формате, т.е. в обрамлении тега, имя которого совпадает, по возможности, с < идентификатором столбца >.

  2. Тип возвращаемого значения – VARCHAR(n), где n – сумма длин тегов и максимальных длин текстовых преобразований полей.

    select xml(make, model, year) from auto;
    |< MAKE >FORD< /MAKE >           |< MODEL >MERCURY COMET GT V8< /MODEL >|< YEAR >71< /YEAR >|
    |< MAKE >ALPINE< /MAKE >         |< MODEL >A-310< /MODEL >              |< YEAR >70< /YEAR >|
    |< MAKE >AMERICAN MOTORS< /MAKE >|< MODEL >MATADOR STATION< /MODEL >    |< YEAR >71< /YEAR >|
    …
  3. Если аргументы функции содержит литералы, выражения, повторяющиеся имена столбцов либо столбцы с не алфавитно-цифровыми именами, то вместо проблемных имен выводятся имена в формате «COLUMN_NUMBER_nnn».

    select xml(sysdate, to_char(34.7,'99.9'));
    |< COLUMN_NUMBER_1 >20.06.2005:10:57:54:00< /COLUMN_NUMBER_1 >|< COLUMN_NUMBER_2 >34.7< /COLUMN_NUMBER_2 >|
  4. Если аргумент функции имеет NULL-значение, то для него возвращаемое значение не формируется.

    select xml(make, null, make) from auto fetch first 1;
    |< MAKE >FORD< /MAKE >|< COLUMN_NUMBER_3 >FORD< /COLUMN_NUMBER_3 >|
  5. < Элемент > может быть задан < SQL-параметром >, который должен содержать спецификацию типа данных параметра.

    select xml(? (char(20)), ?(char(20)))from auto limit 1;
    make
    year
    
    |< COLUMN_NUMBER_1 >make< /COLUMN_NUMBER_1 >
    < COLUMN_NUMBER_2 >year< /COLUMN_NUMBER_2 >|