xsl-list
[Top] [All Lists]

RE: [xsl] casting sequences

2009-01-15 10:54:45
  Yes, for that kind of expressions, I always miss the 
ability to use the step operator on atomic values:

    tokenize(...)/xs:dayTimeDuration(.)

  Were there any clear reason the attempt floundered?


Not a clear reason, no: rather, in classic committee style, a sequence of
decisions.

Early on, various proposals were made using a new operator. Suggestions
included "\", "->", "!". Some people didn't like the choice of operator,
some people didn't see the need for the facility, and between them they
defeated the proposals.

"/" was also proposed, but (a) it was hard to reconcile the semantics with
the existing "/" (as regards duplicate elimination and document order), and
(b) people didn't like the fact that you would be able to write "40/5" and
the result would be 5. Also (c), at that stage in the game there were still
people arguing against the document-order semantics of "/", and those of us
who wanted a simple mapping operator didn't want to lose the fragile
consensus over the behaviour of "/"...

At a much later stage, when XQuery vendors were starting to get feedback
from real users, and when the meaning of "/" applied to nodes was no longer
up for debate, IBM proposed allowing "/" as a simple mapping operator
provided (1) that the lhs was a sequence of nodes, and (2) that the rhs was
homogenous - either all nodes, or all atomic values. Despite being less
orthogonal than an operator that allowed any sequence on either side, this
won support because it dealt with most of the previous objections, because
the timing was right, and because Don Chamberlin has the rare skill of
presenting controversial proposals in such a way that the decision seems
inevitable.

That's the way committees work...

Michael Kay
http://www.saxonica.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>
--~--

<Prev in Thread] Current Thread [Next in Thread>