Hi,
> <xsl:param name="string"/>
>
> <xsl:template match="LIST">
> <xsl:for-each select="THEME[contains(@label,$string)]">
> <xsl:value-of select="@label"/><br/>
> <xsl:for-each/>
> </xsl:template>
>
> So the problem is that this engine is not really performant :
> if as user i
> search "Bla" it won't find it because of the case "B" instead
> of "b". Is it
> possible to say IgnoreCase in xsl ?
No, you have to use an extension or use translate($text, 'ABCDEFG...', 'abcdefg...').
> The other (bigger) problem is that if the user write many
> words (with spaces
> in between) "bla blo", the it will looks for this exact
> string whereas i'd
> like it to search for bla OR blo. Is there a way to make it in xsl ? a
> special function ?
A recursive template. Tokenize the query string, and test each token individually.
> PS : in my project, i generate the whole Path
> "THEME[contains(@label,$string)]" with asp and this is the
> string parameter
> i send to the xsl and then i do : <xsl:for-each
> select="dyn:evaluate(.,$string)"> (evaluate is a function from the dyn
> namespace which calculate the xPath expression. Maybe i could make an
> traitment direct in the aps page to do what i want ?
Umm... why don't you just use the expression THEME[contains(@label,$string)] and pass query string in with $string? I must be missing something here; wish I could say "Well, I am psychic, you know" like she can.
Cheers,
Jarno - Bruderschaft: Forever (Darkness Pulls Me Under Remix by State of the Union)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|