xsl-list
[Top] [All Lists]

RE: Just the first 'x' elements within a for-each

2003-03-17 10:57:18
[Simon(_dot_)Fairey(_at_)ft(_dot_)com]

I've tried numerous connotations of for-each loops, recursive 
functions 
etc but for the life of me I can't seem to get something 
which will only 
print/process the first 'x' (in my case x is 2) elements and 
then bail out 
of the for-each or just simply ignore the remaining ones found.


This is a good chance for you to start getting into XSLT-think mode.
Instead of limiting a loop, think of selecting just the elements you
want.  The simplest example is to put this into a template -

   <xsl:apply-templates select='element-to-work-with[3 > position()]'/>

Here you select just the first two nodes, and so whatever template
processes them only ever sees those two nodes to work on.

The most common and fundamental thing one usually does in xslt is to
select a set of nodes to work with.  Therefore, think carefully about
how to select exactly the nodes you want.

[Note that the sense of the test is reversed to avoid having to write
&lt;, which will work fine  but is harder to read]

Cheers,

Tom P

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list