[XSLT] transmettre un paramètre avec comme valeur une expression XPath
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:
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:
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 :-)