blob: d17304e34092ff04790fe25dfb4bbfa50d1243e7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<?xml version="1.0" standalone="no"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
<document>
<header>
<title>FOP Design</title>
<subtitle>Design Approach to FOP</subtitle>
<authors>
<person name="Keiron Liddle" email="keiron@aftexsw.com"/>
</authors>
</header>
<body>
<section>
<title>Introduction</title>
<p>
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
FOP.
</p>
<p>
The redesign is mainly focusing on some particular process involved
with the layout process when converting the FO tree into the Area Tree.
</p>
<section>
<title>Aims</title>
<p>
The main aim for FOP is to comply with the spec and to be able to
process files of any size.
</p>
<p>
In achieving this aim we need to understand the problem and break it
into small problems that can be solved.
</p>
<p>
<ul>
<li>use SAX as input</li>
<li>process FO elements ASAP</li>
<li>dispose of unused memory, keep memory minimal</li>
<li>layout handles floats, footnotes and keeps in a simple straight forward way</li>
<li>id references are kept simple</li>
<li>pages are rendered ASAP, can be cached until resolved</li>
<li>renderers are totally responsible for their output format</li>
<li>output is sent to a stream</li>
</ul>
</p>
</section>
</section>
</body>
</document>
|