xsl-list
[Top] [All Lists]

[xsl] Re: Two "Philisophical" questions about the language

2009-01-30 05:06:08
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>
--~--