Re: [xsl] escaping ampersands in replace function

Subject: Re: [xsl] escaping ampersands in replace function
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 4 Sep 2007 17:06:35 +0100
> I'm using XSLT2's replace function against a string but am having problems
> escaping the ampersand.

ampersaand isn't a special character to xpath regular expressions, so
you don't need to escape it  so you want:

replace($l_TempString,'&','and')

then you need to put that XPath expression in a slect attribute,
whenever you put a string containg & in an XMl file you need to write it
as &amp; so the xslt looks like

select="replace($l_TempString,'&amp;','and')"

This is assuming that your input string contains a " & " 
 if it contains " &amp; "
then you want the XPath


replace($l_TempString,'&amp;','and')


which would be written in an XML file such as an XSLT stylesheet as

select="replace($l_TempString,'&amp;amp;','and')"

as the & has to be written as &amp;

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

Current Thread