Re: [xsl] Got a slick XPath expression to convert NEW YORK to New_York?

Subject: Re: [xsl] Got a slick XPath expression to convert NEW YORK to New_York?
From: "Adam Retter adam.retter@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 20 Dec 2023 21:56:20 -0000
I am not sure this is "slick" but I think its interesting:

fn:string-join(
  for $word in tokenize("NEW YORK")
  let $lower-codepoints := fn:string-to-codepoints(fn:lower-case($word))
  let $capitalised-codepoints := (fn:head($lower-codepoints) - 32,
fn:tail($lower-codepoints))
  return
    fn:codepoints-to-string($capitalised-codepoints)
, "_")

You could make it more succinct of course, but then I think it looses
its readability!

On Wed, 20 Dec 2023 at 19:27, Roger L Costello costello@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hi Folks,
>
> I need to convert multi-word names that are space-separated and uppercase to names that are underscore-separated, first letter of each word uppercase and remaining letters of the word lowercase.
>
> Example: NEW YORK --> New_York
>
> Example: SIMULATION INDICATOR --> Simulation_Indicator
>
> Do you have a slick XPath expression that does this transformation?
>
> /Roger
> 
>


-- 
Adam Retter

skype: adam.retter
tweet: adamretter
http://www.adamretter.org.uk

Current Thread