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-запросе.
Более подробную информацию и примеры функций SQL/XML см. по ссылкам ниже.
Дополнительные источники
- Advancements in SQL/XML 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