Преобразование значения в 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>|