Bonjour,

Voilà, j'ai ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<xsl:variable name="concerts" select="document('../xml/ListeConcertsPublies.xml')/CONCERTS_PUBLIES/CONCERT" />
<xsl:variable name="catégorie">
    <item valeur="Titres" titre="Titres des concerts" />
    <item valeur="Oeuvres" titre="Oeuvres exécutées" />
    <item valeur="Auteurs" titre="Compositeurs / auteurs" />
    <item valeur="Interprètes" titre="Interprètes" />
    <item valeur="Saisons" titre="Saisons" />
  </xsl:variable>
<xsl:variable name="cheminTitres" select="'/INFOS_TITRE'" />
  <xsl:variable name="cheminOeuvres" select="'/OEUVRES/OEUVRE'" />
  <xsl:variable name="cheminAuteurs" select="'/AUTEURS/AUTEUR'" />
  <xsl:variable name="cheminInterprètes" select="'/INFOS_TITRE'" />
  <xsl:variable name="cheminSaisons" select="''" />
N.B : J'accède parfaitement aux différents "item" de la variable catégorie avec la fonction node-set de mon parseur msxml.

Et je cherche à créer un chemin dans un for-each qui ressemblerait à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<xsl:for-each select="$concerts + concat('$chemin', $catégorie)[count(. | key(concat('key_Tout_', $catégorie), @Initiale)[1]) = 1]">
Ce qui donnerait par exemple dynamiquement (car il y a déjà plusieurs for-each au-dessus) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<xsl:for-each select="/CONCERTS_PUBLIES/CONCERT/INFOS_TITRE[count(. | key('key_Tout_Titres', @Initiale)[1]) = 1]">
Mais je bloque. Ça marche quasiment sauf au niveau de "$concerts + concat('$chemin', $catégorie)". Je ne sais pas trop comment le concaténer et le concaténer avec la fin du chemin de manière à créer la collection de noeuds attendue. Et je ne suis pas certain de pouvoir appeller un nom de variable dynamiquement (la partie "concat('$chemin', $catégorie)").

Merci pour votre aide.