FOP Alternative Design

| Alternative Design |
This section of the FOP web site contains notes on approaches to an alternative design for FOP. The individual documents here are fragmentary, being notes of particular issues, without an overall framework as yet. The main aims of this redesign effort are: full conformance with the Recommendation increased performance reduced memory footprint no limitation on the size of files In order to achieve these aims, the primary areas of design interest are: Representing properties, for most purposes, as integers. Distributing FOP processing over a number of threads with single-point downstream communication and flow control by means of traditional producer/consumer queues. The threads so far under consideration are: XML parser FO tree builder layout engine Area tree builder Representing trees with explicit Tree objects, rather than as implicit relationships among other objects. Caching integrated into the tree node access methods.
| Status and availability |
The ALT DESIGN effort is not taking place on the main line of development, represented by the HEAD tag on the CVS trunk. The source is available via the FOP_0-20-0_Alt-Design tag. This code has only a crude, non-Ant build environment, and is expected only to compile at this stage. Only the parser stage and the first stage of FO tree building is present. However, the first example of producer/consumer binding is working, the Tree class with inner Tree.Node and inner Tree.Node.iterators classes are available and working. Property handling is quite advanced, and is likely to be almost complete some time in July, 2002. Only Peter West is working on the ALT DESIGN sub-project.

Copyright © 2001-2002 The Apache Software Foundation. All Rights Reserved.