RE: Pushing the Limits

Hi, David

Again, let me stress that I am using XEP as the test tool only because I
have a high opinion of it. I generally expect XEP to produce results that I
agree with. And it does.

Having said that, I don't believe that in this particular case that we can
take blank pages as being automatically symptomatic of an integrity
constraint violation. To use my example to develop this argument, let's
imagine that the keep-together="1" was replaced by a
break-before="odd-page". If the first page (containing block 1 for starters)
had a page-number of 1, that means that block 2 would be laid out on page 3,
and page 2 would be blank. I think you would not argue with this. It helps
that the spec makes it clear for "break-after" and "break-before" that blank
pages can be generated for even-page/odd-page situations.

But how much difference is there between the blank page generated for page
2, in the break-before="odd-page" case, and a blank page generated for page
2 as a result of a keep-together="1"? My argument is that there _is_ no
difference; keeps are conditional breaks, and if the satisfaction of a break
condition can lead to a blank page I see no reason why the satisfaction of a
conditional break cannot naturally lead to the same thing.

My argument is that there is _no_ violation of constraints, not according to
the spec. No fallbacks are required. The user can look at the result and say
to herself, OK, I know why this happened. And the user can then take steps
to make it come out different - adjusting region-body sizes, removing the
keep-together, adjusting the page-sequence-master, or what have you.

I understand your general point about constraint violations and fallbacks -
I just do not believe that this is one of those cases. The only thing that
is violated is maybe the "pretty output" rule. But my feeling is that as
soon as a user starts making use of keeps they are implicitly starting to
accept the possibility that their output may not be so pretty.

Comments?

Regards,
AHS

-----Original Message-----
From: www-xsl-fo-request@w3.org [mailto:www-xsl-fo-request@w3.org]On
Behalf Of David Tolpin
Sent: March 23, 2002 8:35 AM
To: Arved Sandstrom
Cc: 'Www-Xsl-Fo
Subject: Re: Pushing the Limits


>
> 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.
>

XEP uses a simple fall-back algorithm to deal with unsatisfiable integrity
contstraints (keep/glyph/replaced element). If a page with a flow region
comes out blank, it is treated as a sign that a constraint cannot be
satisfied
and the engine tries to find a way to recover.

This provides an efficient way to avoid looping and collisions at the cost
of not encouraging users to use artificial ways to insert blank pages into
the output. Simply inserting a page without a flow region in the page master
at the correct position does a much more naturally looking job.

David Tolpin
RenderX

Received on Sunday, 24 March 2002 07:49:37 UTC