diff options
author | Keiron Liddle <keiron@apache.org> | 2002-11-07 08:15:01 +0000 |
---|---|---|
committer | Keiron Liddle <keiron@apache.org> | 2002-11-07 08:15:01 +0000 |
commit | 3380cea47cae28af43b45b8b037a6c5d897692af (patch) | |
tree | c1eb3b2677b4ddeeae736fef1a61c7ec4ae31fc8 /src/documentation/content/xdocs/design/extending.xml | |
parent | 74348a5448f431b08dafe203405a20bf894d7976 (diff) | |
download | xmlgraphics-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.xml | 101 |
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> + |