Re: Calcul en XSLT

Page principale

Répondre à ce message
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.

Mais merci quand même pour la solution.

--
Frédéric