This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [docbook-apps] FO pagebreak


Thomas.Gier@imperia.net wrote:

Danny Kruitbosch wrote:


Hi,




[...snip...]




So I have a few questions:
1. Is putting <?dbfo break-before="page"?> in my document enough or do I





need to do more?
2. If I need to do more (write a xsl template?) what's the best way to do this without breaking the docbook xsl templates.
3. Can someone provide me with a working example for this. There seem to





be none available (remember I'm new to this).

Any help would be great,



Hi Danny,


Q1.
Add the following to your customization layer:

<!-- <?custom-pagebreak?> inserts a page break at this point -->
<xsl:template match="processing-instruction('custom-pagebreak')">
 <fo:block break-before='page'/>
</xsl:template>

Inside your XML documents you now add

<?custom-pagebreak?>

where you want to add a page break.

Q2.
You create a customization layer simply by changing attributes and parameters in an XSL stylesheet outside the docbook tree where you import the fo/docbook.xsl stylesheet but override the default settings there with the ones in your stylesheet(s).


Q3.
There is an excellent documentation (which you perhaps have already) by Bob Stayton which is available online at


http://www.sagehill.net/docbookxsl/

A paperback or eBook version is available at

http://www.sagehill.net/book-purchase.html

I assume your tool chain already works and I try to give you an example. Create a XSL file, add the following

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; xmlns:fo="http://www.w3.org/1999/XSL/Format";
version="1.0">


<xsl:import ref="/path/to/docbook-xsl/fo/docbook.xsl"/>

</xsl:stylesheet>

and replace "/path/to/docbook-xsl" with your path.

Inside the xsl:stylesheet-tag you now may add your customizations which override the default values set up in the docbook-xsl stylesheets.

If you add

 <xsl:param name="paper.type" select="'A5'"/>
 <xsl:param name="double.sided">1</xsl:param>

you change the paper type to A5 and switch to double sided layout (this file would also be the right place for the custom page break from Q1 :-) ...).

Then you use this stylesheet to create FO. It imports docbook.xsl and adds your customized parameters. There are lots and lots of parameters and attributes to change the layout of your PDFs. And this mailing list is an infinite ressource of tips and help.

It is not easy to provide a working example because you first have to decide which tool chain you want to use and then set up these tools accordingly. But I think the first three chapters of Bobs book will give you a very good overview and introduction into docbook-xsl.


HTH
Thomas Gier
Technical Writer
Cologne/Germany


To unsubscribe from this list, send a post to docbook-apps-unsubscribe@lists.oasis-open.org, or visit http://www.oasis-open.org/mlmanage/.



Thomas,

Works like a charm!
Thanks!

Danny


To unsubscribe from this list, send a post to docbook-apps-unsubscribe@lists.oasis-open.org, or visit http://www.oasis-open.org/mlmanage/.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]