[xsl] Recursive Replacement of the Escapes

Subject: [xsl] Recursive Replacement of the Escapes
From: Senthilkumaravelan Krishnanatham <senthil@xxxxxxxxx>
Date: Tue, 14 Nov 2006 09:21:10 -0800
Hi All,
I have difficulty in recursive replacement of escapes.

Input content
<?xml version="1.0" encoding="UTF-8"?>
<content name="subject"><html>Hello [[BUYERS_NAME]] <p>REF Order [WEB_ORDER_NUMBER]</p></html></ content>

<!--Line Items-->

Desired output
<?xml version="1.0" encoding="UTF-8"?>
<content name="subject">Hello Senthil<p> REF Order W12345 </p></ html></ content>

I tried the below mentioed XSL and it is not producing the output I wanted.
It replaces the first escape not the subsequent ones.

Please help me to resolve the same.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/ Transform">

<xsl:output method="html" indent="yes" />

<xsl:template match="/broadcast">
   <xsl:apply-templates select="content_vars/content" />

<xsl:template match="content">
<xsl:variable name="temp1" select="translate(., '[]', '')" />
<xsl:variable name="temp2" select="//*[not(*)][contains($temp1,
local-name())]" />
<xsl:variable name="temp3"
select="local-name(//*[not(*)][contains($temp1, local-name())])" />
  <xsl:value-of select="substring-before($temp1, $temp3)"
/><xsl:value-of select="$temp2" /><xsl:value-of
select="substring-after($temp1, $temp3)" />


Current Thread