diff options
Diffstat (limited to 'src/documentation/content/xdocs/design/embedding.xml')
-rw-r--r-- | src/documentation/content/xdocs/design/embedding.xml | 123 |
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> + |