3.7 - Ampliació
Amb les nocions anteriors tenim el suficient per a treballar prou còmodament documents XML en PostgreSQL.
Es pot aprofundir molt més per a arribar a resultats més que acceptables. Tanmateix s'escapa de l'objectiu del present curs.
Únicament a mode d'indicador de la possible potència es mostra algun exemple.
En el següent exemple, i per mig d'una única sentència, s'aconsegueix crear un document XML amb les comarques i dins de cada comarca tots els seus pobles. Evidentment, la sentència ha de quedar un poc complicada. Aprofitarem per a inserir en la nostra taula de documents: P_XML
Evidentment és complicada, però en una única sentència tenim la creació del document XML, a partir de les taules COMARQUES i POBLACIONS. El resultat serà aquest:
Des de pgAdmin no el veurem tabulat així. Per poder veure el resultat, podem "exportar" l'execució d'una sentència SQL que traga només aquest document, de manera que l'execució vaja cap a un fitxer.
Es deixa com a exercici totalment voluntari l'ampliació de la sentència anterior per a que incorpore també tots els instituts de cada poble.
Amb aquest document que és un poc més complicat, ja que incorpora les comarques i dins d'elles els pobles, podríem fer una consulta XPATH que ens diga les comarques que tenen més de 30 pobles:
SELECT xpath('//comarca[count(pobles/poble)>=30]/nom_c/text()',(SELECT doc FROM P_XML WHERE num=8));
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial CompartirIgual 2.5