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

On Sat, 7 May 2005, Bob Stayton wrote:

> Hi Tom,
> I meant for you to put the code snippet inside the template that handles
> your processing instruction:
> <xsl:template match="processing-instruction('pagebreak')">
>   <xsl:choose>
>   ...
> </xsl:template>

My print.xsl now has:

<!-- Page orientation and layout -->
<xsl:template match="processing-instruction('pagebreak')">
    <xsl:when test="parent::glossary and $glossary.as.blocks=0">
      <fo:list-item break-before="page">
      <fo:block break-before="page"/>
<!-- Used to be:
    <fo:block break-after="page"/>

> Also, you will need to add a namespace declaration to your customization
> stylesheet for the fo: namespace.  You can do that at the top of the file as
> described here:
> http://www.sagehill.net/docbookxsl/CustomMethods.html#WriteCustomization

I derived my print.xsl from a template that came with Debian.  It has had
this at the head:

<?xml version="1.0" encoding="UTF-8"?>
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.1"

> Hopefully this will work now.


I execute this:

xsltproc -o GemBook.fo --stringparam paper.type A4 --param
simplesect.in.toc 0 --stringparam glossary.as.blocks 0 print.xsl

The code in the print.xsl (see above) specifies break-before="page" now
(used to be break-after="page") and this now appears in the .fo for the
normal text, so the <xsl:choose> section is processed; but there are still
no pagebreaks in the glossary section.  This surprises me, even if the
condition is not met there should be an explicit <fo:block
break-after="page"/>.  Instead I get this in the .fo:

<fo:list-item space-before.optimum="1em" space-before.minimum="0.8em"
space-before.maximum="1.2em" id="Halfedelsteen"><fo:list-item-label
<fo:list-item-body start-indent="body-start()"><fo:block
space-before.optimum="1em" space-before.minimum="0.8em"

BTW, in the .fo file the whole glossary is on the same line as the last
page of the regular text.  In the fo version of regular text there are a
few hundred line breaks.

I insert the pagebreaks like this:

<glossentry id="abc">
<glossentry id="xyz">

Some more magic required?


	Tom Peters

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