This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Creating Headers in XSL:FO that correspond to chapter numbers
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: Re: [xsl] Creating Headers in XSL:FO that correspond to chapter numbers
- From: "Frank Chen" <frank63 at ms5 dot hinet dot net>
- Date: Sat, 28 Jul 2001 11:24:21 +0800
- References: <Pine.SGI.4.21.0107261014430.8426-100000@jasmine.cs.utah.edu>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hello, Aadel:
You can see XSL 1.0 Spec, 6.4.2. There is a note for your problem. It
suggests that
each chapter in a separate fo:page-sequence to allow chapter title to place
in the
header region, for content in fo:static-content should be "static."
Frank
----- Original Message -----
From: "Aadel Chaudhuri" <aadel@cs.utah.edu>
To: <XSL-List@lists.mulberrytech.com>
Sent: Friday, July 27, 2001 12:15 AM
Subject: [xsl] Creating Headers in XSL:FO that correspond to chapter numbers
>
> I have recently been converting an installation guide written in xml to a
> pdf document using the xsl:fo translating language. I am fairly new
> to both xsl and fo, so please excuse the possible naivety of my questions.
> I am writing to ask for advice on placing chapter numbers on page headings
> corresponding to pages within those chapters.
>
> The XML document that I'm using has been summarized below:
>
> <book>
> <title>
> text
> </title>
> <chapter>
> <title>titleval1</title>
> <body>text</body>
> </chapter>
> <chapter>
> <title>titleval2</title>
> <body>....</body>
> </chapter>
> <chapter>
> <title>titleval3</title>
> <body>....</body>
> </chapter>
> </book>
>
> In my xsl, I'd like to have a header that displays both the title
> of the book, and the chapter number. Here is a clip of code
> from my xsl that displays the header:
>
> <fo:static-content flow-name="xsl-before">
> <fo:block text-align-last="centered" font-size="10pt">
> <xsl:value-of select="title" />
> <xsl:text>/Chapter </xsl:text>
> <!-- Commands for Chapter Number go here -->
> </fo:block>
> <fo:display-rule />
> </fo:static-content>
>
> I number my chapters using the <xsl:number /> function. I'll give
> you a better idea of how I do this by displaying a piece of my
> <xsl:template match="chapter"> template, which shows the code behind
> chapter cover pages:
>
> <xsl:if test="@pagebreak='yes'">
> <fo:block break-before="page" font-size="30pt"
> space-before.optimum="125pt" text-align-last="centered"
> line-height="40pt" font-weight="bold">
> <xsl:text>Chapter </xsl:text>
> <xsl:number />
> </fo:block>
> </xsl:if>
> <xsl:if test="not(@pagebreak='yes')">
> <fo:block font-size="30pt" space-before.optimum="125pt"
> text-align-last="centered" line-height="40pt" font-weight="bold">
> <xsl:text>Chapter </xsl:text>
> <xsl:number/>
> </fo:block>
> </xsl:if>
>
> I'm finding it difficult to display the current chapter number in the
> header since there doesn't seem to be a way for me to conditionalize
> the header based on page number. If there is a page-number-position
> function, I can tell the header to display different chapter numbers
> depending on the page its on.
>
> A more robust way (in terms of code) of displaying chapter numbers would
> involve finding a way to communicate to the header the chapter that is
> currently being displayed in the region-body. Although this seems
> rather simple, variations of the <xsl:for-each> and <xsl:value-of select>
> functions have left me with few results. I have only found ways to
> display one chapter number throughout the entire installguide, or
> all three chapter numbers together (123) throughout the guide.
>
> I greatly appreciate any help you can give me. Thank you in advance.
>
> Sincerely,
>
> Aadel Chaudhuri
>
> Scientific Computing and Imaging (SCI) Institute
> MIT Undergrad Student
>
>
>
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list