[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XSLT/XSL-FO: How to get a special layout for the

Subject: Re: XSLT/XSL-FO: How to get a special layout for the first page of every chapter in a book
From: Tony Graham <Tony.Graham@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 25 Nov 2009 19:16:39 +0000
Re:  XSLT/XSL-FO: How to get a special layout for the
On Wed, Nov 25 2009 17:49:21 +0000, martsonjackin@xxxxxxxxx wrote:
> In my XML document, a new chapters is identified by a <CHAPTER> tag.

Transform each <CHAPTER> to a separate <fo:page-sequence> (containing a
<fo:flow> for the content of the chapter).

> I want the first page of every chapter to look different from the rest
> of the chapter pages (on the first page I want a bigger region-before
> size and the chapter name in region-before, but no chapter name on the
> rest of the pages).
>
> As far I understand, the solution may have something to do with
> fo:page-sequence-master, it seems to be able to assign a special
> page-master to the first page. I understand that I can identify the
> first page of the document this way, but how do I identify the first
> pages of the rest of the chapters? Don't I somehow have to make it
> react whenever a <CHAPTER> tag comes up, by invoking my "page-master
> for first pages"? How do I make it react on <CHAPTER> tags?

fo:page-sequence has a 'master-reference' property.  That can refer to
the 'master-name' property of either a fo:simple-page-master or a
fo:page-sequence-master.

If you refer to a fo:simple-page-master, then that's the layout that you
get for all the pages in the page-sequence.

If you refer to a fo:page-sequence-master, then you get to set up the
conditions under which the FO processor will pick particular page
masters.

If it's just the first page that's differerent, then the
fo:page-sequence-master [1] can contain a
fo:single-page-master-reference [2] that refers to the
fo:simple-page-master for the first page followed by a
fo:repeatable-page-master-reference [3] that refers to the
fo:simple-page-master for all the other pages.

You could achieve the same effect with fo:page-sequence-master
containing fo:repeatable-page-master-alternatives containing two
fo:conditional-page-master with different conditions, but it's not
really necessary when you have one page and then the rest all the same.

Regards,


Tony Graham                         Tony.Graham@xxxxxxxxxxxxxxxxxxxxxx
Director                                  W3C XSL FO SG Invited Expert
Menteith Consulting Ltd                               XML Guild member
XML, XSL and XSLT consulting, programming and training
Registered Office: 13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland
Registered in Ireland - No. 428599   http://www.menteithconsulting.com
  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
xmlroff XSL Formatter                               http://xmlroff.org
xslide Emacs mode                  http://www.menteith.com/wiki/xslide
Unicode: A Primer                               urn:isbn:0-7645-4625-2

[1] http://www.w3.org/TR/xsl11/#fo_page-sequence-master
[2] http://www.w3.org/TR/xsl11/#fo_single-page-master-reference
[3] http://www.w3.org/TR/xsl11/#fo_repeatable-page-master-reference

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.