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

maximum-repeats?

Subject: maximum-repeats?
From: "Robert Austin" <RAustin@xxxxxxxx>
Date: Thu, 13 Dec 2007 10:39:52 -0500
 maximum-repeats?
Hello,
Included, as well as pasted below is an fo document. It is commented to
describe the intent of individual code blocks. Basically, I'd like a
special page-master to be used for the last page if there are 2,3 or 4
pages. I'd also like the same special page-master to be used on the 5th
page if there are more than 4 pages. In other words, I must use a
special page master in the document. I mustn't be later than the 5th
page, and I'd like it to be as late in the document as possible. The
test case tries to use repeatable-page-master-alternatives to accomplish
this, but the maximum-repeats attribute seems to be ignored. Can anyone
offer some assistance?
-Robert

<?xml version="1.0"?>
<root xmlns="http://www.w3.org/1999/XSL/Format">
  <layout-master-set>


    <!-- here are my simple page masters. They each have the same page
width, height, and body region. They each have unique headers. Each
header region contains a static-content that contains the name of the
master-name it belongs to. This way, I can tell which simple-page-master
is used in the pdf. -->
    <simple-page-master master-name="first" page-width="8.5in"
page-height="11.5in">
      <region-before region-name="first-header" extent="1in" />
      <region-body region-name="body" margin="2.5cm" />
    </simple-page-master>
    <simple-page-master master-name="even" page-width="8.5in"
page-height="11.5in">
      <region-before region-name="even-header" extent="1in" />
      <region-body region-name="body" margin="2.5cm" />
    </simple-page-master>
    <simple-page-master master-name="odd" page-width="8.5in"
page-height="11.5in">
      <region-before region-name="odd-header" extent="1in" />
      <region-body region-name="body" margin="2.5cm" />
    </simple-page-master>
    <simple-page-master master-name="even-masthead" page-width="8.5in"
page-height="11.5in">
      <region-before region-name="even-masthead-header" extent="1in" />
      <region-body region-name="body" margin="2.5cm" />
    </simple-page-master>
    <simple-page-master master-name="odd-masthead" page-width="8.5in"
page-height="11.5in">
      <region-before region-name="odd-masthead-header" extent="1in" />
      <region-body region-name="body" margin="2.5cm" />
    </simple-page-master>

    <!-- here is my page-sequence-master. i'll comment with my
intentions below -->
    <page-sequence-master master-name="mySequence">
      <!-- the first page should use the first simple-page-master. this
works fine -->
      <single-page-master-reference master-reference="first" />

      <!-- the next three pages should use either the odd of even
simple-page-master, unless they happen to be the last page in the flow,
in which case they should use either the odd-masthead or even-masthead
simple-page-master. I am legally required to print a legal disclaimer on
this document. The disclaimer must before page 6 (in other words, on one
of the following pages: 1,2,3,4,5). My designer requires this disclaimer
to be on the last possible page. And the document may have as few as 2
pages or source. Therefore, i'd like it to be on the last page if there
are less than 5 pages, or on the 5 page if there are 5 or more pages.
-->
      <repeatable-page-master-alternatives maximum-repeats="3">
        <!-- use the odd-masthead master if this page is odd, and is the
last page -->
        <conditional-page-master-reference
master-reference="odd-masthead" odd-or-even="odd" page-position="last"
/>

        <!-- use the even-masthead master if this page is even, and is
the last page -->
        <conditional-page-master-reference
master-reference="even-masthead" odd-or-even="even" page-position="last"
/>

        <!-- use the even master if this page isn't the last page, and
is even -->
        <conditional-page-master-reference master-reference="even"
odd-or-even="even" />

        <!-- use the odd master if this page isn't the last page, and is
odd -->
        <conditional-page-master-reference master-reference="odd"
odd-or-even="odd" />
      </repeatable-page-master-alternatives>
      <!-- if the processor gets to this part of the sequence, than the
document must be 5 or more pages long, therefore the fifth page should
contain the disclaimer. This is the fifth page, so use either the
odd-disclaimer, or even-disclaimer master. -->


      <repeatable-page-master-alternatives maximum-repeats="1">
        <conditional-page-master-reference
master-reference="odd-masthead" odd-or-even="odd" />
        <conditional-page-master-reference
master-reference="even-masthead" odd-or-even="even" />
      </repeatable-page-master-alternatives>

      <!-- at this point, the document is on page 6 or higher, and
should choose between even or odd master-page accordingly -->
      <repeatable-page-master-alternatives>
        <conditional-page-master-reference master-reference="even"
odd-or-even="even" />
        <conditional-page-master-reference master-reference="odd"
odd-or-even="odd" />
      </repeatable-page-master-alternatives>
    </page-sequence-master>
  </layout-master-set>


  <!-- here is my sequence. each header has its name as its content. the
body contains 10 pages, each label their own page number. -->
  <page-sequence master-reference="mySequence">
    <static-content flow-name="first-header">
      <block>first-header</block>
    </static-content>
    <static-content flow-name="even-header">
      <block>even-header</block>
    </static-content>
    <static-content flow-name="odd-header">
      <block>odd-header</block>
    </static-content>
    <static-content flow-name="even-masthead-header">
      <block>even-masthead-header</block>
    </static-content>
    <static-content flow-name="odd-masthead-header">
      <block>odd-masthead-header</block>
    </static-content>
    <flow flow-name="body">
      <block break-after="page">First Page</block>
      <block break-after="page">Second Page</block>
      <block break-after="page">Third Page</block>
      <block break-after="page">Fourth Page</block>
      <block break-after="page">Fifth page, this should use either
odd-masthead-body or even-masthead-body</block>
      <block break-after="page">Sixth page</block>
      <block break-after="page">Seventh Page</block>
      <block break-after="page">Eight Page</block>
      <block break-after="page">Ninth Page</block>
      <block break-after="page">Tenth page, last page</block>
    </flow>
  </page-sequence>
</root>

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.