RE: [xsl] should there be an error condition with XPATH function when param not defined?

Subject: RE: [xsl] should there be an error condition with XPATH function when param not defined?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 12 Jan 2006 12:54:43 -0000
> having some problems interpreting what is expected behavior with the
> following XSLT.
> 
> xml
> <test>1</test>
> 
> xslt
> <xsl:template match="/">
>     <xsl:apply-templates select="."/>
> </xsl:template>

That template rule will give you infinite recursion.
> 
> <xsl:template match="test">
>     <xsl:value-of select="contains(test, $somevariable)"/>
> </xsl:template>
> 
> note that $somevariable has not been declared with either xsl:param or
> xsl:variable.

If $somevariable has not been declared, then you get a static error.
> 
> in http://www.w3.org/TR/xpath spec it is clear that the contains()
> function should return a false condition and I cant find 
> anything to the
> contrary that would say that this should throw an error (as 
> it doesnt in
> Firefox XSLT processor).

XPath 1.0 Section 3.1: A VariableReference evaluates to the value to which
the variable name is bound in the set of variable bindings in the context.
It is an error if the variable name is not bound to any value in the set of
variable bindings in the expression context.

Michael Kay
http://www.saxonica.com/

Current Thread