Source de factorielle.xsl
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0">
<xsl:output method="xml" />
<!-- Template principal : appel à Factorielle avec n et 1 -->
<xsl:template match="/">
<xsl:call-template name="factorielle">
</xsl:template><xsl:with-param name="n" select="factorielle/@n" />
<xsl:with-param name="f" select="1" />
</xsl:call-template>
<!-- Template récursif pour calculer factorielle -->
<xsl:template name="factorielle">
</xsl:stylesheet><xsl:param name="n" />
<xsl:param name="f" />
<xsl:choose>
</xsl:template><xsl:when test="$n = 1">
<resultat>
</xsl:when><xsl:attribute name="value">
</resultat><xsl:value-of select="$f" />
</xsl:attribute><xsl:otherwise>
</xsl:choose><xsl:call-template name="factorielle">
</xsl:otherwise><xsl:with-param name="n" select="$n - 1" />
<xsl:with-param name="f" select="$f * $n" />
</xsl:call-template>