« XSLT to strip HTML | Home | XSLT to trim the string »
XSLT to trim the string to the last character
<xsl:template name="trim_to_last_char">
<xsl:param name="value"/>
<xsl:param name="search_char"/>
<xsl:param name="is_subroutine" select="'0'"/>
<xsl:choose>
<xsl:when test="contains($value,$search_char)">
<xsl:value-of select="substring-before($value,$search_char)" disable-output-escaping="yes"/>
<xsl:if test="contains(substring-after($value,$search_char),$search_char)">
<xsl:value-of select="$search_char"/>
<xsl:call-template name="trim_to_last_char">
<xsl:with-param name="value" select="substring-after($value,$search_char)"/>
<xsl:with-param name="search_char" select="$search_char"/>
<xsl:with-param name="is_subroutine" select="'1'"/>
</xsl:call-template>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$is_subroutine = '0'">
<xsl:value-of select="$value" disable-output-escaping="yes"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:param name="value"/>
<xsl:param name="search_char"/>
<xsl:param name="is_subroutine" select="'0'"/>
<xsl:choose>
<xsl:when test="contains($value,$search_char)">
<xsl:value-of select="substring-before($value,$search_char)" disable-output-escaping="yes"/>
<xsl:if test="contains(substring-after($value,$search_char),$search_char)">
<xsl:value-of select="$search_char"/>
<xsl:call-template name="trim_to_last_char">
<xsl:with-param name="value" select="substring-after($value,$search_char)"/>
<xsl:with-param name="search_char" select="$search_char"/>
<xsl:with-param name="is_subroutine" select="'1'"/>
</xsl:call-template>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$is_subroutine = '0'">
<xsl:value-of select="$value" disable-output-escaping="yes"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Topics: XSLT | Submitter: admin
Comments
You must be logged in to post a comment.