[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
At 2004-01-30 13:25 -0500, you wrote:
The above will process all warnings, one at a time, walking to each immediately following sibling until there are no immediately following sibling warnings.
This fires for all warnings.
And looks at *all* following siblings for *any* warnings, not just the immediately following sibling ...
... and displays all adjacent siblings.
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
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Re: [xsl] Double processing
Subject: Re: [xsl] Double processing From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Fri, 30 Jan 2004 14:11:34 -0500 |
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@xxxxxxxxxxxxxxxxxxxx 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
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Double processing, Norma Yeazell | Thread | RE: [xsl] Double processing, Norma Yeazell |
[xsl] Template to return number of , cknell | Date | RE: [xsl] exclude-result-prefixes p, Michael Kay |
Month |
Keywords