<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

	<xsl:output method="html"/>

	<xsl:template match="/">
		<html><body>
		<xsl:variable name="n">
			<xsl:value-of select="//param/@n"/>
		</xsl:variable>
		<xsl:call-template name="hacer_factorial">
			<xsl:with-param name="n" select="$n"/>
		</xsl:call-template>
		</body></html>
	</xsl:template>

	<xsl:template name="hacer_factorial">
		<xsl:param name="n"/>
		<xsl:choose>
			<xsl:when test="$n &gt; 0">
				<xsl:variable name="siguiente">
					<xsl:call-template name="hacer_factorial">
						<xsl:with-param name="n" select="$n - 1"/>
					</xsl:call-template>
				</xsl:variable>
				<xsl:value-of select="$n * $siguiente"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="1"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

</xsl:transform>
