Subject: [xsl] Simple map and string-length(): unexpected behavior? From: "Elisa Beshero-Bondar ebbondar@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Sat, 8 Jun 2019 00:52:22 -0000 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSD default attributes no, Graydon graydon@xxxx | Thread | Re: [xsl] Simple map and string-len, Elisa Beshero-Bondar |
Re: [xsl] XSD default attributes no, Graydon graydon@xxxx | Date | Re: [xsl] Simple map and string-len, Elisa Beshero-Bondar |
Month |