> 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
|