xsl-list
[Top] [All Lists]

RE: Alternate page-sequences

2003-04-22 09:30:33
Hello Ken!

Thanks a lot for helping me. I still have some problems. 

I need different region-bodies, not only different layouts on odd and even 
pages. So, I gave different names to regio-bodies in simple-page-master, as you 
said:
                        <fo:simple-page-master page-height="297mm" 
page-width="210mm"
                                        margin-top="5mm"
                                        margin-bottom="5mm"
                                        margin-left="12mm"
                                        margin-right="2mm"
                                        master-name="OddPageMaster">
                                <fo:region-body region-name="odd-region-body" 
margin-top="1cm" margin-bottom="2cm"/>
                                <fo:region-before extent="1cm"/>
                                    <fo:region-after extent="2cm"/>
                        </fo:simple-page-master>

                        <fo:simple-page-master page-height="297mm" 
page-width="210mm"
                                        margin-top="5mm"
                                        margin-bottom="5mm"
                                        margin-left="12mm"
                                        margin-right="2mm"
                                        master-name="EvenPageMaster">
                                <fo:region-body region-name="even-region-body" 
margin-top="4cm" margin-bottom="2cm"/>
                                <fo:region-before extent="4cm"/>
                                    <fo:region-after extent="2cm"/>
                        </fo:simple-page-master>
--------------------------
If I keep only one page-sequence, I get the output, odd pages have data (which 
is good), and even pages are blank.
-------------------------- 
I have to create two different flows, so I think I need two page-sequences (do 
I?):

                <fo:page-sequence master-reference="PageMaster">
                        <fo:flow flow-name="odd-region-body">
                                <xsl:for-each select="..........">
                                        <xsl:for-each select="......">
<!--body for odd pages-->
                                                        <fo:block>odd</fo:block>
                                        </xsl:for-each>
                                </xsl:for-each>
                        </fo:flow>
                </fo:page-sequence>
                

                <fo:page-sequence master-reference="PageMaster">
                        <fo:flow flow-name="even-region-body">
                                <xsl:for-each select=".....">
                                        <xsl:for-each select=".....">
<!--body for odd pages-->
                                                        
<fo:block>even</fo:block>
                                        </xsl:for-each>
                                </xsl:for-each>
                        </fo:flow>
                </fo:page-sequence>     

But, when I run Apache FOP, I get the following error:

        No flow found for region-body in page-master 'EvenPageMaster'
        No flow found for region-body in page-master 'OddPageMaster'

What I am doing wrong?
Thanks again,
Roxana

-----Original Message-----
From: G. Ken Holman [mailto:gkholman(_at_)CraneSoftwrights(_dot_)com]
Sent: Tuesday, April 22, 2003 10:49 AM
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Alternate page-sequences


At 2003-04-22 10:25 -0400, Roxana Constandes wrote:
I have to create a report that has diferrent flows on odd and even pages. 
I am trying to create two page sequences and alternate them.

You are *really* close, Roxana,

Here is a stylesheet (simplified):
                <fo:layout-master-set>
                        <fo:simple-page-master ...
                                        master-name="OddPageMaster">
                                <fo:region-body margin-top="1cm" 
margin-bottom="2cm"/>
                                <fo:region-before extent="1cm"/>
                                    <fo:region-after extent="2cm"/>
                        </fo:simple-page-master>

                        <fo:simple-page-master ...
                                        master-name="EvenPageMaster">
                                <fo:region-body margin-top="4cm" 
margin-bottom="2cm"/>
                                <fo:region-before extent="4cm"/>
                                    <fo:region-after extent="2cm"/>
                        </fo:simple-page-master>

The above is fine, except you are using the same implicit names for each of 
the regions.  If you want alternating *content* in those regions, you'll 
need to declare specific (and different) names for the regions with 
different content.

However, if you are only playing with margins, the above is just fine.

                        <fo:page-sequence-master master-name="PageMaster">
                                <fo:repeatable-page-master-alternatives>

<fo:conditional-page-master-reference master-reference="OddPageMaster"

page-position="any" odd-or-even="odd" />

<fo:conditional-page-master-reference master-reference="EvenPageMaster"

page-position="any" odd-or-even="even" />
                                </fo:repeatable-page-master-alternatives>
                        </fo:page-sequence-master>
                </fo:layout-master-set>

Everything above is also just fine for alternating the geometries.

                <fo:page-sequence master-reference="OddPageMaster">
...
                <fo:page-sequence master-reference="EvenPageMaster">
...
But it doesn't work.
 First, I get all pages for OddPageMaster (on both odd and even pages) 
and then I get the output for EvenPageMaster.

Which is *exactly* what you asked for.

What I want is to alternate them.

Then all you need is to do is ask that the page-sequence obtain its 
geometries from the page-sequence-master and *not* from the page geometry 
declarations:

                 <fo:page-sequence master-reference="PageMaster">

And you will only need one of these since that page sequence master is 
obtaining the evens and odds for you.

I hope this helps.

.......................... Ken



--
Upcoming hands-on courses:   Europe (XSLT/XPath):    May  5, 2003
-                            Europe (XSL-FO):        May 16, 2003
- (XSLT/XPath and/or XSL-FO) North America:      June 16-20, 2003

G. Ken Holman                mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.         http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0   +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6                      Definitive XSLT and XPath
ISBN 0-13-140374-5                              Definitive XSL-FO
ISBN 1-894049-08-X  Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1              Practical Formatting Using XSL-FO
Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>