Subject: Re: 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>
|