Sélectionnez xpath valeurs des lignes distinctes dans Oracle SQL

J'ai besoin de sélectionner certaines valeurs à partir d'un XML stockées dans une colonne de CLOB dans une base de données Oracle.
Le meilleur que je pouvais venir est le suivant:

select extract(xmltype(COLUMN), 'xpath-expression').getStringVal() as XMLVAL from TABLE t;

Le problème est que lorsque la XPATH permet de sélectionner plusieurs nœuds, les valeurs sont concaténées. J'ai besoin d'avoir chaque nœud sélectionné sur une ligne distincte. Évidemment, la concaténation doit se produire dans getStringVal(), je l'utilise car j'ai besoin d'avoir des chaînes dans mon client (pas XMLType). Que dois-je utiliser à la place de getStringVal()?

EDIT: notez qu'il y a une question similaire ici: Oracle Pl/SQL: Boucle à travers XMLTYPE nœuds - mais je ne pouvais pas l'appliquer à mon cas. Il utilise deux expressions XPATH, et le principe de séparation n'est pas nette.

EDIT2: Le XML est très complexe, mais en gros j'ai besoin de trouver la "valeur" des entrées dans

<string name="SOME_KEY" value="some value"/>

éléments qui sont enterrées sous de nombreux autres éléments. J'utilise XPATH //*[@name="SOME_KEY"]/@value et il constate avec succès, la valeur de l'attribut de tous les éléments XML qui ont un SOME_KEY attribut.

Pouvez-vous obtenir XMLType de l'instruction select, puis itérer sur les résultats afin de retourner une chaîne de valeur pour chacun pour le client?
J'ai essayé, mais jusqu'à présent je n'ai eu que des erreurs et des valeurs null à la sortie.

OriginalL'auteur lbalazscs | 2013-05-24