Subject: RE: [xsl] xsl search engine From: Jarno.Elovirta@xxxxxxxxx Date: Wed, 17 Mar 2004 09:13:52 +0200 |
Hi, > When I have the time I'll try to perfect it, I didn't manage > to get out of > the problem of Case and accents : > it's harder then just add translate($text, 'ABCDEFG...éèê', > 'abcdef...eee') > on every contains() and most of all it's hard to get the > result with the > original case at the end. Doing case-insensitive operations in XSLT isn't easy. Anyhow, you can put the uppercase and lowercase strings into variables $u and $l, that will make the code a tad more readable. > Other thing is that the @label contains twice the searched > expression then > it will will be display once (that was a last problem) BUT it > will highlight > only the first occurence... Oh yeah. Just make the template a bit less greedy <xsl:template name="highlight"> <xsl:param name="label" select="@label"/> <xsl:param name="text" select="normalize-space($string)"/> <xsl:choose> <xsl:when test="contains($text, ' ')"> <xsl:variable name="current" select="substring-before($text, ' ')"/> <xsl:choose> <xsl:when test="contains($label, $current)"> <xsl:call-template name="highlight"> <xsl:with-param name="label" select="substring-before($label, $current)"/> <xsl:with-param name="text" select="$text"/> <!-- change this --> </xsl:call-template> <em> <xsl:value-of select="$current"/> </em> <xsl:call-template name="highlight"> <xsl:with-param name="label" select="substring-after($label, $current)"/> <xsl:with-param name="text" select="$text"/> <!-- change this --> </xsl:call-template> </xsl:when> i.e. don't move on to the next token once a match is found, but rather continue with that same token until it's not found. The rest of the template is the same. Cheers, Jarno - Tactical Sekt: Xfixiation (Hellfire mix by [:SITD:] ) XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] xsl search engine, Ricaud Matthieu | Thread | RE: [xsl] xsl search engine, Ricaud Matthieu |
Re: [xsl] Problem with grouping mul, James A. Robinson | Date | RE: [xsl] Removing leading zeros fr, Andrew Welch |
Month |