- From: Arved Sandstrom <asandstrom@accesswave.ca>
- Date: Fri, 22 Mar 2002 23:24:20 -0500 (EST)
- To: "'Www-Xsl-Fo" <www-xsl-fo@w3.org>
Hi, all
I've got a question related to keeps. Let's say that I have 2
simple-page-masters defined: one called "small", with a fairly small
region-body, and one called "large", with a larger region-body.
The flow content looks like
<fo:block break-after="page">NOT MUCH STUFF</fo:block>
<fo:block keep-together.within-page="1">
.... QUITE A LOT OF STUFF ....
</fo:block>
The fo:flow, for sake of simplicity, contains these only. Simple-page-master
(SPM) "small" cannot accommodate the second block, but SPM "large" can.
Furthermore, the containing page-sequence maps to
<fo:page-sequence-master master-name="psm">
<fo:single-page-master-reference master-reference="small"/>
<fo:single-page-master-reference master-reference="small"/>
<fo:repeatable-page-master-reference master-reference="large"/>
</fo:page-sequence-master>
With this you can probably already see where I am going. :-) Now, without
casting aspersions on RenderX, I used the latest XEP to test this out, and I
see an initial page, laid out using simple-page-master (SPM) "small",
containing the areas generated by the first block, and a second page laid
out using SPM "large", containing the areas generated by the first block, as
a result.
_I_ expect to see a SPM "small", with content from block 1, a blank page
using SPM "small", and a third page using SPM "large", that contains (and is
designed to contain) all the areas generated by block 2.
The reason I expect to see this is because, number one, the spec (in Section
6.4.7) states that
"A page-sequence satisfies the constraint determined by an
fo:page-sequence-master if (a) it can be partitioned into a sequence of
sub-sequences of pages that map one-to-one to an initial sub-sequence of the
sequence of sub-sequence-specifiers that are the children of the
fo:page-sequence-master and, (b) for each sub-sequence of pages in the
partition, that sub-sequence satisfies the constraints of the corresponding
sub-sequence specifier. The sequence of sub-sequences of pages can be
shorter than the sequence of sub-sequence-specifiers."
Clause (a) indicates that we MUST make use of SPM "small" exactly twice:
one-to-one mapping to an _initial_ subsequence. Or we don't make use of the
page-sequence-master at all; I figure a reasonable fallback is to switch to
SPM "large" for all pages but I don't know one way or the other.
The Recommendation section on keeps also makes it clear that the keep
condition on block 2 MUST be satisfied - there are no breaks, or stronger
keeps, that conflict. And it can be satisfied by starting block 2 on page 3.
I submit that my expected result is the logical conclusion of spec
constraints, as jarring as it may be to have that blank page 2.
Counter-arguments? Comments? Proofs that I really should be asleep by now?
:-)
Thanks.
AHS
______________________________
Arved Sandstrom
Sr Software Developer
Platform Products Group
Halifax R&D Office
Hummingbird Ltd
Received on Saturday, 23 March 2002 07:12:54 UTC