This is correct. sub is not an element, it will therefore only find and
replace once.
What you need is a recursive call that will keep recursing till there
are no more instances of {sub}.
There are a number of examples of similar situations on the mailing list.
Cheers.
Kamal.
T Uma Shankari wrote:
Greetings to all,
I have to find a word and replace that word with another word.
for example if my xml file is like this means
<question page="6" Queswav="" ChooseType="" id="0" Qno="533"
chapter="chapter1" >
<stmt1 mgif1="" mgif="" Qno="533" misc="" >statement1</stmt1>
<opt ptno="1" mgif1="" mgif="" " misc=""
{sub}2{/sub}Option1{sub}5{/sub}</opt>
<opt ptno="1" mgif1="" mgif="" " misc="" >Option2</opt>
<opt ptno="1" mgif1="" mgif="" " misc="" >Option3</opt>
<opt ptno="1" mgif1="" mgif="" " misc="" >Option4</opt>
</question>
i need to find the {sub} and replace it with {/sub} so i have written
this code.
xsl:template match="question" name="main">
<xsl:for-each select="self::question">
<xsl:variable name="stringques1">
<h1><b><xsl:value-of select="opt" /></b></h1>
</xsl:variable>
<xsl:variable name="stringques2">
<xsl:choose>
<xsl:when test="(contains($stringques1,'{sub}'))">
<xsl:value-of select="substring-before($stringques1,'{sub}')"/>
<sub>
<xsl:value-of
select="substring-before(substring-after($stringques1,'{sub}'),'{/sub}')"/>
</sub>
<xsl:value-of select="substring-after($stringques1,'{/sup}')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$stringques1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
It is replacing the first occurance not the oncoming occurance. Can
anyone please tell where i am wrong?
regards
uma
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--