Fichier XML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<A>
   <AA>
      <ID>35</ID>
   </AA>
</A>
 
<B>
   <ID> 35 </ID>
   <NOM>Denis</NOM>
</B>
 
<B>
   <ID> 36 </ID>
   <NOM>David</NOM>
</B>

fichier XSL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<xsl:for-each select="//A/AA"> 
    <xsl:variable name="ID" select="./ID" />
    <xsl:for-each select="//B[boolean([//B[ID=current()/ID])=true]"> 
   <NOM><xsl:value-of select="//B[ID=$ID]/NOM" /></NOM>
   </xsl:for-each> 
</xsl:for-each>

Quelle est la syntaxe exacte pour une boucle for imbriqué avec condition (c'est surtout la condition qui m'intéresse)?
Je voudrais utiliser current comment je peux faire.


Le résultat me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<NOM>Denis</NOM>
<NOM>Denis</NOM>
En fait, le filtre fonctionne sur les nom (select) et pas sur le for-each (il recopie tous les éléments de A et de B et affiche uniquement les bons nom.

Alors que le résultat que je veux est :