Subject: Re: [xsl] case conversion with replace() (i.e., with a regular expression) From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 27 Jul 2020 10:13:13 -0000 |
Saxon has introduced the extension function replace-with() which allows replace-with($in, '^.', function($x){upper-case($x)}) Michael Kay Saxonica > On 26 Jul 2020, at 22:34, Wolfhart Totschnig wolfhart.totschnig@xxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Dear list, > > I need to convert the first character of a string from lower-case to upper-case. I know that I can do so with the following code: > > concat(upper-case(substring(.,1,1)),substring(.,2)) > > I was wondering whether it can also be done with the replace() function, i.e., with a regular expression. I found out that some regular expression versions have the command \u for that. So I tried the following: > > replace(.,'^(.)','\u$1') > > But this produces an error with Saxon ("FORX0004: Invalid replacement string in replace(): \ character must be followed by \ or $"). Does this mean that case conversion is not available in the regular expression version implemented in XSLT? Or did I get the code wrong? > > Thanks in advance for your help! > Wolfhart
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] case conversion with repl, Martin Honnen martin | Thread | Re: [xsl] case conversion with repl, Wolfhart Totschnig w |
Re: [xsl] Legibility, repetition, n, Andre Cusson akhu01@ | Date | Re: [xsl] Tool that measures the pe, Mukul Gandhi gandhi. |
Month |