aboutsummaryrefslogtreecommitdiffstats
path: root/src/documentation/content/xdocs/design/embedding.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/documentation/content/xdocs/design/embedding.xml')
-rw-r--r--src/documentation/content/xdocs/design/embedding.xml123
1 files changed, 123 insertions, 0 deletions
diff --git a/src/documentation/content/xdocs/design/embedding.xml b/src/documentation/content/xdocs/design/embedding.xml
new file mode 100644
index 000000000..2572c74af
--- /dev/null
+++ b/src/documentation/content/xdocs/design/embedding.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+ <header>
+ <title>Embedding 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>
+This is the design for the external interface when FOP is to be embedded
+inside another java application.
+ </p>
+ <p>
+Common places where FOP is embedded is in a report production application
+of a server side application such as <jump href="http://xml.apache.org/cocoon/index.html">Cocoon</jump>.
+ </p>
+ </section>
+<section>
+ <title>Settings</title>
+<section>
+ <title>User Agent</title>
+<p>
+The user agent is responsible for supplying user or context
+specific information. The list of user agent values can be found on the
+<jump href="useragent.html">User Agent</jump> page.
+ </p>
+ </section>
+<section>
+ <title>Logging</title>
+<p>
+<ul>
+<li>logging level</li>
+<li>logging messages of various levels</li>
+<li>error handling</li>
+<li>Logging setup (LogKit, Log4J, JDK14Logging)</li>
+</ul>
+ </p>
+ </section>
+<section>
+ <title>XML input</title>
+<p>
+<ul>
+<li>various ways to supply FOP with the xsl:fo file, fo, xml+xsl</li>
+<li>sax handler</li>
+</ul>
+ </p>
+ </section>
+<section>
+ <title>general options</title>
+<p>
+<ul>
+<li>base directory</li>
+<li>uri resolvers</li>
+<li>which implementation of a particular</li>
+<li>LayoutManager to use</li>
+</ul>
+ </p>
+ </section>
+<section>
+ <title>Rendering Options</title>
+<p>
+<ul>
+<li>embedding fonts</li>
+<li>compression in pdf</li>
+<li>image embedding</li>
+</ul>
+</p>
+<p>
+for the PS renderer (eventually):
+<ul>
+<li>PostScript Level</li>
+<li>PPD to use</li>
+<li>binary/ascii switch</li>
+</ul>
+ </p>
+ </section>
+<section>
+ <title>User Agent</title>
+<p>
+Output from FOP:
+- Generation statistics: Number of pages total, Number of pages of each
+ page-sequence, page-master used for each page (could be used to
+ control the paper bin to get paper from, important for me in
+ conjunction with PS Renderer).
+ </p>
+ </section>
+<section>
+ <title>Setting Up</title>
+<p>
+The Driver handles the XML input.
+The user agent information is through the FOUserAgent.
+We could handle logging through the user agent.
+Options could also be handled through the user agent, using mime type
+selection for renderer options.
+</p>
+ </section>
+<section>
+ <title>Others</title>
+<p>
+render to more than one renderer at once (maybe not from the command line).
+For example you could generate a PDF for the archive
+and the PS for the printer in one run. It would probably be faster than
+converting the PDF to PostScript afterwards.
+</p>
+<p>
+Several code pieces for resolving URLs and/or
+file locations are scattered all over FOP and Batik. These should
+be replaced with an URIResolver invocation to unify behaviour and
+remove redundancies.
+ </p>
+ </section>
+</section>
+
+ </body>
+</document>
+