[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Alternate page-sequences


Subject: RE: [xsl] Alternate page-sequences
From: "Roxana Constandes" <Roxana.Constandes@xxxxxxxxxxx>
Date: Tue, 22 Apr 2003 12:30:33 -0400

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@xxxxxxxxxxxxxxxxxxxx]
Sent: Tuesday, April 22, 2003 10:49 AM
To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxx
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



Current Thread
Keywords