To those questions I would add another one:
why "if" xpath 2.0 expression demands "else" part?
IfExpr ::= "if" "(" Expr ")" "then" ExprSingle "else"
ExprSingle
The main reason was to avoid the infamous dangling-else ambiguity:
if (c) then if (d) then e else f
I personally would have preferred the solution of a closing token such as
"end-if" or "fi".
I do remember a half-day spent on if/then/else, where it was clear that
no-one much liked the status-quo syntax, but no-one could come up with
improvements that had majority support.
I've just thought that by the same token there are dangling sequence items
in:
for $item in $items return
expr1, expr2
and in
if (expr) then
expr1
else
expr1, expr2
I have found myself a couple of times troubled with such "for", and
as result, deliberately taught myself to write braces:
for $item in $items return
(
expr1, expr2
)
Vladimir Nesterovsky
http://www.nesterovsky-bros.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--