--- /dev/null
+<?xml version="1.0" standalone="no"?>
+<!--
+<!DOCTYPE document SYSTEM "../../xml-docs/dtd/document-v10.dtd">
+-->
+<!-- $Id$ -->
+
+<document>
+ <header>
+ <title>FOP Alternative Design</title>
+ <subtitle>Alternative Design Approach to FOP</subtitle>
+ <version>$Revision$ $Name$</version>
+ <authors>
+ <person name="Peter B. West" email="pbwest@powerup.com.au"/>
+ </authors>
+ </header>
+
+ <body>
+ <s1 title="Alternative Design">
+ <p>
+ 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.
+ </p>
+ <p>
+ The main aims of this redesign effort are:
+ </p>
+ <ul>
+ <li>full conformance with the Recommendation</li>
+ <li>increased performance</li>
+ <li>reduced memory footprint</li>
+ <li>no limitation on the size of files</li>
+ </ul>
+ <p>
+ In order to achieve these aims, the primary areas
+ of design interest are:
+ </p>
+ <ul>
+ <li>
+ Representing properties, for most purposes, as integers.
+ </li>
+ <li>
+ 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:
+ <ul>
+ <li>XML parser</li>
+ <li>FO tree builder</li>
+ <li>layout engine</li>
+ <li>Area tree builder</li>
+ </ul>
+ </li>
+ <li>
+ Representing trees with explicit Tree objects, rather than
+ as implicit relationships among other objects.
+ </li>
+ <li>
+ Caching integrated into the tree node access methods.
+ </li>
+ </ul>
+ <s2 title="Status and availability">
+ <p>
+ The <em>ALT DESIGN</em> effort is not taking place on the
+ main line of development, represented by the <em>HEAD</em>
+ 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-<em>Ant</em> 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.<em>iterators</em> classes are available and
+ working. Property handling is quite advanced, and is likely
+ to be almost complete some time in July, 2002.
+ </p>
+ <p>
+ Only <link href="mailto:pbwest@powerup.com.au">Peter
+ West</link> is working on the ALT DESIGN sub-project.
+ </p>
+ </s2>
+ </s1>
+
+ </body>
+</document>
+