Replace functionality using XSLT


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

Explanation:
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:choose>
    <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:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select=$text />
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>
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=‘-‘ />
  </xsl:call-template>
</xsl:variable>
Now if we print the value of  myVarthen it will be This-is-a-sample-text-with-space
But if you like to replace only one character then you can use translatethe 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.

 

Subscribe For Latest Updates

Signup for our newsletter and get notified when we publish new articles for free!