Subject: [xsl] Re: Hmmmm.... translate function From: "Dimitre Novatchev" <dnovatchev@xxxxxxxxx> Date: Fri, 14 Mar 2003 22:50:27 +0100 |
"Karl Stubsjoen" <karl@xxxxxxxxxxxxx> wrote in message news:003701c2ea62$55b89550$0afc020a@xxxxxxxxxxxxxxxx > > Translate is on character basis, that is translating the character on > > the 2nd string to the character on the same position on the 3rd string. > > More characters you provide on 3rd string will just be ignored. > > Seems there's no convinient function in xsl to be found to solve your > > problem. You may want to combine substring-before and substring-after > > functions. > > Err... that stinks. With FXSL one will use the "str-map" template like this: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:replPlus="f:replPlus" > <xsl:import href="str-map.xsl"/> <xsl:output method="text"/> <!-- to be applied on any xml source --> <xsl:output omit-xml-declaration="yes" indent="yes"/> <xsl:template match="/"> <xsl:variable name="vTestMap" select="document('')/*/replPlus:*[1]"/> <xsl:call-template name="str-map"> <xsl:with-param name="pFun" select="$vTestMap"/> <xsl:with-param name="pStr" select="'X + Y + Z'"/> </xsl:call-template> </xsl:template> <replPlus:replPlus/> <xsl:template name="replPlus" match="replPlus:*"> <xsl:param name="arg1"/> <xsl:choose> <xsl:when test="$arg1 = '+'"> <xsl:value-of select="'%2B'"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$arg1"/> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> The result of applying this transformation on any xml.source (ignored) is to translate the "+" in "X + Y + Z" into "%2B": X %2B Y %2B Z ===== Cheers, Dimitre Novatchev. http://fxsl.sourceforge.net/ -- the home of FXSL XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Hmmmm.... translate funct, Mike Brown | Thread | Re: [xsl] Hmmmm.... translate funct, mark_fletcher |
RE: [xsl] how to get string value o, Lars Huttar | Date | [xsl] Re: how to get string value o, Dimitre Novatchev |
Month |