Subject: Re: [xsl] replacing a string value From: Peter Davis <pdavis@xxxxxxxxx> Date: Thu, 29 Nov 2001 14:06:41 -0800 |
Am I right in assuming that the '?' can occur at any place in the input?: <foo> hello ? world ? foo </foo> would translate to: <foo> hello <img/> world <img/> foo </foo> This stylesheet will do what you want: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="text()" name="img-replace"> <xsl:param name="text" select="string()"/> <xsl:choose> <xsl:when test="not(contains($text, '?'))"> <xsl:value-of select="$text"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="substring-before($text, '?')"/> <img/> <xsl:call-template name="img-replace"> <xsl:with-param name="text" select="substring-after($text, '?')"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="@* | node()[not(self::text())]"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> </xsl:stylesheet> The second template is a modified version of the identity template, taken from the XSLT spec. You can replace it with your normal processing if you wish. I tested the template with the latest Xalan from their CVS, but it should work with just about any processor since it is 100% standard. On Thursday 29 November 2001 01:48 pm, rick schochler wrote: > I have a requirement to replace certain string characters (if encountered) > with a graphic. For example, if the string value of my element foo is a > question mark (i.e, <foo>?</foo>), I need to replace the ? with a graphic. > > Any ideas? -- Furthermore, I believe bacon prevents hair loss. Peter Davis XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] replacing a string value, rick schochler | Thread | RE: [xsl] replacing a string value, rick schochler |
[xsl] replacing a string value, rick schochler | Date | Re: [xsl] How to handle xsi prefix , Janusz Dalecki |
Month |