[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Replacing strings


Subject: Re: [xsl] Replacing strings
From: Sven Waibel <sven.waibel@xxxxxxxx>
Date: Wed, 23 Nov 2005 16:30:16 +0100

Geert Josten schrieb:
> One easy optimisation is to convert your search string to lowercase (or
> upper if you prefer that) and search only for the lowercase version of
> the string..
If i convert it to lowercase, some other strings are also converted to
lowercase and i don't want to change other strings.
> 
> In XSLT 2.0 you can use regular expressions.
> 
> Regards,
> Geert
> 
> Sven Waibel wrote:
> 
>> Hello,
>>
>> i have a string that contains the value of CDATA field.
>>
>> The string may contain following string:
>> "Vorbedinung"
>> "vorbedingung"
>> "VORBEDINGUNG"
>> and many, many other strings.
>>
>> The strings should be replaced by "PRECONDITION".
>>
>> I'm using following code up to now, but so i can replace just one string.
>>
>> Does anybody know how to replace these strings?
>>
>> Thanks
>> Sven
>>
>> <xsl:template name="replace_precond">
>>     <xsl:param name="string" />
>>     <xsl:param name="from" select="'Vorbedingung'" />
>>     <xsl:param name="to" select="'PRECONDITION'" />
>>     <xsl:choose>
>>         <xsl:when test="contains($string, $from)">
>>             <xsl:value-of select="substring-before($string, $from)" />
>>             <xsl:copy-of select="$to" />
>>             <xsl:call-template name="replace_precond">
>>                 <xsl:with-param name="string"
>> select="substring-after($string,
>> $from)" />
>>                 <xsl:with-param name="from" select="$from" />
>>                 <xsl:with-param name="to" select="$to" />
>>             </xsl:call-template>
>>         </xsl:when>
>>         <xsl:otherwise>
>>             <xsl:value-of select="$string" />
>>         </xsl:otherwise>
>>     </xsl:choose>
>> </xsl:template>


Current Thread
Keywords