- From: <sean@seanbdurkin.id.au>
- Date: Mon, 19 Nov 2012 21:54:34 -0700
- To: <public-qt-comments@w3.org>
In XPath 1.0 the boolean operators 'and' and 'or', behaved in common
like the majority of high level languages, in that short-circuit rules
applied. This is no longer the case in XPath 2.0 and the current draft
for XPath 3.0 . In XPath 2.0/3.0 it is implementation dependent whether
short-circuit applies or not. In my experience, I have found this
behavior inconvenient and would have preferred short-circuit rules.
Assuming there was a good reason for disallowing short-circuit (perhaps
providing XSLT processors improved opportunities for optimization?), I
propose two new operators for XPath 3.0 . Both of these operators are
binary. The operands are boolean and the expression result is boolean. I
suggest that the proposed operands would be helpful.
op:s-and
========
Summary
-------
Performs boolean logical conjuctive with a short-circuit evaluation
rule.
Signature
---------
op:s-and($arg1 as xs:boolean, $arg2 as xs:boolean) as xs:boolean
Rules
-----
The expression ...
$a s-and $b
... is equivalent to ...
if ($a) then $b else false()
op:s-or
=======
Summary
-------
Performs boolean logical choice with a short-circuit evaluation rule.
Signature
---------
op:s-and($arg1 as xs:boolean, $arg2 as xs:boolean) as xs:boolean
Rules
-----
The expression ...
$a s-or $b
... is equivalent to ...
if ($a) then true() else $b
Faithfully,
Sean B. Durkin
Received on Tuesday, 20 November 2012 12:55:10 UTC