Subject: RE: [xsl] replace function From: "Stevenson Ngila" <Stevenson@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 1 Oct 2002 09:59:58 +0300 |
Thanks Michael Kay, i wrote one and it worked perfectly. See it below: <xsl:template name="stringSpacing"> <xsl:param name="sString"/> <xsl:choose> <xsl:when test="contains($sString, ',')"> <xsl:value-of select="substring-before($sString, ',')"/>,  <xsl:call-template name="stringSpacing"> <xsl:with-param name="sString" select="substring-after($sString, ',')" /> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$sString"/> </xsl:otherwise> </xsl:choose> </xsl:template> -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Michael Kay Sent: 30 September 2002 23:06 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] replace function e is get a string i.e. > "steve,john,peter" and replace the next word to a comma with > a space hence the new string become "steve, john, peter" how > can i achieve this using the translate function? Although people have written solutions to this that you can use off-the-shelf, it's worth learning how to write the code yourself. You need a recursive template, it should use substring-before() to output the string before the first comma, then output ", ", then use substring-after() and call itself to process the rest of the string after the first comma. Any good XSLT textbook will have examples of this. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XML-->HTML-->CHM, Ben Robb | Thread | RE: [xsl] replace function, John Pallister |
[xsl] XML-->HTML-->CHM, Satish, L. Gnanendra | Date | RE: [xsl] PDF to FO tool?, DPawson |
Month |