xsl-list
[Top] [All Lists]

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

2004-11-10 02:59:11

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(.,'"','\\"')   

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

cheers
andrew