Re: [xsl] String cleaning in XSLT and XQuery

Subject: Re: [xsl] String cleaning in XSLT and XQuery
From: Martin Honnen <Martin.Honnen@xxxxxx>
Date: Tue, 21 Dec 2010 12:14:30 +0100
James Cummings wrote:

<xsl:function name="jc:cleanString" as="xs:string">
     <xsl:param name="string"/>
     <xsl:variable name="cleanedString">
     <xsl:analyze-string select="lower-case(normalize-space($string))"
         <xsl:matching-substring><xsl:value-of select="translate(., '
', '_')"/></xsl:matching-substring>
     <xsl:value-of select="$cleanedString"/>

a) Am I doing this in a good way? Anything I've overlooked? (Always
happy to get tips on making things that already work better!)

Doesn't using the replace function suffice for your requirement?
translate(replace(lower-case(normalize-space($string)), '[^a-z0-9\s]+', ''), ' ', '_')


	Martin Honnen

Current Thread