The information here describes the design and architecture details for FOP.
Currently this is part of a redesign process for some of the core parts of
The redesign is mainly focusing on some particular process involved
with the layout process when converting the FO tree into the Area Tree.
The main aim for FOP is to comply with the spec and to be able to
process files of any size.
In achieving this aim we need to understand the problem and break it
into small problems that can be solved.
- use SAX as input
- process FO elements ASAP
- dispose of unused memory, keep memory minimal
- layout handles floats, footnotes and keeps in a simple straight forward way
- id references are kept simple
- pages are rendered ASAP, can be cached until resolved
- renderers are totally responsible for their output format
- output is sent to a stream