Auteur: Frédéric Date: À: guilde Sujet: Re: Calcul en XSLT
Le samedi 21 mai 2011, Damien Goutte-Gattat a écrit :
> > Est-il possible de multiplier le résultat retourné par le template
> > avant de l'afficher ?
>
> Oui, en stockant le résultat de l’appel dans une variable que l’on peut
> ensuite manipuler avec une expression XPath :
>
> <xsl:text>PARAM: AA=</xsl:text>
> <xsl:variable name="aa">
> <xsl:call-template name="getDataLastValueHeader">
> <xsl:with-param name="d" select="'Sample'" />
> <xsl:with-param name="p" select="'lattice'"/>
> <xsl:with-param name="c" select="'alpha'"/>
> <xsl:with-param name="pointIndex" select="0"/>
> </xsl:call-template>
> </xsl:variable>
> <xsl:value-of select="$aa * 42" />
>
> Testé uniquement avec libxslt, mais sauf erreur de ma part c’est un
> comportement tout-à-fait standard, ça doit fonctionner avec n’importe
> quel moteur XSLT.
Bon, ça marche très bien, mais dans mon cas, ce n'est pas tout à fait bon,
car la sortie est arrondie à 3 décimales dans l'appel du template, mais du
coup, elle ne l'est plus après la multiplication... Faudrait revoir plus de
choses, en séparant tout ça.