xsl-list
[Top] [All Lists]

RE: Working through a sorted nodeset 3 at a time

2004-07-09 17:58:56
Hi,

You have an incorrect expression in the select attribute of:

<xsl:apply-templates select="current()[position() mode 3 = 1"
mode="hits_page" /> 

--> '[position() mode 3 = 1' 
                    ^      ^
                    |      |

could be '[position() mod 3]'

But not '[position() mod 3 = 1]' not, as this would return a true or false
and would normally be used in a xsl:if test.

If your expression works correctly after having corrected it, I can't tell
because I don't know what the input XML is like.

Anyway, I hope this helps :-)

Cheers,
<prs/>

-----Original Message-----
From: lsl(_at_)btconnect(_dot_)com [mailto:lsl(_at_)btconnect(_dot_)com] 
Sent: Friday, July 09, 2004 5:36 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Working through a sorted nodeset 3 at a time

Hi,
 
I have some XSLT that looks like :

   <xsl:apply-templates select="DATA/ROWS/ROW" mode="sorted_list">
      <xsl:sort select="FIELD[(_at_)ID='1']/VALUE" order="ascending" />
    </xsl:apply-templates>

    <xsl:template match="ROW" mode="sorted_list">
        <xsl:apply-templates select="current()[position() mode 3 = 1" 
mode="hits_page" />
    </xsl:template>

    <xsl:template match="ROW" mode="hits_page">
        hits_page : <xsl:value-of select="." />
    </xsl:template>

I don't get anything output by the hits_page template.  I don't think using
'current()' is correct here, I've tried ".[position() ......]" (and a few
others) but this gives me 'invalid XPath expression'.

Hopefully there's just a bit of syntax I don't know about.

Thanks

Steve

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