- From: Michael Kay <mhk@mhk.me.uk>
- Date: Tue, 17 Feb 2004 17:30:29 -0000
- To: <mary@cerisent.com>, <public-qt-comments@w3.org>
> F&O 7.4.3 > > Making the positional parameters to fn:substring be xs:double > instead of xs:integer adds complexity and confusion for no > obvious benefit. If the rationale is to take advantage of the > automatic promotion rules, it is difficult to come up with > realistic use cases involving mathematic expressions on > substring positions that would lead to values requiring such > promotion. Request that if there is no sound justification, > change the signatures to use xs:integer instead. > The justification for this decision was: (a) because XPath 1.0 had no conditional expression, a popular workaround is to write, for example substring("abcd", 1 div $condition, 1000) which evaluates to "abcd" if $condition is true (1) and to "" if $condition is false (0). This relies on substring() accepting +INF as an argument. There is no alternative way of writing this expression that would work under both XPath 1.0 and XPath 2.0, so we would be forcing a "single-shot" transition if we stopped supporting it. (b) because with untyped data, the expression @offset - 1 produces a double, and the expression substring("abcd", 1, @offset - 1) would therefore fail. I agree that the signature is less than ideal. Michael Kay
Received on Tuesday, 17 February 2004 12:29:48 UTC