Generování XML
Databáze podporující standard SQL/XML nabízí také funkce na vytváření XML dokumentů z relačně uložených dat. Jde o sadu funkcí, které začínají prefixem XML a pomocí kterých můžeme sestavit libovolný XML dokument. Tři základní funkce jsou popsány v tabulce:
Funkce |
Příklad |
Popis |
XMLELEMENT (název elementu, obsah elementu) |
SELECT XMLELEMENT(student, jmeno || ' ' || prijmeni) FROM student |
Funkce vytváří XML element. Může mít 2 nebo 3 parametry. Třetím parametrem mohou být definice atributů, viz funkce XMLATTRIBUTES |
XMLATTRIBUTES (obsah atributu AS název atributu, obsah atributu2 AS název atributu2,...) |
SELECT XMLELEMENT(student, XMLATTRIBUTES(uco as "uco"), jmeno || ' ' || prijmeni) FROM student |
Atributy musí být vždy součástí elementu, proto je funkce XMLATTRIBUTES používána vždy uvnitř funkce XMLELEMENT. Pomocí XMLATTRIBUTES lze vytvořit 1 až N atributů konkrétního elementu. |
XMLAGG (XMLELEMENT(...)) nebo |
SELECT XMLELEMENT (studie, XMLAGG( XMLELEMENT (nazev, XMLATTRIBUTES (study_id as "id"), study_title))) FROM studies |
Funkce XMLAGG agreguje více řádků vstupní tabulky do jednoho zahnízděného XML fragmentu. Agregované záznamy je možné setřídit pomocí výrazu za ORDER BY |