Y a-t-il un moyen de faire fonctionner le code suivant sans passer par une variable intermédiaire ?
L'attribut @ref est un attribut de l'élément toto.
Mon code fonctionne si j'utilise une variable intermédiaire mais je trouve cela moins joli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <xsl:template match="toto"> <xsl:apply-templates select="//Value[@id=./@ref]" mode="titi"/> </xsl:template> <xsl:template match="Value" mode="titi"> <xsl:value-of select="."/> </xsl:template> <xsl:template match="text()"/>
J'ai cherché en utilisant self::./@ref mais cela ne fonctionne pas non plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <xsl:template match="toto"> <xsl:variable name="vRef" select="@ref"/> <xsl:apply-templates select="//Value[@id=$vRef]" mode="titi"/> </xsl:template> <xsl:template match="Value" mode="titi"> <xsl:value-of select="."/> </xsl:template> <xsl:template match="text()"/>
Y a-t-il un problème de syntaxe ?
Exemple de xml :
Je voudrais donc qu'il m'affiche "bidule".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <toto ref="2"/> <Value id="1">truc</Value> <Value id="2">bidule</Value>
Partager