Bug 6346 - [FO] fn:number() example
: [FO] fn:number() example
Status: CLOSED FIXED
Product: XPath / XQuery / XSLT
Functions and Operators 1.0
: Recommendation
: PC Windows NT
: P2 normal
: ---
Assigned To: Michael Kay
: Mailing list for public feedback on specs from XSL and XML Query WGs
:
:
:
:
:
  Show dependency treegraph
 
Reported: 2009-01-03 16:37 UTC by Michael Kay
Modified: 2009-01-28 20:58 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Kay 2009-01-03 16:37:08 UTC
The second example for fn:number() (section 14.4.1) is:

fn:number($item2) returns NaN.

Now $item2 (scroll up to the start of section 14) is bound to an element of the
form

  <line-item>
    <description> ... </description>
    <price> ... </price>
    <quantity>5.0</quantity>
      ...
  </line-item>

Since we are told that quantity is typed as xs:decimal, we must infer that this
element is schema-validated, and it therefore seems highly likely that the
line-item element would be defined with element-only content. In this situation
I believe number() should fail with a type error; because although number()
itself is resilient to casting errors, the atomization of the argument is done
under the function calling rules and will fail in the case of element-only
content.

I think it would be better to use a different example, say
number($item1/description) (having given this element some non-numeric
content).
Comment 1 Michael Kay 2009-01-03 16:47:20 UTC
Note also, fn:number() says twice that "If $arg is the empty sequence, NaN is
returned.".
Comment 2 Michael Kay 2009-01-28 20:57:52 UTC
Erratum E36 has been raised to fix the first problem. The second (duplication)
does now harm and will be left alone. The bug is being marked fixed and closed.


  翻译: