Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] XSLT 2.0 and lazy evaluation [Thread Next] RE: [xsl] XSLT 2.0 and lazy evaluationTo: Date: 12/3/2006 11:58:00 PM > Does XSLT 2.0 implement lazy evaluation? That's entirely at the discretion of the processor. > > I ask this because the following example returned 4 in XSLT > 1.0 but generates an error in XSLT 2.0 processors. 3 div 0 used double arithmetic in 1.0 and generated +INF. In 2.0 it uses decimal arithmetic and generates a divide-by-zero error. This is one of those documented incompatibilities which you can avoid if you leave version="1.0" to run in backwards compatibility mode. It's true that a processor might not evaluate $y and therefore might not raise the error. That's equally true of 1.0 and 2.0 (the difference is that in 1.0 there's no error here). However, with an expression that can be evaluated at compile time, lazy evaluation doesn't seem a particularly sensible strategy. Michael Kay http://www.saxonica.com/ > > <xsl:stylesheet > > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="2.0"> > > <xsl:template match="/"> > <xsl:call-template name="f"> > <xsl:with-param name="x" select="2" /> > <xsl:with-param name="y" select="3 div 0" /> > </xsl:call-template> </xsl:template> > > <xsl:template name="f"> > <xsl:param name="x" /> > <xsl:param name="y" /> > <xsl:value-of select="$x + $x" /> > </xsl:template> > > </xsl:stylesheet> > > > > > > ______________________________________________ > LLama Gratis a cualquier PC del Mundo. > Llamadas a fijos y msviles desde 1 cintimo por minuto. > http://es.voice.yahoo.com | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
