RE: [xsl] Deleting a blank page after a last element

Subject: RE: [xsl] Deleting a blank page after a last element
From: <Jarno.Elovirta@xxxxxxxxx>
Date: Thu, 25 Aug 2005 08:45:08 +0300
Hi,

> > I've the following template in the style sheet
> >
> > <xsl:template match="Section">
> >        <fo:block keep-together="always"
> > break-after="page" white-space-collapse = "false">
> >         <xsl:apply-templates select="SectionName"/>
> >        	<xsl:apply-templates select="SectionHeader"/>
> >        	<xsl:apply-templates select="Question"/>
> > 	   </fo:block>
> >  </xsl:template>
> >
> > I'm using a break-after="page" to force a page break,
> > as  my requirement is that each section starts on a
> > new page. But this is forcing a blank page after the
> > last section. Is there any way to remove that?
>
> Don't generate the break-after formatting property on the
> last Section.
>
> <fo:block keep-together="always" white-space-collapse = "false">
>   <xsl:if test="not(position() = last())">
>     <xsl:attribute name="break-after">page</xsl:attribute>
>   </xsl:if>
>   ...

(It's too early to think, but) of course this only applies if the Section
element being processed is the last node in the context. Use e.g.

  <xsl:if test="following::Section">

to make sure the current Section is the last section in the document.

Cheers,

Jarno

--
Andy Vinal: Andy Vinal & Dan Devotion get 'Lost In Hardcore'
<http://www.nuenergy.co.uk/new/musicEvents/djMixDetail.php?id=42>

Current Thread