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

Subject: RE: [xsl] Just the first 'x' elements within a for-each
From: "Passin, Tom" <tpassin@xxxxxxxxxxxx>
Date: Mon, 17 Mar 2003 12:57:18 -0500
[Simon.Fairey@xxxxxx]
> 
> 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


Current Thread