Oracle 10g: Extraire des données (select) à partir de XML (de Type CLOB)

Je suis nouveau dans Oracle et j'ai peut-être trivial - un problème dans un select. (Je suis en utilisant Oracle 10g Express Edition).

J'ai une DB avec un champ CLOB: mytab.xml
Cette colonne ont un XML comme ceci:

<?xml version="1.0" encoding="iso-8859-1"?>
<info>
<id> 954 </id>
<idboss> 954 </idboss>
<name> Fausto </name>
<sorname> Anonimo </sorname>
<phone> 040000000 </phone>
<fax> 040000001 </fax>
</info>

Je suis en train de faire un "simple" select pour obtenir, par exemple, la valeur de 'fax' tag. Mais j'ai un peu de problème et je ne suis pas en mesure de comprendre mon erreur. Par exemple:

select extract(xml, '//fax').getStringVal() from mytab;
ORA-00932: inconsistent datatypes: expected - got

select extract(xmltype(xml), '//fax').getStringVal() from mytab;
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.XMLTYPE", line 254

J'ai essayé aussi avec "extractvalue", mais j'ai les mêmes problèmes.
où je suis mal à faire cela?

OriginalL'auteur mymark | 2011-02-03