RE: [xsl] for i = 1 to 10, or while (is there an equivalent?)

Subject: RE: [xsl] for i = 1 to 10, or while (is there an equivalent?)
From: "Andrew Welch" <ajwelch@xxxxxxxxxxxxxxx>
Date: Wed, 10 Nov 2004 09:59:11 -0000
> I'm probably going about this the wrong way, but I have a C
> string in a variable that I want to escape the backslashes
> and double-quotes prior to output.  ie. foo\bar"xxx ->
> foo\\bar\"xxx I figured I could use the XPath contain and
> substring functions to do what I want, but I can't find a way
> to iterate until there are no more characters of interest.
> Can this be done in XSL/XPath?

In XSLT 1.0 you would have to use recursion as the translate() function
can only a single character with another single character.  In XSLT 2.0
you can use Xpath 2.0's replace() function which allows you to use
regex's.  For example to replace all occurances of " with \" you could
use:

  replace(.,'&quot;','\\&quot;')

which is a lot nicer than a long winded choose/when :)

cheers
andrew

Current Thread