RE: [xsl] TOC despair

Subject: RE: [xsl] TOC despair
From: "Christopher Hearns" <chearns@xxxxxxxxxx>
Date: Wed, 3 Dec 2003 19:03:32 -0500
Actually, I think there are a couple more pitfalls as well. Because if your section orders were reveresed in your example, if African Elephants came after Indian Elephants, then you'd end up with a break before Serengeti.

So to add my input:

<xsl:template match="chapter/section">
  <
  <xsl:if test="position() = last() and not(child::section)">

and then call the 

christopher hearns, Esq.
let me touch your perfect body with my mind
http://www.countplusplus.ca


-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Binkley,
Peter
Sent: Wednesday, December 03, 2003 18:50
To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'
Subject: RE: [xsl] TOC despair


How about test="position() = last()" in the "section" template? You might
also need to test whether the parent is a chapter instead of another
section.

Peter


> -----Original Message-----
> From: Gustaf Liljegren [mailto:gustaf.liljegren@xxxxxxxxxxxx] 
> Sent: Wednesday, December 03, 2003 4:43 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] TOC despair
> 
> 
> This shouldn't be hard, but I can't get it right. I'll try to 
> give enough info. The XML structure looks something like this:
> 
> <book>
>   <chapter>
>     <section>
>       <section/>
>     </section>
>   </chapter>
> </book>
> 
> One section may contain other sections an so on. The problem 
> is in the TOC generation, where I want a little space after 
> each chapter, like so:
> 
> Chapter 1: Elephants....................2  <-- chapter
> African Elephants.......................2  <-- chapter/section
>   Serengeti.............................3  <-- 
> chapter/section/section Indian 
> Elephants........................4  <-- chapter/section
>                                            <-- space here, 
> please Chapter 2: Tigers.......................5
> 
> How do I say in XPath "the last section in this chapter"? 
> Here's my try, that won't work:
> 
> <xsl:template match="section" mode="toc">
>   ...
>   <xsl:if test="count(following::section) = 0">
>     <xsl:attribute name="margin-bottom">1em</xsl:attribute>
>   </xsl:if>
>   ...
> </xsl:template>
> 
> Thanks,
> 
> Gustaf
> 
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread