[XSL] Optimisation
Jean-Luc Mathieu <[email protected]> Mon, 08 Jan 2007 17:31:21 +0100
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Organization | Virtualys |
| Message-ID | <[email protected]> |
Bonjour ! Soit deux noeuds dans une arborescence situés à des endroits complètement différents. Sous chacun de ces noeuds, le même nombre d'enfants existent. Je souhaite faire une itération sur le premier noeud, et, pour chaque enfant, afficher son contenu mais également le contenu de l'enfant situé à la même position sous le deuxième noeud. Voici un fragment de code XSL réalisant cela : <xsl:for-each select="/root/noeud1/subnode"> <xsl:variable name="curpos" select="position()"/> noeud 1 : <xsl:value-of select="." />, noeud 2 : <xsl:value-of select="/root/noeud2/subnode[position()=$curpos]" /> </xsl:for-each> Ma question est la suivante : n'y aurait-il pas moyen de s'affranchir de l'utilisation d'une variable stockant la position, et d'utiliser une simple expression dans le deuxième <value-of> ? J'ai cherché du côté de l'utilisation de current(), mais je n'arrive pas à obtenir la position du noeud courant (i.e. "current()/position()" qui bien sûr ne fonctionne pas). Quelqu'un a une idée ? D'avance, merci ! Jean-Luc