Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 12/07/2010 17:14:03
- ced
- Membre
Interrogation XPATH sous PostgreSQL 8.4
Bonjour,
J'essaie une interrogation XPATH d'un champ XML pour récupérer le nom d'un noeud et je récupère systématiquement une chaîne vide.
Prenons un exemple simple qui reproduit le problème :
Créons un élément XML :
SELECT XMLPARSE(DOCUMENT '<unite>toto</unite>')
Si je veux récupérer le nom du noeud (ici "unite"), normalement, la requête suivante devrait fonctionner :
SELECT XPATH('name(/*)', XMLPARSE(DOCUMENT '<unite>toto</unite>'))
Or, ça renvoie un tableau vide ({}).
Comment faire pour récupérer le nom "unite" ?
Merci d'avance de votre aide,
ced
Dernière modification par ced (12/07/2010 17:53:24)
Hors ligne
#2 12/07/2010 22:58:56
- daamien
- damien clochard
Re : Interrogation XPATH sous PostgreSQL 8.4
PostgreSQL implémente la version 1.0 de XPATH.
Peut-être que la fonction name() n'est disponible qu'à partir de XPATH 2.0 ?
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
#3 13/07/2010 08:20:04
- ced
- Membre
Re : Interrogation XPATH sous PostgreSQL 8.4
J'ai jeté un œil sur les spécifications de xpath 1.0 et les fonctions name() et local-name() en font pourtant bien partie...
Hors ligne
#4 13/07/2010 09:12:45
- Marc Cousin
- Membre
Re : Interrogation XPATH sous PostgreSQL 8.4
Apparemment c'est une limitation actuelle du xpath sous PostgreSQL.
Il y a un patch qui corrige ça, mais il n'est pas encore intégré. Peut-être en 9.1 :
Marc.
Hors ligne
#5 13/07/2010 10:08:00
- ced
- Membre
Re : Interrogation XPATH sous PostgreSQL 8.4
Bon, il va donc falloir que j'essaie de contourner le problème.
Merci pour l'info.
Hors ligne
Pages : 1