Subject: RE: Eliminating duplicate search results
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Sun, 10 Feb 2008 21:55:27 -0000
|
> . Now, for each occurrence of a search query value within an element
<regel>
> (line) I want to see the contents of the parent element
> <titel> (title).
I think that's exactly what your query does; but it doesn't seem to be what
you really want.
>
> This, I succeed in, using this XSL:
>
> ------------------------------------------------------------
> <xsl:for-each select="strofen/regel">
> <xsl:variable name="line" select="."/>
> <xsl:variable name="linelow"
> select="translate($line,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefgh
> ijklmnopqrstuvwxyz')"/>
> <xsl:if test="contains($linelow,$querylow)">
> <xsl:copy-of select="../../titel" />
> <br />
> </xsl:if>
> </xsl:for-each>
> ------------------------------------------------------------
>
> . However, this returns 1 title for each line containing the
> query.
It looks as if your real requirement is
<xsl:if test="strofen/regel/line[contains(lower-case(.), $querylow]">
<xsl:value-of select="titel"/>
</xsl:if>
(where you can replace lower-case() by your translate call if you are using
XSLT 1.0)
Michael Kay
http://www.saxonica.com/
|