xsl-list
[Top] [All Lists]

Re: should there be an error condition with XPATH function when param not defined?

2006-01-12 06:01:57
Michael Kay wrote:

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>
   


ya cut and paste error, should read

    <xsl:value-of select="contains(., $somevariable)"/>


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.
 

ok, not in firefox I am using though.

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.
 

ahhh, read that and it bounced off my frontal lobe...thx for confirming
that this should be a static error.

cheers, Jim Fuller

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--