[Bug 28319] [FO30] (and [FO31]) Text on least common type and conversion in fn:min and fn:max ambiguous


--- Comment #4 from Abel Braaksma <abel.braaksma@xs4all.nl> ---
> I don't think so. The term "conversion" is defined within the rules for the 
> min and max functions:

I think you are right, and that I was confused between FO30 and FO31. Just to
summarize my understanding of the new wording:

In 3.1 we now use the terms "is cast to" and "is instance of". In that case, it
is my understanding that (xs:byte(10), xs:integer(8)) is treated, for the sake
of the new section, as (xs:decimal(10), xs:decimal(8)), but not cast as. Since
the derived xs:byte and xs:integer are all instances of xs:decimal, I
understand that max((xs:byte(10), xs:integer(8)) returns xs:byte(10).

* Any numeric sequence containing xs:float but not xs:double will return

* Any numeric sequence containing xs:double will return xs:double.

* Any other numeric sequence (only instances of xs:decimal) will return the
original type of the max item, no conversion takes place.

This also means that my test case above, max((xs:integer(12), xs:decimal(10))),
will return xs:integer, not xs:decimal (I haven't tested it with the most
recent Saxon, it may be fixed already).

My apologies for raising the bug, I think it can be closed with no action.

Should any tests in FO30 be treated in regards to the new wording of FO31? It
would get really messy if we would try to allow possible variants of the
interpretation of the original FO30 text.

You are receiving this mail because:
You are the QA Contact for the bug.

Received on Tuesday, 24 March 2015 12:48:28 UTC