Message posté par : Nicolas Ribot
----------------------------------------
Pour fabriquer le tableau des namespaces, vous pouvez parser le doc et splitter sur la
chaine "xmlns:"
En virant le premier et dernier élement du tableau, vous pouvez construire le tableau de
tableaux de namespaces attendu par xmlpath.
Par exemple (un peu crad...):
-----------------
Code :
with tmp1 as (
select id, regexp_split_to_array(unnest(r[2:array_length(r, 1) - 1]), '=') as
xmlns, doc
from xml_data,
regexp_split_to_array(doc::text, ' xmlns:') r
), tmp2 as (
select id, array_agg(xmlns) as xmlns
from tmp1
group by id
) select x.id, t.xmlns
from tmp2 t join xml_data x using(id);
-----------------
Et ensuite l'utiliser dans la fonction xpath (cf msg précédent)
Mais bon ca marche pas en passant le tableau complet des namespaces.
Il faudrait surement filtrer le tableau en ne gardant que les namespaces présents dans la
requete xpath ;)
Nico
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=370264#p370264
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net