[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: counter
> <xsl:template match="root"> > <xsl:apply-templates select="item[position() mod $cntr = 1]"/> > </xsl:template> > > <xsl:template match="item"> > <xsl:for-each select=". | following-sibling::item[position() < $cntr]"> > Item <xsl:value-of select="."/> > </xsl:for-each> > </xsl:template> I don't see why Mike Kay took the approach he did. If I understood the problem, this xsl:for-each and following-sibling:: business doesn't seem at all as efficient as: <!-- when processing the root node, go process *all* item element children --> <xsl:template match="root"> <xsl:apply-templates select="item"/> </xsl:template> <!-- when processing an item element, do something --> <xsl:template match="item"> Item <xsl:value-of select="."/> <!-- if this item's position is evenly divisible by $cntr, follow it with a page break that is numbered (position divided by $cntr) --> <xsl:if test="position() mod $cntr = 0"> -----page break #<xsl:value-of select="position() div $cntr"/>----- </xsl:if> </xsl:template> - Mike ____________________________________________________________________ Mike J. Brown, software engineer at My XML/XSL resources: webb.net in Denver, Colorado, USA http://www.skew.org/xml/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|