SQL/XML


SQL/XML (XML-Related Specifications) — спецификации, связанные с XML) — расширение стандарта SQL, закрепленное в документе ISO/IEC 9075-14:2003 (SQL:2003). SQL/XML определяет расширения SQL для использования XML в сочетании с SQL. Вводятся типы данных XML наряду с несколькими подпрограммами, функциями, а также связывание XML-в-SQL типов данных для поддержки обработки и хранения XML в SQL-базах данных.

Спецификация SQL/XML включает в себя функции создания XML-данных. Эти функции позволяют пользователю создавать новые XML-элементы или атрибуты с определёнными значениями, например, из реляционных таблиц. Другие функции, например, XMLCONCAT или XMLAGG, могут быть использованы для объединения небольших XML-фрагментов в более крупные. Список доступных функций конструирования включает:

  • XMLELEMENT
  • XMLATTRIBUTES
  • XMLFOREST
  • XMLCONCAT
  • XMLNAMESPACES
  • XMLCOMMENT
  • XMLPI
  • XMLDOCUMENT
  • XMLAGG

и ряд других.

SQL/XML также определяет функции, позволяющие пользователю встраивать XQuery-выражения в SQL-запросы, в том числе XMLQUERY и XMLTABLE.

Тогда как XMLQUERY возвращает значения XML-типа, функция XMLTABLE может взять XML-данные в качестве вводных и вывести сгенерированную реляционную таблицу. Предикаты XML-данных, как например, условия поиска, могут быть выражены при помощи предиката XMLEXISTS, обычно указывающиеся при помощи WHERE в SQL-запросе.

Дополнительные источники

  • Advancements in SQL/XML Архивная копия от 7 октября 2009 на Wayback Machine Andrew Eisenberg, Jim Melton; SIGMOD Record, 33(3): 79-86 2004.
  • SQL/XML is Making Good Progress Andrew Eisenberg, Jim Melton; SIGMOD Record 31(2): 101—108 2002.
  • SQLXML.org
  • SQLX.org