- From: G. Ken Holman <gkholman@CraneSoftwrights.com>
- Date: Sun, 05 Feb 2012 22:28:10 -0500
- To: www-xsl-fo@w3.org
- Message-Id: <7.0.1.0.2.20120205221619.023c79f0@wheresmymailserver.com>
At 2012-02-05 15:20 -0600, Earl Hood wrote: >[Sorry if this is a dupe, seems mailing list does not like > when Sender field is not the same as From/Reply-to. List > software should handle this properly.] > >I have an odd-even page layout where the sequence is configured >to end on even. Hence, a blank page will be inserted if the >flow content ends on odd. > >The problem I have is detecting the case when the flow content >ends on odd since I am required to indicate that the next page >is blank. For example, if the next page is blank, the previous >page should have something like the following where the page >number is printed: > > 3/4 blank > >This indicates we are on page 3, and page 4 is blank. > >I've tried to use the "last" for page-position in >conditional-page-master-reference, but it appears that "last" >also includes the generated blank page vs the last page >of flowed content. > >Is there a way with standard XSL-FO to get the effect I >want? Yes, I've done this in my XSL-FO classroom and showed it working with Antenna House. Attached is the PDF I created (I don't know if this list will accept attachments or not). The XSL-FO that created the PDF is below. In brief, (1) - put a unique identifier in each page-sequence's blank page flow (2) - use different page geometries for odd and even pages (3) - add a marker retrieval on the odd page after the page number (4) - at the end of the flow the marker as you want the suffix to appear, using a page-number-citation to cite the following even page number using that page-sequences blank page unique identifier defined in (1) Note that students informed me that the commercial brand of XSL-FO processor they are using does not support this standard use of XSL-FO. I won't say publicly which processor that was, but it might be that the processor you are using will not work here. A contributor to the XSL list revealed this approach last year I think. I wish I had thought of it. I hope this helps. . . . . . . . . . Ken <?xml version="1.0" encoding="UTF-8"?> <root xmlns="http://www.w3.org/1999/XSL/Format" font-family="Times" font-size="20pt"> <layout-master-set> <simple-page-master master-name="frame-even" page-height="210mm" page-width="297mm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" margin-right="1cm"> <region-body region-name="frame-body" margin-bottom="1cm"/> <region-after region-name="after-even" extent="1cm"/> </simple-page-master> <simple-page-master master-name="frame-odd" page-height="210mm" page-width="297mm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" margin-right="1cm"> <region-body region-name="frame-body" margin-bottom="1cm"/> <region-after region-name="after-odd" extent="1cm"/> </simple-page-master> <simple-page-master master-name="blank" page-height="210mm" page-width="297mm" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" margin-right="1cm"> <region-body region-name="blank-body"/> </simple-page-master> <page-sequence-master master-name="frames"> <repeatable-page-master-alternatives> <conditional-page-master-reference master-reference="blank" blank-or-not-blank="blank"/> <conditional-page-master-reference master-reference="frame-even" odd-or-even="even"/> <conditional-page-master-reference master-reference="frame-odd" odd-or-even="odd"/> </repeatable-page-master-alternatives> </page-sequence-master> </layout-master-set> <page-sequence master-reference="frames" force-page-count="end-on-even"> <static-content flow-name="after-even"> <block text-align="center"> Page <page-number/> </block> </static-content> <static-content flow-name="after-odd"> <block text-align="center"> Page <page-number/> <retrieve-marker retrieve-class-name="next_blank"/> </block> </static-content> <static-content flow-name="blank-body"> <block id="d0e3_blank"/> </static-content> <flow flow-name="frame-body"> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block> <marker marker-class-name="next_blank"> (<page-number-citation ref-id="d0e3_blank"/> blank) </marker> </block> </flow> </page-sequence> <page-sequence master-reference="frames" force-page-count="end-on-even"> <static-content flow-name="after-even"> <block text-align="center"> Page <page-number/> </block> </static-content> <static-content flow-name="after-odd"> <block text-align="center"> Page <page-number/> <retrieve-marker retrieve-class-name="next_blank"/> </block> </static-content> <static-content flow-name="blank-body"> <block id="d0e102_blank"/> </static-content> <flow flow-name="frame-body"> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block> <marker marker-class-name="next_blank"> (<page-number-citation ref-id="d0e102_blank"/> blank) </marker> </block> </flow> </page-sequence> <page-sequence master-reference="frames" force-page-count="end-on-even"> <static-content flow-name="after-even"> <block text-align="center"> Page <page-number/> </block> </static-content> <static-content flow-name="after-odd"> <block text-align="center"> Page <page-number/> <retrieve-marker retrieve-class-name="next_blank"/> </block> </static-content> <static-content flow-name="blank-body"> <block id="d0e129_blank"/> </static-content> <flow flow-name="frame-body"> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block> <marker marker-class-name="next_blank"> (<page-number-citation ref-id="d0e129_blank"/> blank) </marker> </block> </flow> </page-sequence> <page-sequence master-reference="frames" force-page-count="end-on-even"> <static-content flow-name="after-even"> <block text-align="center"> Page <page-number/> </block> </static-content> <static-content flow-name="after-odd"> <block text-align="center"> Page <page-number/> <retrieve-marker retrieve-class-name="next_blank"/> </block> </static-content> <static-content flow-name="blank-body"> <block id="d0e228_blank"/> </static-content> <flow flow-name="frame-body"> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block>This is a test</block> <block> <marker marker-class-name="next_blank"> (<page-number-citation ref-id="d0e228_blank"/> blank) </marker> </block> </flow> </page-sequence> </root>
-- Contact us for world-wide XML consulting and instructor-led training Free 5-hour video lecture: XSLT/XPath 1.0 & 2.0 http://ude.my/uoui9h Crane Softwrights Ltd. http://www.CraneSoftwrights.com/f/ G. Ken Holman mailto:gkholman@CraneSoftwrights.com Google+ profile: https://plus.google.com/116832879756988317389/about Legal business disclaimers: http://www.CraneSoftwrights.com/legal
Attachments
- application/pdf attachment: nextblank.pdf
Received on Monday, 6 February 2012 03:28:53 UTC