Peter B. West wrote:
> Convergence problems like your page 99 scenario occur in other contexts;
> notably the "last page" problem. The last page in a sequence is allowed
> a different page-master, but the only way to discover the last page is
> to lay it out. Oops, last page. Lay it out again, using the
> last-page-master. Oops, we now have something left over, so it's not
> the last page any more. These cases will have to be catalogued as
> discovered, and circuit-breaker heuristics provided for them.
Yes, and the only way around the performance and memory issues this raises
is to write FOP in a way where any forward-reference related handling is
only executed if forward-references really occur.
Then, if someone has large documents and doesn't care about forward references,
the solution is either to:
1. manually remove the forward references in the document
2. remove the forward references using an XSLT stylesheet if the users want
to toggle between a "fast" and a "slow" version.
3. implement a FOP option that ignores forward references and replaces them
by a * - or whatever.
Anyhow, in my opinion this is worth doing right. From my experience (which
is from large-volume printing, between 5.000 and 50.000 docs per job),
if someone wants forward references in a doc (even if it's only page x of y
in a contract or invoice) he or she usually really wants it and doesn't care
about performance or memory. If, for example, I am printing an invoice and
absolute need to have page counts (like page 1 of 2) for legal reasons,
then - if this gives me performance problems - I can still try to help the
formatter by introducing fixed page breaks or other things that at least
avoid formatting cycles after the second.
Arnd Bei▀ner IT-Engineering
Bahnhofstr. 3, 71063 Sindelfingen, Germany
Email: [EMAIL PROTECTED]
- Re: development status Joerg Pietschmann
- Re: development status Peter B. West
- pb FOP 0.20 and servlet Jean-Franšois Selber
- Arnd Bei▀ner