Subject: Re: [xsl] replace a word From: Kamal Bhatt <kbhatt@xxxxxxxxx> Date: Tue, 13 Dec 2005 16:44:49 +1100 |
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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] replace a word, T Uma Shankari | Thread | [xsl] Xalan's DLL file fails loadin, Willemsz, Mervin |
[xsl] Merging documents with simila, Troye Stonich | Date | RE: [xsl] Conditional tagging in xs, Jan Eden |
Month |