Hey,

I'm trying to do a replace eg ${temp.dir} replacing with the $temp.dir value:

<xsl:value-of select="replace(replace(replace(., '\$\{temp\.dir\}', $temp.dir), '\$repeatLabel', $repLabel), '\$\{my\.src\.dir\}', $my.src.dir)"/>

I escaped the $,{ and . because of their special meaning in regular expressions. However Saxon throws an exception:

testng.tests.xsl:176: Fatal Error! Invalid replacement string in replace(): \ character must be followed by \ or $

So i looked into the source code and found the checkReplacement method that is called every time before evaluation:

                char c2 = charsequence.charAt(++i);
                if(c2 != '\\' && c2 != '$')
                    return "Invalid replacement string in replace(): \\ character must be followed by \\ or $";

My question is, how can I use the { or } then, because I can't use it without escaping (rightfully detected as quantifier, illegal because without number), and if I try to escape it, Saxon throws an error??

(sorry if duplicate but sending through Nabble keeps failing)