Subject: [xsl] Question on translate() function From: "Mailing Lists Mail daktapaal@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 25 Sep 2017 15:20:20 -0000 |
I am using the translate() for some operation looks like I am getting something I am not expecting .. Am I missing something? I am making the following call to the custom function : <xsl:value-of select="k7:replace-chars-in-string('if($xyz-(abc-bcd)')"/> Function definition .. <xsl:function name="k7:replace-chars-in-string"> <xsl:param name="string"/> <!--examples : $xxx, ,$xxx ($xxx $xxx) =$xxx $xxx= $xxx* *$xxx $xxx- -$xxx +$xxx $xxx+ $xx+$yy-$zz returns #xx or xx# or #x#yy# etc.. replaces the operators after/before the stringto '#' --> <xsl:value-of select="translate($string ,'()''+-*$=' , '#')"/> </xsl:function> What I get is : if#xyz#abcbcd What I was expecting / I want : if##xyz#abc#bcd# Thing that is perticularly bothering me is abcbcd and not abc#bcd My understanding about the translate() function is that the second param is the list of chars you want to replace, the third param is the char you want to replace with. SO I was hoping that ()''+-*$=b will all be replaced with # dakT
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] [offtopic] X is for XSLT, Christophe Marchand | Thread | Re: [xsl] Question on translate() f, Michael Kay mike@xxx |
Re: [xsl] [offtopic] X is for XSLT, Christophe Marchand | Date | Re: [xsl] Question on translate() f, Michael Kay mike@xxx |
Month |