Comments below.

-----Original Message-----
From: Keiron Liddle [mailto:keiron@;]
Sent: Friday, November 15, 2002 3:30 AM
Subject: Getting breaks: revisited

<<The current way that breaks are found with the layout managers has a
couple of problems. 
Currently the information is contained in both the layout managers and
the break positions. This means that it must follow the order: get
breaks: add areas: get breaks etc. So columns are not possible. 
The other problem is there is no good way to indicate that the end of
the page has been reached. (there are a few other problems that stem
from this)>>

There is one more problem you need to put in there- under the current system, there is 
no mechanism for determining if the layout instructions in an FO document will produce 
a document that cannot exist.  At least, there's none I've seen.  Most of the bugs 
posted regarding infinite loops are caused by the same thing- the layout is impossible 
to perform, but FOP does not detect this and simply continues doing the same thing 
over and over again- get a fresh page, try to lay out, get breaks, get a fresh page... 
 I haven't extensively tried all the infinite loop bugs on HEAD, but I have tried a 
few and they continue to have this problem.  This really needs to be addressed from a 
design perspective.

>>This way it can continue to find breaks independent of previous breaks.
It can restart at a particular break, using the previous breaks if
nothing has change (ipd or page) and open the possibility for disposing
of layout managers and breaks that have been added to a page.<<

While the actual process you're proposing is still gelling in my mind and I don't 
quite grok it fully, your implications here are enticing.  I especially like the idea 
of being able to "restart at a previous break" and what that might mean for catching 
aberrant conditions.  As I've said before, the only current way I see for catching 
layouts that infinitely spawn pages is to implement code in each LM that causes the LM 
to check itself and see if it's making any progress, leading to an Exception if no 
progress is made in many pages.  It's not a good solution, and being able to roll back 
to a previous break may give the layout system a little more "self awareness."

To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to