Podpora XML výstupu
Úno/10 52
Vyspělé databázové systémy umožňují vracet výsledky SQL dotazů nejen jako klasické výsledkové sady, ale i jako XML. Proto jsem do programu SQL Výuka doplnil podporu pro vypisování XML.
Použití je jednoduché: pokud chcete vypsat XML, napište dotaz tak, aby vracel jeden sloupeček a ten se jmenoval pouze_xml
. Výstupem potom nebude obvyklá tabulka, ale výsledek dotazu se vypíše do elementu <pre/>
, tudíž se zachováním odsazení řádků.
SELECT query_to_xml( 'SELECT * FROM tabulka;', true, false, 'http://sql-vyuka.cz/xmlns/pokus1') AS pouze_xml;
Dokumentaci k PostgreSQL najdete zde: XML Functions.
Ptáte se k čemu je to dobré? XML výstup z databáze vám může pomoci zjednodušit vaši aplikaci a zkrátit řetězec transformací, kterými data musí projít, než se dostanou z databáze k uživateli. Tento přístup není použitelný vždy, lépe řečeno, je použitelný spíše výjimečně – ale je dobré o něm vědět.
Někdy je totiž nadbytečné převádět data z databáze na objekty a následně z objektů zase generovat XML. Typicky:
databáze → DAO/ORM (převod na objekty) → aplikační vrstva → prezentační vrstva (převod na XML – XHTML, ATOM, RSS, ISDOC…)
Celý proces můžete výrazně zkrátit:
databáze generující XML → XSLT transformace (převod na požadovaný výstupní XML formát)
Aplikace se pak smrskne na vykonavatele XSLT šablony a práci s objekty si můžeme odpustit – celou dobu se pohybujeme ve světě XML.