Comments below. -----Original Message----- From: Keiron Liddle [mailto:keiron@;aftexsw.com] Sent: Friday, November 15, 2002 3:30 AM To: FOP 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]