[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Is the semantics of the "or" operator implementation-dependent?


Subject: Re: [xsl] Is the semantics of the "or" operator implementation-dependent?
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 16 Sep 2014 13:39:18 -0000

> I found this paragraph in the XPath 2.0 specification:
>
> 	In XPath 1.0, it was defined that with an expression of the form A and B,
> 	B would not be evaluated if A was false. Similarly in the case of A or B, B
> 	would not be evaluated if A was true. This is no longer guaranteed with
> 	XPath 2.0: the implementation is free to evaluate the two operands in
> 	either order or in parallel.
>
> That last sentence leads me to think that an XSLT processor could have this
behavior:
>

Correct. This change was made in XPath 2.0 at the insistence of XQuery
vendors. In databases optimizers typically promote the terms of an expression
that can be evaluated with the help of database indexes. This is an
optimization that can make many orders of magnitude difference to performance,
so it was felt to justify the loss in interoperability.

Michael Kay
Saxonica


Current Thread
Keywords