[Bug 1746] [FS] editorial: 7.1.4 The fs:convert-simple-operand function

http://www.w3.org/Bugs/Public/show_bug.cgi?id=1746


simeon@us.ibm.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Additional Comments From simeon@us.ibm.com  2006-02-21 17:51 -------
About the first point: I agree, the type can be made more precise. Fixed for the
next version of the document.

About the second point: I believe the definition of fs:convert-simple-operand is
correct. The function conversion rules in XQuery are as follows:

<<
   1. Atomization is applied to the given value, resulting in a sequence of
atomic values.
   2. Each item in the atomic sequence that is of type xdt:untypedAtomic is cast
to the expected atomic type. For built-in functions where the expected type is
specified as numeric, arguments of type xdt:untypedAtomic are cast to xs:double.
   3. For each numeric item in the atomic sequence that can be promoted to the
expected atomic type using numeric promotion as described in B.1 Type Promotion,
the promotion is done.
   4. For each item of type xs:anyURI in the atomic sequence that can be
promoted to the expected atomic type using URI promotion as described in B.1
Type Promotion, the promotion is done.
>>

1. is handled by the introduction of fn:data() during normalization.
3. and 4. are handled by the dynamic semantics of function calls.

so fs:convert-simple-operand only deals with 2. something that could be made
clearer here is fact that in the case of built-in function with an expected type
of numeric, the prototypical value should be of type xs:double.

I added a note to that effect for clarification in 4.1.5. Function calls.

- Jerome

Received on Tuesday, 21 February 2006 17:51:51 UTC