diff options
Diffstat (limited to 'src/documentation/content/xdocs/extensions.xml')
-rw-r--r-- | src/documentation/content/xdocs/extensions.xml | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/documentation/content/xdocs/extensions.xml b/src/documentation/content/xdocs/extensions.xml new file mode 100644 index 000000000..1c4a873df --- /dev/null +++ b/src/documentation/content/xdocs/extensions.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "document-v11.dtd"> + +<document> + <header> + <title>FOP</title> + </header> + <body> +<section> + <title>Extensions to FOP</title> + <p>Sometimes it is desirable to have extensions to xsl:fo in order to support some feature of the + output format which isn't covered by the xsl:fo specification. + </p> + <section> + <title>Default Extensions</title> +<p> +These extension are available by default. They are automatically loaded +and you only need to provide the correct namespace for your embedded +xml markup. +</p> + <section> + <title>SVG</title> +<p> +Please see the <link href="svg.html">SVG page</link> for more details. +</p> + </section> + <section> + <title>Bookmarks</title> + <p>To use this standard Fop extension, you need to add a namespace entry for + http://xml.apache.org/fop/extensions on the root element. </p> + + <p>You can provide outlines inside the root object (but outside + any page-sequences or + other formatting objects). Here's an example of an outline entry:</p> + <source> +<![CDATA[<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" + xmlns:fox="http://xml.apache.org/fop/extensions"> + <fox:outline internal-destination="sec3"> + <fox:label>Running FOP</fox:label> + + <fox:outline internal-destination="sec3-1"> + <fox:label>Prerequisites</fox:label> + </fox:outline> + <fox:outline> +</fo:root>]]></source> + <p>It works similarly to a basic-link. There is also an external-destination + property, but it isn't supported currently. See the pdfoutline.fo file in + docs/examples/fo for a more complete example.</p> + </section> + </section> + <section> + <title>Adding Your Own</title> +<p> +To add your own extension you need to do the following things. +</p> +<p> +Write code that implements your extension functionality. +The easiest place to start is by looking at the code in org.apache.fop.extension. +</p> +<p> +Create a jar file with your classes, it must also include the following file "/META-INF/services/org.apache.fop.fo.ElementMapping". In this file you need to put the fully qualified classname of your element mappings class. This class must implement the "org.apache.fop.fo.ElementMapping" interface. +</p> +<p> +Create your fo file with the extra xml data embedded in the file with the correct name space. The examples for svg and pdfoutline.fo show how this can be done. +</p> +<p> +Put your jar file in the classpath and then run fop over the fo file. +</p> + + </section> +</section> +</body> +</document> + |