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

Return type of a function

Type of a value returned by a function can be specified using as attribute. In the xxx example implicit type handling is used. In the yyy example it is explicitly required that the return value must be integer and therefore the function output is transformed to integer.

XSLT

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

            <xsl:function  name="my:return-number"
                        as="sch:integer">
                  <aaa>10</aaa>
            </xsl:function>

            <xsl:function  name="my:return-node">
                  <aaa>10</aaa>
            </xsl:function>

            <xsl:template  match="/aaa">
                  <xxx>
                        <xsl:copy-of  select="my:return-node()"/>
                  </xxx>
                  <yyy>
                        <xsl:copy-of  select="my:return-number()"/>
                  </yyy>
            </xsl:template>

      </xsl:stylesheet>
XML

      <aaa/>
Output

      <xxx>
            <aaa>10</aaa>
      </xxx>
      <yyy>10</yyy>


Previous chapter: Variables and Parameters
Next chapter: Comparisons
Previous page: Functions with default arguments
Next page: Return type errors