Bonjour,

J'essaie de faire deux apply-templates sur une requete XPath, en transmettant des arguments pour avoir des résultats différents selon l'appel :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<xsl:apply-templates select="xft:Amounts/xft:Amount">
   <xsl:with-param name="textName" select="'toto'"/>
   <xsl:with-param name="exprXPath" select="'@Quantity'"/>
</xsl:apply-templates>
 
<xsl:apply-templates select="xft:Amounts/xft:Amount">
   <xsl:with-param name="textName" select="'titi"/>
   <xsl:with-param name="exprXPath" select="'@Amount'"/>
</xsl:apply-templates>
Au niveau du template qui va matcher, j'aimerais créer un certain élément Text Name dont la valeur de l'attribut sera la valeur du paramètre textName et lui dire de faire un apply-templates sur un certain noeud décrit par une expression XPath (donné au niveau du paramètre exprXPath)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 <xsl:template match="xft:Amount" mode="amount">
         <xsl:param name="textName"/>
         <xsl:param name="exprXPath"/>
         <Text Name="{textName}">
            <xsl:apply-templates select="{$exprXPath}"/>
         </Text>
    </xsl:template>
Mais j'ai une erreur XSL quand j'essaie de le faire comme ca.

Une idée?

Merci :-)