Re: [xsl] First steps with high order functions

Subject: Re: [xsl] First steps with high order functions
From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 21 Jun 2018 16:59:38 -0000
> On 21 Jun 2018, at 15:34, Eliot Kimber ekimber@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> For this:
>
> $name => tokenize(' ') => for-each(nu:camelCase#1) => string-join(' ')
>
> Why not use:
>
> $name => tokenize(' ') ! nu:camelCase(.) => string-join(' ')
>

No reason at all. The fn:for-each() function only really comes into its own
when the function supplied as the second argument is a variable, e.g.

let $caseConversions := map {
   "uc": fn:upper-case#1,
   "lc" : fn:lower-case#1,
   "cc" : nu:camelCase#1
}
let $selectedCase := /options/@selectedCase
return $name => tokenize() => for-each($caseConversions($selectedCase)) =>
string-join(.)

Michael Kay
Saxonica

Current Thread