Je me réponds...après une petite journée sympa je me suis bien marré.
Donc ma solution du message initial était :
<xsl:value-of select="ancestor::node()/Users/User[ID=39]/Name">
Déjà pour trouver le ID du noeud courant, il fallait utiliser la fonction Node(), ça donne :
<xsl:value-of select="ancestor::node()/Users/User[ID=current()/ID]/Name">
Ca permet de récupérer le nom d'un noeud Users/User/Name dont le ID est égal au ID courant (dans la branche LignesdeTableau).
Deuxième chose, l'emploi de Ancestor va obliger le processeur XSL à parcourir l'arborescence pour chaque noeud cherché afin de reconstituer le lien sur ID. A mon avis, au niveau perf, c'est pas le plus efficace.
Il est donc à tenter de créer un index <xsl:key ... />, la recherche sera beaucoup plus rapide (selon le bouquin que j'ai lu).
Sylvain
Partager