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