RE: [xsl] Optimization/error reporting: cardinality checks & function calls

Subject: RE: [xsl] 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: [xsl] 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

Current Thread