[F&O] IBM-FO-015: xdt:untypedAtomic is not a numeric type

(IBM-FO-015) Section 6.2, Operators on Numeric Values: Third paragraph 
says "Operands of type xdt:untypedAtomic are converted to xs:double, 
except for the arguments to op:numeric-integer-divide which are converted 
to xs:integer." Actually, these conversions are performed by the semantics 
of the arithmetic operators rather than by the underlying functions. The 
conversion is already done before op:numeric-whatever is called. 
xdt:untypedAtomic is not a numeric type and does not satisfy the 
signatures of these functions. The conversions are described in 
XPath/XQuery section 3.4 (Arithmetic Expressions) and should not be 
repeated here.

Similarly, Section 6.3, Comparison of Numeric Values: Claims "Arguments of 
type xdt:untypedAtomic are converted to xs:double". This is not correct. 
Value comparison operators convert arguments of type xdt:untypedAtomic to 
xs:string, not xs:double. In any case, the type xdt:untypedAtomic is not a 
numeric type and does not satisfy the signatures of the functions in this 
section. This conversion is described in XPath/XQuery Section 3.5.1 (Value 
Comparisons). Repeating it here is both redundant and incorrect.

Also, Section 6.4, Functions on Numeric Values: Says "If the argument is 
xdt:untypedAtomic it is converted to xs:double". This doesn't belong here. 
Type conversions of the arguments of numeric functions are handled in the 
XPath/XQuery document, Section 3.1.5 (Function Calls). The rules include 
atomization, XPath 1.0 compatibility mode, etc. The Functions and 
Operators document should only explain what a function does with an 
argument of the expected (numeric) type.

In summary, all references to arguments of type xdt:untypedAtomic should 
be deleted from Sections 6.2, 6.3, and 6.4. These semantics are covered 
elsewhere. Numeric functions are not a special case. They should only 
describe what they do with arguments that satisfy their signatures--i.e., 
numeric arguments.

--Don Chamberlin

Received on Friday, 27 February 2004 20:52:23 UTC