| 
 
Subject: Re: [xsl] Including markup in a replace string (follow-up) From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 6 Oct 2016 15:43:24 -0000  | 
>   In my first post I asked if there was a way to trick the replace function
so I could output markup in the replacement string. I have since solved my
problem using xsl:analyze-string. I thought Ibd post the solution since it
involved escaping the curly braces that I was looking for.
>
> Herebs a snippet of the input string. Itbs from a test file so the text
is bogus:
>
>    datalines;
>       {{This variable}} is the catbs meow
>
> And herebs the analize-string I used to get the results I needed:
>
>   <xsl:analyze-string select="." regex="([{{]{{2}}|[}}]{{2}})">
The doubling is because curly brackets are special in XSLT attribute value
templates. The square brackets are because curly brackets are special in
regular expressions (to match "{" the regex needs to be either "\{" or
"[{]".)
I would probably write this one as
<xsl:variable name="regex">\{\{|\}\}</xsl:variable>
<xsl:analyze-string regex="{$regex}">...
Michael Kay
Saxonica
| Current Thread | 
|---|
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| [xsl] Including markup in a replace, Craig Sampson craig. | Thread | [xsl] XSLT has raised bar for compi, Mukul Gandhi gandhi. | 
| Re: [xsl] Doing Math on Durations a, Wayne Brissette wbri | Date | Re: [xsl] Doing Math on Durations a, Michael Kay mike@xxx | 
| Month |