Subject: Re: XSL-List Digest V4 #1736
From: Eric Promislow <ericp@xxxxxxxxxxxxxxx>
Date: Mon, 20 Oct 2003 11:28:34 -0700
|
On Sun, 19 Oct 2003 07:47:23 +0100, "Michael Kay" <mhk@xxxxxxxxx> wrote:
> > A processor for a functional language may decide (and there
> > are many cases when this happens) to perform lazy evaluation.
> >
> > Among other things lazy evaluation means not to report an
> > error, which does not actually affect the evaluation.
>
> This is one reason why in XSLT 2.0 we have distinguished very clearly
> between static errors and dynamic errors. If an error is defined as a
> static error then the processor must report it, even if the code is
> never executed. Referring to an undeclared variable is a static error in
> XSLT 2.0.
I would agree with this. The time spent checking for unused
variables at compile-time is dwarfed by the convenience of
finding typos in variable names. Good to hear that the 2.0 group
addressed this area.
- Eric
>
> However, I am surprised that any 1.0 processor should fail to report an
> error on the example submitted, where the reference to the undeclared
> (or out-of-scope) variable does actually appear to be evaluated.
And as you later stated, none of the three I tested did, I just
didn't write it up as clearly as I could.
>
> Michael Kay
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|