This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Best way to handle multiple string replacements?


Sebastian Rahtz wrote:
> 
> I am full of admiration for Jeni's ingenuity, but I wonder whether a
> simpler approach might not be to build  a lookup table of character
> positions and their expansions (using XSL keys), and then cycle over
> the text letter by letter seeing if there is a replacement?

With longish text nodes, this approach could result in some pretty
deep recursion couldn't it? I once managed to crash Saxon using
exactly this approach (although I can't duplicate that result now).

> If you work by cycling through the replacements, surely
> 
> <foo:char>$</foo:char>
> and
> <foo:replace>$\mathbb{P}$</foo:replace>
> 
> will fight? the $ in the second fragment might end up escaped

This always happens with languages with special characters (even
XML, when doing some dodgy escaping to produce elements). So far
I've always managed to find an order of character replacement
that works. If not, you can replace special characters with some
really unlikely string, do some more replacement, and then replace
the unlikely string with the desired result as the final step.

-- 
Warren Hedley
Department of Engineering Science
Auckland University
New Zealand


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]