[Bug 29686] [xslt3.0] Imprecise language for rules on xsl:override

https://www.w3.org/Bugs/Public/show_bug.cgi?id=29686

Michael Kay <mike@saxonica.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |FIXED
             Status|RESOLVED                    |CLOSED

--- Comment #6 from Michael Kay <mike@saxonica.com> ---
The WG discussed this on 23 June 2016. I was given an action to add a note
going into more detail about the consequences of the rule on "identical" types,
which I have done as follows:

<p>
Consider a function that accepts an argument whose declared type is a union
type with member types <code>xs:double</code> and <code>xs:decimal</code>, in
that order (we might write this as <code>union(xs:double, xs:decimal)</code>).
Using the same notation, this can be overridden by a function that declares the
argument type as <code>union(xs:decimal, xs:double)</code>. This does not
affect type checking: a a function call that passes the type checking rules
with one signature will also pass the type checking rules with the other. It
does however affect the way that the function conversion rules work: a call
that passes the <code>xs:untypedAtomic</code> value <code>"93.7"</code> (or an
untyped node with this as its string value) will be converted to an
<code>xs:decimal</code> in one case and an <code>xs:double</code> in the other.
</p>

--- Comment #7 from Michael Kay <mike@saxonica.com> ---
The WG discussed this on 23 June 2016. I was given an action to add a note
going into more detail about the consequences of the rule on "identical" types,
which I have done as follows:

<p>
Consider a function that accepts an argument whose declared type is a union
type with member types <code>xs:double</code> and <code>xs:decimal</code>, in
that order (we might write this as <code>union(xs:double, xs:decimal)</code>).
Using the same notation, this can be overridden by a function that declares the
argument type as <code>union(xs:decimal, xs:double)</code>. This does not
affect type checking: a a function call that passes the type checking rules
with one signature will also pass the type checking rules with the other. It
does however affect the way that the function conversion rules work: a call
that passes the <code>xs:untypedAtomic</code> value <code>"93.7"</code> (or an
untyped node with this as its string value) will be converted to an
<code>xs:decimal</code> in one case and an <code>xs:double</code> in the other.
</p>

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

Received on Thursday, 6 October 2016 18:42:31 UTC