- From: Michael Kay <mhk@mhk.me.uk>
- Date: Fri, 12 Mar 2004 19:53:25 -0000
- To: "'Howard Katz'" <howardk@fatdog.com>, <public-qt-comments@w3.org>
The definition in terms of fn:round($startingLoc) <= $p < fn:round($startingLoc) + fn:round($length) doesn't require a concept of negative positions. All characters have positive positions; the character is included in the result if the position is greater than a number X, where X may be negative. As background, this definition is an example of the XPath 1.0 philosophy of avoiding run-time errors. This design principle was adopted, I think, because XSLT was seen by many people at the time as something that would run in the browser, where run-time errors are really bad news. XPath 2.0 is less consistent in this regard: we have some things which return a default value rather than failing (such as effective Boolean value), and other things which prefer to fail (such as getting the typed value of a complex-content element). Michael Kay # -----Original Message----- # From: Howard Katz [mailto:howardk@fatdog.com] # Sent: 12 March 2004 18:40 # To: Michael Kay; public-qt-comments@w3.org # Subject: RE: substring: explanation of negative or zero $startingLoc # behaviour # # What would help me I think is an explanation of what a negative position # means. # Howard # # > -----Original Message----- # > From: Michael Kay [mailto:mhk@mhk.me.uk] # > Sent: Friday, March 12, 2004 10:27 AM # > To: 'Howard Katz'; public-qt-comments@w3.org # > Subject: RE: substring: explanation of negative or zero $startingLoc # > behaviour # > # > # > The definitive statement in the spec is: # > # > More specifically, returns the characters in $sourceString whose # > position $p # > obeys: # > # > fn:round($startingLoc) <= $p < fn:round($startingLoc) + # fn:round($length) # > # > The subsequent paragraphs are just trying to be helpful, and # > apparently not # > succeeding. # > # > Michael Kay # > # > # -----Original Message----- # > # From: public-qt-comments-request@w3.org [mailto:public-qt-comments- # > # request@w3.org] On Behalf Of Howard Katz # > # Sent: 12 March 2004 18:08 # > # To: public-qt-comments@w3.org # > # Subject: fn:substring: explanation of negative or zero $startingLoc # > # behaviour # > # # > # # > # F and O: 7.4.3 fn:substring() # > # # > # The explanation of $startingLoc in 7.4.3 reads, "If $startingLoc is # zero # > # or # > # negative, the substring includes characters from the beginning of the # > # $sourceString." I find the meaning of the phrase "from the beginning # of # > # the # > # $sourceString" to be unclear and can't find any other reference to the # > # concept of negative character positions within a string. # > # # > # Out-of-band communication on the www-ql list seems to indicate that # the # > # concept of "imaginary character positions" preceding the # > physical start of # > # the string might be a useful way of explaining zero or negative # > # $startingLoc # > # behaviour. I'd suggest the addition of this or a similar explanation # to # > # 7.4.3. # > # # > # Howard # > # >
Received on Friday, 12 March 2004 14:53:29 UTC