Subject: RE: Optimization/error reporting: cardinality checks & function calls
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 23 Jan 2006 17:30:44 -0000
|
You raised a similar question on the Saxon list, and as a result of that
discussion I raised
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2708
I think this is something that needs to be clarified in the spec.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Frans Englich [mailto:frans.englich@xxxxxxxxx]
> Sent: 23 January 2006 17:11
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Optimization/error reporting: cardinality
> checks & function calls
>
>
> Hi all,
>
> I'm a bit confused about errors & optimizations in XPath/XQuery
> implementations, perhaps someone could help me clear it.
>
> 2.3.4 Errors and Optimization in XML Path Language (XPath)
> 2.0 says that
> implementations are free to perform arbitrary
> optimizations(such as skipping
> evaluation of somekind) as long as 1) The result is identical
> to when not
> being optimized, except for that errors are possibly not
> reported; and 2)
> that cardinality errors are still reported.
>
> Section 2.3.4 uses the term "expression", and I presume functions are
> applicable to that discussion(functions are expressions).
>
> Further, in 3.1.5 Function Calls, one can read this:
>
> <quote>
> Argument expressions are evaluated, producing argument
> values. The order of
> argument evaluation is implementation-dependent and a
> function need not
> evaluate an argument if the function can evaluate its body
> without evaluating
> that argument.
> </quote>
>
> I think the understanding is meant to be that an
> implementation is free to
> skip "evaluation" of an argument, and that the cardinality
> check is also free
> to be skipped if the argument as a whole has been skipped.
>
> Am I right in my interpretation?
>
>
> Cheers,
>
> Frans
|