func.function.4.xsl 615 B

123456789101112131415161718192021
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  3. xmlns:func = "http://exslt.org/functions" extension-element-prefixes="func">
  4. <!-- Test a recursive EXSLT function -->
  5. <func:function name="func:factorial">
  6. <xsl:param name="n"/>
  7. <xsl:choose>
  8. <xsl:when test="$n=1"><func:result select="1"/></xsl:when>
  9. <xsl:otherwise><func:result select="$n * func:factorial($n - 1)"/></xsl:otherwise>
  10. </xsl:choose>
  11. </func:function>
  12. <xsl:template match="/">
  13. <out><xsl:value-of select="func:factorial(5)"/></out>
  14. </xsl:template>
  15. </xsl:stylesheet>