Previous | Next | Indexes
Zvon > Tutorials > XSLT 2.0 Tutorial > Built in Types (2/2) >

Basic usage of types

Types are useful for automatic discovery of errors. In this example the template "xxx" expects an integer as the argument. If the type was not specified the "xxx" template would multiply the submitted float number. If correct functionality of an application would depend on this value it could cause errors which are difficult to discover.

XSLT

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

            <xsl:template  name="xxx">
                  <xsl:param  name="a"
                              as="sch:integer"/>
                  <xsl:value-of  select="$a * $a * $a"/>
            </xsl:template>

            <xsl:template  match="/aaa">
                  <xsl:call-template  name="xxx">
                        <xsl:with-param  name="a"
                                    as="sch:integer"
                                    select="bbb"/>
                  </xsl:call-template>
            </xsl:template>

      </xsl:stylesheet>
XML

      <aaa>
            <bbb>1.34</bbb>
      </aaa>
Output

Error:


validation error - FORG0001
Cannot convert string "1.34" to an integer


Transformation failed: Run-time errors were reported


Previous chapter: Comments and processing instructions
Next chapter: Errors
Previous page: Numeric types
Next page: - - -