xsl-list
[Top] [All Lists]

Re: [xsl] String cleaning in XSLT and XQuery

2010-12-21 05:14:56
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))"
regex="[a-zA-Z0-9\s]+">
         <xsl:matching-substring><xsl:value-of select="translate(., '
', '_')"/></xsl:matching-substring>
         <xsl:non-matching-substring/>
     </xsl:analyze-string>
     </xsl:variable>
     <xsl:value-of select="$cleanedString"/>
  </xsl:function>

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
        http://msmvps.com/blogs/martin_honnen/

--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>