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
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--