|
Subject: Re: [xsl] ceiling(), floor(), and data types From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 14 Sep 2017 14:23:57 -0000 |
Answering "why" questions about specs is notoriously difficult. Do you want a
historical exposition of how and when the decisions were made, or do you
simply want an opinion as to why a reasonable designer might have chosen to do
it that way?
Looking at the history, the WG discussed the point on 5 Dec 2001. The minutes
record:
Add issue: what do float, ceiling, and round return? Is it always a
decimal, or the same type as their argument (are they overloaded), or ...
Note that xf:substring("foo", round(1.5)) would require an explicit cast
if round returns a double.
Add issue: what do float, ceiling, and round return if the argument is
NaN, etc.?
Important context here is that ceiling() and floor() were present in XPath 1.0
when there was only one numeric data type (effectively xs:double). That meant
that in XPath 1.0, ceiling(NaN) returned NaN, and perhaps the WG wanted to
keep it that way.
Michael Kay
Saxonica
> On 14 Sep 2017, at 11:30, Birnbaum, David J djbpitt@xxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Dear XSL List,
>
> I was surprised to learn today that ceiling() and floor() do not
obligatorily return a value of type xs:integer. If I've understood correctly
that they necessarily return a value that a human would consider an integer,
is there a reason that other return types are permitted?
>
> Thanks,
>
> David
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] ceiling(), floor(), and d, Wolfgang Laun wolfga | Thread | Re: [xsl] ceiling(), floor(), and d, Alain Couthures alai |
| Re: [xsl] ceiling(), floor(), and d, Wolfgang Laun wolfga | Date | Re: [xsl] ceiling(), floor(), and d, Alain Couthures alai |
| Month |