Bonjour,
Voilà, j'ai ceci :
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 :
<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) :
<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.
Partager