At 2004-01-30 13:25 -0500, you wrote:
What I'm trying to do is: if there is more than one consecutive warning
the first para of each warning needs a bullet. This is working but once
it processes that, it repeats the second and third warning again and
then the third one again before continuing.
...
<xsl:template name="warning-list">
...
<xsl:variable name="next" select="following-sibling::*[1]"/>
<xsl:for-each select="$next[self::warning]">
<xsl:call-template name="warning-list"/>
The above will process all warnings, one at a time, walking to each
immediately following sibling until there are no immediately following
sibling warnings.
<xsl:template match="warning">
This fires for all warnings.
<xsl:choose>
<xsl:when test="following-sibling::warning">
And looks at *all* following siblings for *any* warnings, not just the
immediately following sibling ...
<fo:block text-indent="2cm" font-weight="bold" font-size="12pt"
text-decoration="underline" text-align="center"
keep-with-next.within-page="always"
keep-with-previous.within-page="always" space-after="4mm">
<xsl:text>WARNINGS</xsl:text>
</fo:block>
<fo:block>
<xsl:call-template name="warning-list"/>
... and displays all adjacent siblings.
Can anyone tell me how to
get it to stop after the last warning in a group and move on? I'm stuck.
Perhaps if your first <xsl:when> in your choose was something along the
lines of "do nothing for preceding-sibling::*[1][self::warning]" using an
empty template since the warning being processed would already have been
processed the first time around?
I hope this helps.
........................... Ken
--
Public courses: sign up for one or both soon to reserve your seat!
Each week: Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO
Washington, DC: 2004-03-15 San Francisco, CA: 2004-03-22
Hong Kong, China: 2004-05-17 Bremen, Germany: 2004-05-24
World-wide on-site corporate, government & user group XML training
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list