Previous | Next | Indexes
Zvon > Tutorials > XSLT 2.0 Tutorial > Stylesheet Functions (5/11) >

Reuse of function declaration in functions with optional number of parameters

It is a good idea to reuse already declared functions if they should accept a larger number of parameters.

XSLT

      <xsl:stylesheet
                  xmlns:my="myFunctions"
                  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  version="2.0"
                  exclude-result-prefixes="my">
            <xsl:output  method="xml"
                        indent="yes"
                        omit-xml-declaration="yes"/>

            <xsl:function  name="my:multiply">
                  <xsl:param  name="a"/>
                  <xsl:param  name="b"/>
                  <xsl:value-of  select="$a * $b"/>
            </xsl:function>

            <xsl:function  name="my:multiply">
                  <xsl:param  name="a"/>
                  <xsl:param  name="b"/>
                  <xsl:param  name="c"/>
                  <xsl:value-of  select="my:multiply($a,$b) * $c"/>
            </xsl:function>

            <xsl:template  match="/aaa">
                  <xsl:value-of  select="my:multiply(1,2,3)"/>
                  <xsl:text> | </xsl:text>
                  <xsl:value-of  select="my:multiply(4,5)"/>
            </xsl:template>

      </xsl:stylesheet>
XML

      <aaa/>
Output
6 | 20


Previous chapter: Variables and Parameters
Next chapter: Comparisons
Previous page: Same function with different number of arguments
Next page: Default values of function parameters