Désolé pour la trivialité du sujet qui va suivre, mais j'y ai déjà passé des heures sans pouvoir aboutir à qqch ... Je craque donc en vous demandant de l'aide ...

J'ai un document XML dans lequel je trouve la balise suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<CCM_ROLES>CRmgr|CRowner|Commission|Emetteur|Gestionnaire</CCM_ROLES>
Le besoin est simple :

- je souhaite lire le contenu de la balise
- puis exploiter avec une boucle "FOR" le contenu de celle-ci

J'écris donc la requête suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
let $list_roles  := /CR_PROCESS/CCM_ROLES
let $list_roles2 := "('" || fn:replace ($list_roles, "\|", "','") || "')"
 
for $roles in $list_roles2
return
    <ROLES>
        {$roles}
    </ROLES>
Et le résultat obtenu, quelles que soient les "triturations" que je peux faire, est tous le temps :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<ROLES>
  ('CRmgr','CRowner','Commission','Emetteur','Gestionnaire')
</ROLES>
En clair : le contenu de la variable "list_roles2" n'est jamais interprété comme une séquence sur laquelle je peux itérer ...

Pouvez-vous me sortir de ce "mauvais" pas ?

D'avance, merci.