Re: [xsl] XSL FO TOC for an indexing document

Subject: Re: [xsl] XSL FO TOC for an indexing document
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 15 Mar 2009 23:27:52 +0100
At 2009-03-15 14:00 -0700, Mark Wilson wrote:
All of the XSL FO TOC generating examples I have seen are keyed to the structural parts of a book (a chapter element, etc) or some similar object. I have constructed an index to a journal using XSL-FO and would like to have a TOC that indicates the initial use of each letter of the alphabet, or some useful refinement thereof. For a start, how would I identify the position in the index where a letter was used for the first time.

I think that is the wrong question to ask when working with XSL-FO. You need to work top-down.


If it would help, here is a draft copy of the document: http://www.knihtisk.org/library/specialist/headings.pdf.

The initial occurrence of a letter , as well as every other occurrence, will appear in the XML element <Heading>. For the letter 'A', this is the first entry in the above document <Heading>Abbeys and Monasteries</Heading>. Since every entry appears in the same element type, how do I distinguish 'interesting' <Heading> elements (those with an initial occurrence of a letter) from their less interesting cousins (those with later occurrences)?

<xsl:for-each-group select="....population.here..." group-by="upper-case(substring(normalize-space(.),1,1)"> <!--now at the first one of the population with the first letter--> <fo:block font-size="150%" font-weight="bold"> <!--show the letter--> <xsl:value-of select="current-grouping-key()"/> </fo:block> <!--all those with the first letter are in current-group()--> <!--create your index entries here with those in the current-group()--> </xsl:for-each-group>

I hope this helps.

. . . . . . . . . . Ken

--
XSLT/XSL-FO/XQuery training in Los Angeles (New dates!) 2009-06-08
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread