aboutsummaryrefslogtreecommitdiffstats
path: root/src/documentation/content/xdocs/design/extending.xml
diff options
context:
space:
mode:
authorKeiron Liddle <keiron@apache.org>2002-11-07 08:15:01 +0000
committerKeiron Liddle <keiron@apache.org>2002-11-07 08:15:01 +0000
commit3380cea47cae28af43b45b8b037a6c5d897692af (patch)
treec1eb3b2677b4ddeeae736fef1a61c7ec4ae31fc8 /src/documentation/content/xdocs/design/extending.xml
parent74348a5448f431b08dafe203405a20bf894d7976 (diff)
downloadxmlgraphics-fop-3380cea47cae28af43b45b8b037a6c5d897692af.tar.gz
xmlgraphics-fop-3380cea47cae28af43b45b8b037a6c5d897692af.zip
converted design docs to forrest
needs updating git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195441 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/documentation/content/xdocs/design/extending.xml')
-rw-r--r--src/documentation/content/xdocs/design/extending.xml101
1 files changed, 101 insertions, 0 deletions
diff --git a/src/documentation/content/xdocs/design/extending.xml b/src/documentation/content/xdocs/design/extending.xml
new file mode 100644
index 000000000..ae0938ec1
--- /dev/null
+++ b/src/documentation/content/xdocs/design/extending.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd">
+
+<document>
+ <header>
+ <title>FOP Extensions</title>
+ <subtitle>Adding extensions to FOP</subtitle>
+ <authors>
+ <person name="Keiron Liddle" email="keiron@aftexsw.com"/>
+ </authors>
+ </header>
+
+ <body>
+<section>
+ <title>Extensions</title>
+<p>
+FOP provides an extension mechanism to add extra functionality. There
+are a number of different types of extensions that apply to different
+steps when converting FO into the rendered output.
+ </p>
+<section>
+ <title>Extensions</title>
+ <p>
+SVG Graphic - This applies to svg and any other xml document that
+can be converted into svg in the output. All that is required is
+the element mapping for the xml and a converter that changes the
+document into svg. This conversion is done in the FO Tree. The
+conversion is done by the top level element of the namespace
+or in the case of an external image a Converter.
+ </p>
+ <p>
+XML Document - Instead of converting the document into svg it
+can be passed directly to the renderer. The renderer will need
+to have a handler for the xml document. This handler can add
+information directly to the output document.
+ </p>
+ <p>
+Output Document - This is used to add document level information
+to the output result. Such an extension will set information that
+is passed to the output document. There needs to be a handler for
+the output information which creates a document level result.
+ </p>
+ <p>
+FO Area - This is where an extension creates an normal area in
+the Area Tree. This is useful when the normal FO objects
+cannot create the area in the way that is needed.
+ </p>
+ <p>
+Resolveable - In some cases it may require information to be
+resolved for information such as page numbers. This can apply
+to the XML Document, FO Area or output document extensions.
+ </p>
+ <p>
+- Add a string ['(Continued)'] to a table header if the table spans
+multiple pages. These tables are part of the content and can start
+anywhere in the page.
+ </p>
+ <p>
+- Separate page number display for a subsection. ie. - master document
+is page 4 of 7, but subsection is page 2 of 3.
+
+ </p>
+</section>
+<section>
+ <title>Examples</title>
+ <p>
+Plan - The plan extension is a simple SVG graphic extension.
+Given a plan document either inside an InstreamForeignObject
+or as an external graphic, it converts the plan document into
+an svg graphic. The svg graphic is then passed through the
+Area Tree to the Renderer. The Renderer then renders the svg
+graphic as normal.
+ </p>
+ <p>
+PDF Outline - This is output document extension. If rendering to
+pdf and this extensionis used then the bookmark information is
+passed to the pdf document. This information is then set on the
+document.
+ </p>
+ <p>
+PDF Additions - This can be done with an XML Document extension.
+A simple xml document is defined that provides the appropriate
+information. When the document is rendered a handler converts the
+document into PDF markup.
+ </p>
+ <p>
+eg.
+<source><![CDATA[<my:script-link script="app.execMenuItem('AcroSrch:Query');">Search</my:script-link>]]></source>
+
+to result in a text box referencing the following PDF action:
+<source><![CDATA[<< /S /JavaScript /JS (app.execMenuItem("AcroSrch:Query");) >>]]></source>
+
+ </p>
+
+</section>
+
+ </section>
+
+ </body>
+</document>
+