Subject: Re: [xsl] Trouble understanding how to use replace() From: David Carlisle <davidc@xxxxxxxxx> Date: Fri, 6 Jan 2006 16:07:25 GMT |
> some years since I worked with perl and my regex skills have rusted. Your problem isn't with regexp it's with XML. > <xsl:value-of select="replace(req-text,"\"","'")" /> The first system to see that is an XML parser which knows nothing of xslt or xpath syntax so it looks like <foo bar="zzzzz"z""z""z"z" /> Which is not a well formed element as you can't have literal " in a "-delimited attribute value. you want replace() with three arguments: the xpath req-text the string " the string ' so first make XPath strings for the second 2, so you need the xpath expression replace(req-text,'"','''') (this uses XPath2 syntax '' for a ' in a '-delimited xpath string.) now you need to get that in an XML attribute so you need to XML-quote the " and use " to delimit the expression select="replace(req-text,'"','''')" David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Trouble understanding how to , cknell | Thread | RE: Re: [xsl] Trouble understanding, cknell |
[xsl] Trouble understanding how to , cknell | Date | RE: Re: [xsl] Trouble understanding, cknell |
Month |