Subject: Re: [xsl] Simple map and string-length(): unexpected behavior? From: "Elisa Beshero-Bondar ebbondar@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 8 Jun 2019 01:18:01 -0000 |
Ah! To answer our question according to the w3c XML Schema on datatypes: the difference is that the zero-argument version of string-length() used in the simple map operation casts the item to string() before taking its string-length. When this happens, the lexical form is defined in a canonicalized way (so that's why 005 gets measured as "5" with a string-length of 1. We are further enlightened. :-) Elisa On Fri, Jun 7, 2019 at 5:52 PM Elisa Beshero-Bondar ebbondar@xxxxxxxxx < xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Dear XSL list, > > We are perplexed by a discrepancy between applying the string-length() > function directly to a numerical argument and using simple map to perform > what we expected would be the same operation. string-length(5) returns an > error, as expected. oXygen reports: "XPath failed due to: Required item > type of first argument of fn:string-length() is xs:string; supplied > expression (5) has item type xs:integer". eXist-db reports: "xs-integer(5) > is not a sub-type of xs-string". > > When we use simple map, though, the behavior is different: > > 5 ! string-length() returns a string-length of 1 > > 05 ! string-length() returns a string-length of 2 > > 0.5 ! string-length() returns a string-length of 3 > > 00.5 ! string-length returns a string-length of 3 > > 05 ! string-length() returns a string-length of 1 > > Can someone please explain why simple-map does not raise the type error > that we see when we write the numerical argument directly inside the > function parentheses? > > Thanks for your help! > Elisa > -- > Elisa Beshero-Bondar, PhD > Associate Professor of English > University of Pittsburgh at Greensburg > Humanities Division > 150 Finoli Drive > Greensburg, PA 15601 USA > E-mail: ebb8@xxxxxxxx > XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list> > EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/2631706> (by > email <>) > -- Elisa Beshero-Bondar, PhD Director, Center for the Digital Text | Associate Professor of English University of Pittsburgh at Greensburg | Humanities Division 150 Finoli Drive Greensburg, PA 15601 USA E-mail: ebb8@xxxxxxxx <ebb8@xxxxxxxx> Development site: http://newtfire.org
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Simple map and string-length(, Elisa Beshero-Bondar | Thread | Re: [xsl] Simple map and string-len, Michael Kay mike@xxx |
[xsl] Simple map and string-length(, Elisa Beshero-Bondar | Date | Re: [xsl] Simple map and string-len, Michael Kay mike@xxx |
Month |