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: | - - - |