J'ai un tas de documents XML que je souhaite placer dans une colonne de données. Je souhaite utiliser des expressions XPath pour en extraire des valeurs, en ajoutant des colonnes contenant des formules qui utilisent la fonction XPath Query().
Certains de mes documents comportent des noms d'éléments qualifiés d'espace de noms XML. Par exemple, cela pourrait ressembler à ceci :
<?xml version="1.0" encoding="UTF-8"?>
<synopsis xmlns="http://www.cap.org/pert/2009/01/" xmlns:colon="http://www.cap.org/pert/2009/01/colon/">
<clinical>
<clinicalFindings>
<clinicalFinding value="mass"/>
</clinicalFindings>
</clinical>
<specimen>
<procedures>
<colon:procedure value="segmental colectomy"/>
</procedures>
<sites>
<colon:site value="cecum" primary="true"/>
</sites>
<tumorLocations>
<colon:tumorLocation value="cecum"/>
</tumorLocations>
</specimen>
</synopsis>Il semble que Xpath Query() ne puisse pas comprendre les noms qualifiés par l'espace de noms. Cela donne une erreur XPath pour un XPath de "/synopsis/specimen/sites/colon:site/ @valeur " ou de "/default:synopsis/default:specimen/default:sites/colon:site/ @valeur ".
Si je supprime toutes les qualifications d'espace de noms, cela semble bien se passer. Malheureusement pour moi, mes documents utilisent beaucoup les espaces de noms XML.
Quelqu'un a-t-il de l'expérience avec la fonction XPath Query() ? Existe-t-il un moyen de le rendre conscient de l'espace de noms XML ?