|
Subject: Re: counter From: Mike Brown <mike@xxxxxxxx> Date: Wed, 21 Jun 2000 10:16:07 -0600 (MDT) |
> <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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: counter, Nick Browne | Thread | Re: counter, Jeni Tennison |
| XSL-fo to SVG, Jon Smirl | Date | Re: counter, Jeni Tennison |
| Month |