Andreas L. Delmelle wrote:
Which is done by {which parser?}

Xerces 2.3.4, but it doesn't matter. The problem are the generated Java objects.

80k? For how many fo:* approx. in the file?

80000 objects. A table with some twenty odd columns and 800+ rows. A TableCell, a Block and a FOText per cell. The rest is small change.

Problem seems to be one of nested little objects, no longer 'needed', but
still referenced by their parent, which is still 'needed' --btw: What
exactly are the criteria by means of which it is possible to decide that a
given FO object, no matter how deeply nested, can safely be 'discarded' from
the tree?

A) it has been rendered. B) no chance to backtrack (due to keeps, widows/orphans, side-floats, column rebalancing because of footnotes or before-floats, last page layout and perhaps a slew of less obvious reasons) Note that there are scenarios where a backtracking can ripple back through an arbitrary number of pages, although 99.99% ought to affect the current page only and even scenarios affecting the previous page look rather artificial. FOs not generating areas, in particular fo:table-column, could probably discarded immediately after the interesting info has been processed into a more amenable data structure referenced from parent FO.

[Another option (--also a very long shot maybe) would be to try and, ahem,
_steal_ a little of the PDF approach... implement a form of (binary)
compression on the FO tree storage in memory?

Yuck! Flashbacks of SoftRAM....


J.Pietschmann



Reply via email to