| <?xml version="1.0" standalone="no"?> |
| <!-- |
| Copyright 1999-2004 The Apache Software Foundation |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- $Id$ --> |
| <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" |
| "http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/core/context/resources/schema/dtd/document-v12.dtd"> |
| |
| <document> |
| <header> |
| <title>Standard FOP Extensions</title> |
| <version>$Revision$</version> |
| </header> |
| <body> |
| <p>By "extension", we mean any data that can be placed in the input XML document that is not addressed by the XSL-FO standard. |
| By having a mechanism for supporting extensions, FOP is able to add features that are not covered in the specification.</p> |
| <p>The extensions documented here are included with FOP, and are automatically available to you. If you wish to add an extension of your own to FOP, please see the <link href="dev/extensions.html">Developers' Extension Page</link>.</p> |
| <note>All extensions required the correct use of an appropriate namespace in your input document.</note> |
| <section id="svg"> |
| <title>SVG</title> |
| <p> |
| Please see the <link href="graphics.html#svg">SVG documentation</link> for more details. |
| </p> |
| </section> |
| <section id="fo-extensions"> |
| <title>FO Extensions</title> |
| <section id="fox-namespace"> |
| <title>Namespace</title> |
| <p>By convention, FO extensions in FOP use the "fox:" namespace identifier. |
| To use any of the FO extensions, add a namespace entry for http://xml.apache.org/fop/extensions |
| to the root element:</p> |
| <source><![CDATA[<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" |
| xmlns:fox="http://xml.apache.org/fop/extensions">]]></source> |
| </section> |
| <section id="bookmarks"> |
| <title>PDF Bookmarks</title> |
| <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[<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 |
| examples/fo/basic for a more complete example. |
| </p> |
| </section> |
| <section id="named-destinations"> |
| <title>Anchors or Named Destinations</title> |
| <p>Use the fox:destination element to define "named destinations" inside a PDF document. |
| These are useful as fragment identifiers, e.g. "http://server/document.pdf#anchor-name". |
| fox:destination elements can be placed almost anywhere in the fo document, including a child of |
| root, a block-level element, or an inline-level element. |
| For the destination to actually work, it must correspond to an "id" attribute on some fo element |
| within the document. In other words, the "id" attribute actually creates the "view" within the |
| PDF document. The fox:destination simply gives that view an independent name. |
| </p> |
| <source><![CDATA[<fox:destination internal-destination="table-of-contents"/> |
| ... |
| <fo:block id="table-of-contents">Table of Contents</fo:block>]]></source> |
| <warning>It is possible that in some future release of FOP, <em>all </em>elements with |
| "id" attributes will generate named-destinations, which will eliminate the need for |
| fox:destination.</warning> |
| </section> |
| <section id="table-continue-label"> |
| <title>Table Continuation Label</title> |
| <p>Use the fox:continued-label element to create content in table-header and |
| table-footer cells that will appear only on pages after the first page that the table |
| appears. fox:continued-label is itself inline content, and is a container of fo:inline |
| content. This content will be laid out only if the table does not fit on a single page and flows |
| to following pages. Here is an example of FO code creating such a table-header:</p> |
| <source><![CDATA[<fo:table-header> |
| <fo:table-row> |
| <fo:table-cell> |
| <fo:block>Header column 1 with continued label |
| <fox:continued-label><fo:inline> (cont.)</fo:inline></fox:continued-label> |
| </fo:block> |
| </fo:table-cell> |
| <fo:table-cell> |
| <fo:block>Header column 2 with no continued label</fo:block> |
| </fo:table-cell> |
| </fo:table-row> |
| </fo:table-header>]]></source> |
| </section> |
| </section> |
| </body> |
| </document> |
| |