Replace functionality using XSLT


In my previous article I have explained about Read cookies value using Asp.Net. In this article I am going to explain the replace functionality using xslt.

I need to replace space with – symbol in my input. So I wrote a below template to do this operation.
<xsl:template name="string-replace-all">
  <xsl:param name="text" />
  <xsl:param name="replace" />
  <xsl:param name="by" />
    <xsl:when test="contains($text, $replace)">
      <xsl:value-of select="substring-before($text,$replace)" />
      <xsl:value-of select="$by" />
      <xsl:call-template name="string-replace-all">
        <xsl:with-param name="text"
        select="substring-after($text,$replace)" />
        <xsl:with-param name="replace" select="$replace" />
        <xsl:with-param name="by" select="$by" />
      <xsl:value-of select="$text" />

Now I have called the function like below mentioned.
<xsl:variable name="myVar">
  <xsl:call-template name="string-replace">
    <xsl:with-param name="text" select="'This is a sample text with space'" />
    <xsl:with-param name="replace" select="' '" />
    <xsl:with-param name="by" select="'-'" />

Now if we print the value of  myVar then it will be This-is-a-sample-text-with-space

But if you like to replace only one character then you can use translate the method instead of the above method. Below is the sample code.

<xsl:value-of select="translate(Productservicename,' ','')"/>

Please note that method translate will replace only one character.

Do you like this article? Help us to improve. Please post your comments below.


Post a Comment

Online Casino