Re: [XSL] Optimisation

"Tiscars" <[email protected]> Mon, 8 Jan 2007 17:41:11 +0100
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Bonjour est ce que l utilisation de 
position(current()) ne fonctionne pas mieu que current()/position() ?
Vu que je n utilise plus du tout le XSL, je ne peux pas vérifier
Cordialement
Seb

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la part
de Jean-Luc Mathieu
Envoyé : lundi 8 janvier 2007 17:31
À : [email protected]
Objet : [xml-tech] [XSL] Optimisation

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

--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "[email protected]" (http://xmlfr.org).

Cette liste est a votre disposition pour discuter en francais de 
tout sujet technique lie a XML.

Pour resilier votre abonnement, envoyez un message contenant 
la commande "unsubscribe" a [email protected]
(mailto:[email protected]?Subject=unsubscribe)