At 2003-02-24 15:14 +0200, Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com wrote:
> Ok, here's a part of a xsl file i wrote to create a
> transactions report:
>
> <!-- Iterate over all txns. -->
> <table border="0">
> <xsl:for-each select="report-root/txns">
> <xsl:sort select="cpmBI"/>
> <xsl:sort select="date"/>
Note, Jarno, the sorting that the original poster is doing.
Using xsl:for-each you don't; if you process the txns using a recursive
template construct, you can always pass the previous currCpmBI, but not
using xsl:for-each - it's *not* a for-loop like in, say, Java. Instead just do
<xsl:if test="cpmMemBI = previous-sibling::txns[1]/cpmMemBI">
This will visit the source node tree in document order, and not in sorted
order.
Unless I'm missing something (easily possible early on a Monday morning),
I'm not convinced a recursive template addressing nodes in document order
is going to quite address the poster's needs to know the "previous" node in
sorted order.
I hope this helps.
..................... Ken
--
Upcoming hands-on in-depth XSLT/XPath and/or XSL-FO
North America: June 16-20, 2003
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/m/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1 Practical Formatting Using XSL-FO
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/m/bc
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list