The main purpose of FOP is to render XSL-FO documents into a variety of
output formats, including PDF, text, MIF, Postscript, and others. This process
requires two conversions as the data moves through the following three
stages:
  - XSL-FO document (input). This document should conform to the XSL
    standard (currently version 1.0). It is a description of the general
    formatting requirements of the document.
- Area Tree document (intermediate). This document is a model of the
    specific, paginated layout that fulfills the general requirements of the
    input XSL-FO document, and conforms to the constraints of the XSL
    standard. It is transitory.
- Rendered document (output). This document implements a specific file
    format to serialize the Area Tree document.
As a convenience to users, FOP can also manage the following ancillary
processes:
  -  (upstream, external) conversion of a semantic XML document into an
    XSL-FO document by invoking an XSLT transformation.
-  (downstream, internal) display of the modeled paginated document in
    a viewer.
To get an overview of the FOP process, begin with the class
org.apache.fop.apps.Driver.
Developer Information
  - The current development platform is Java 1.3. There are minor
    source code changes required to compile with Java 1.4. See the Release
    Notes for details.
- For javadoc documentation that references external standards (such as
    the W3C XSL standard), such standards will be opened in a different
    browser instance. Following additional references to the same standard
    will update the same browser, but you will not see that update unless that
    browser window is open on your desktop -- in other words, if that browser
    is minimized, it will look like nothing happened.