[Bug 1422] [FO] Types of substring arguments

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


mrys@microsoft.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  BugsThisDependsOn|                            |1467




------- Additional Comments From mrys@microsoft.com  2005-05-19 20:10 -------
Here is the proposed rewording:

fn:substring( $sourceString  as xs:string?, 
$startingLoc  as xs:double?) as xs:string? 

fn:substring( $sourceString  as xs:string?, 
$startingLoc  as xs:double?, 
$length  as xs:double?) as xs:string? 

Summary: Returns the portion of the value of $sourceString beginning at the 
position indicated by the value of $startingLoc and continuing for the number 
of characters indicated by the value of $length. The characters returned do 
not extend beyond $sourceString. If $startingLoc is zero or negative, only 
those characters in positions greater than zero are returned. If $startingLoc 
is the empty sequence an error FORG--99 is raised. If $length is the empty 
sequence, the length is considered to be 0 and the empty sequence is being 
returned.

More specifically, the three argument version of the function returns the 
characters in $sourceString whose position $p obeys:

fn:round($startingLoc) <= $p < fn:round($startingLoc) + fn:round($length)

The two argument version of the function assumes that $length is infinite and 
returns the characters in $sourceString whose position $p obeys:

fn:round($startingLoc) <= $p < fn:round(INF)

Received on Thursday, 19 May 2005 20:11:01 UTC