Re: Calcul en XSLT

Top Page

Reply to this message
Author: Frédéric
Date:  
To: guilde
Subject: 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.

Mais merci quand même pour la solution.

--
Frédéric