Subject: RE: [xsl] replacing parts of a string From: "Jonny Pony" <jonnypony666@xxxxxxxxxxx> Date: Thu, 15 Jan 2004 17:05:09 +0000 |
<xsl:call-template name="LongString"> <xsl:with-param name="stringIn"><xsl:value-of select="."/></xsl:with-param> </xsl:call-template>
Thanks Jonny
From: "Jonny Pony" <jonnypony666@xxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: RE: [xsl] replacing parts of a string Date: Thu, 15 Jan 2004 16:48:01 +0000
Hi,
OK. Downloaded your files. Did the things you said. Now call me dumb: I don't know how to invoke your "template".
Let's say I have: <hello> <LongString>12rt,dsfg,dsfg,ewrt,wert,xcvbs,rwete,ehgfh,xxxxxasd,awersdf,dfgxvxcv</LongString> <LongString>76rt,dsfg,dsfg,ewrt,wert,xcvbs,rwete,ehgfh,xxxxxasd,awersdf,dfgxvxcv</LongString> <LongString>wert,ds4,dsfg,ewrt,wert,xcvbs,rwete,ehgfh,xxxxxasd,awersdf,dfgxvxcv</LongString> <LongString>wert,d12,dsfg,ewrt,wert,xcvbs,rwete,ehgfh,xxxxxasd,awersdf,dfgxvxcv</LongString> </hello>
What would I "do" in my xsl to invoke your "function"? Sorry, but I have no clue.
Thanks jonny
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE: [xsl] replacing parts of a string Date: Thu, 15 Jan 2004 06:02:05 -0800 (PST)
> > Is there a (string)-replace function in xsl. Couldn't find one. > > Other than translate(), no. > > > My problem: I get something like this in xml: > > <LongString>wert,dsfg,dsfg,ewrt,wert,xcvbs,rwete,ehgfh,xxxxxas > > d,awersdf,dfgxvxcv</LongString> > > > > I want to have a whitespace between the "," and the text. > > See the FAQ-you need to write a recursive template.
Or you will not have to write a recursive template (already written for you) if you use the "str-map" template from FXSL.
This transformation:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:testmap="my:testmap" exclude-result-prefixes="xsl testmap" > <xsl:import href="str-map.xsl"/>
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="LongString"> <xsl:variable name="vTestMap" select="document('')/*/testmap:*[1]"/> <xsl:copy> <xsl:call-template name="str-map"> <xsl:with-param name="pFun" select="$vTestMap"/> <xsl:with-param name="pStr" select="."/> </xsl:call-template> </xsl:copy> </xsl:template>
<testmap:testmap/> <xsl:template match="testmap:*"> <xsl:param name="arg1"/>
<xsl:value-of select="$arg1"/> <xsl:if test="$arg1 = ','"> <xsl:text> </xsl:text> </xsl:if> </xsl:template>
</xsl:stylesheet>
When applied on your source.xml:
<LongString>wert,dsfg,dsfg,ewrt,wert,xcvbs,rwete,ehgfh,xxxxxasd,awersdf,dfgxvxcv</LongString>
produces the desired output:
<LongString>wert, dsfg, dsfg, ewrt, wert, xcvbs, rwete, ehgfh, xxxxxasd, awersdf, dfgxvxcv</LongString>
Dimitre Novatchev. FXSL developer,
http://fxsl.sourceforge.net/ -- the home of FXSL Resume: http://fxsl.sf.net/DNovatchev/Resume/Res.html
__________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
_________________________________________________________________
NEU: Polyphone Klingeltöne und farbige Logos für Ihr Handy! http://polyphonetoene.handy.msn.de Jetzt Handy aufpeppen!
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Re: replacing parts of a stri, Dimitre Novatchev | Thread | [xsl] Re: replacing parts of a stri, Dimitre Novatchev |
[xsl] Re: Useful open-source XML/XS, yguaba | Date | Re: [xsl] FW: Using a processing in, David Carlisle |
Month |