imaginons 2 boucles imbiquées
Donc pour chaque balise A on va effectué le
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <xsl:for-each select="//A"> <xsl:for-each select="//B[./ID=current()/ID]"> </xsl:for-each> </xsl:for-each>
L'élément en cours de traitement à ce moment est l'element courant current()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <xsl:for-each select="//B[./ID=current()/ID]"> </xsl:for-each>
dans la deuxième boucle se sera l'element B traité qui sera l'element courant.
. c'est l'element qui est parcouru dans le xpath.
Ainsi dans
Le parseur va d'abord faire une liste de tous les B, puis il va les parcourir.Le B qui est lu a ce moment devient l'element ., que l'on appelle aussi self::*
Code : Sélectionner tout - Visualiser dans une fenêtre à part //B[./ID=current()/ID]
donc ici on gardera les element B dont l'ID est égal a celle D du A qui est traité a ce moment.
Plus clair ?
Partager