OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [docbook-apps] force pagebreaks in a glossary

I'm assuming you are using FOP, and that the <?pagebreak?> processing
instruction outputs an emtpy fo:block with a break-before="page"  property,

The reason this doesn't work in a glossary is because the default formatting
for a glossary uses an fo:list-block, with a fo:list-item for each entry.
XSL-FO does not support putting an fo:block as a sibling of fo:list-item, so
it is being ignored (it should be flagged as an error, actually).  You will
have the same problem if you try to use it between DocBook listitem elements
in a list.

The simplest solution would be to set $glossary.as.block to 1, then the
output would be a sequence of fo:block elements instead of fo:list-items in
a fo:list-block container.  Then your empty fo:block would fit in between

But if you don't like how that looks, you could make the template that
processes the processing instruction context sensitive, and change what it
outputs.  For a glossary formatted as a list, you would need to output an
empty fo:list-item, as follows:

  <xsl:when test="parent::glossary" and $glossary.as.blocks = 0">
    <fo:list-item break-before="page">
    <fo:block break-before="page"/>

You'll have to experiment a bit to see if FOP will break on a fo:list-item,
or if you have to put that property on one of its descendents.  You also may
want to extend this to other list elements.

Bob Stayton
Sagehill Enterprises
DocBook Consulting

----- Original Message ----- 
From: "Tom Peters" <tpeters@xs4all.nl>
To: "docbook-apps" <docbook-apps@lists.oasis-open.org>
Sent: Thursday, May 05, 2005 3:47 PM
Subject: [docbook-apps] force pagebreaks in a glossary

> At various places in my book I force page breaks with:
> <?pagebreak?>
> as directive for xsltproc.
> However, this does not work between or within my <glossentry> list:
> frequently I get a <glossterm> at the bottom of a page that I can not
> force on the next page together with its <glossdef> part.
> What can I do about it?
> --
> Tom Peters
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]