http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Download
Running FOP
Features
Limitations
Bugs
Examples

Compiling
Embedding
Getting involved

FAQs
Specifications
License

The main limitation at the moment is: FOP only supports the XSL working draft 21 Apr 1999, not the latest from 12 January 2000. FOP implements the fo objects and properties listed in 'features', sometimes it does so only in a limited way.

differences between XSL WD 1999 and 2000
 

The following formatting objects (supported by FOP) have changed between XSL wd 1999 and wd 2000:

<sequence-specification> changed to <page-sequence-master>

<sequence-specifier-single> changed to <single-page-master-reference>

<sequence-specifier-repeating> changed to <repeatable-page-master-reference>

<sequence-specifier-alternating> changed to <repeatable-page-master-alternatives>

<display-sequence> changed to <block-container>

<inline-sequence> <inline-container>

<display-rule> nuked

<display-graphic> changed to two tags: <external-graphic> <instream-graphic>

The following properties have changed between XSL wd 1999 and wd 2000:

page-master-name nuked replaced with master-name

page-master-first implemented using conditional page reference object

page-master-repeating do

page-master-odd do

page-master-even do


list-block
 

The fo working draft allows describes two ways to markup lists.The list-block must have as children either: 1) pairs of fo:list-item-label and fo:list-item-body formatting objects, or 2) fo:list-item formatting objects.

At the moment FOP only implements the second way. Therefore a list has a basic structure like this:

<fo:list-block>

<fo:list-item>

<fo:list-item-label><fo:block></fo:block></fo:list-item-label>

<fo:list-item-body><fo:block></fo:block></fo:list-item-body>

</fo:list-item>

</fo:list-block>


Padding
 

Padding works in conjunction with indents and spaces. It is only implemented for blocks. At the moment padding can't be used to make extra space (indents+spaces must be used), but only to control how much the background-color extends beyond the content rectangle.


Tables
 

There two limitations for tables: 1) FOP needs you to explicitly specify column widths 2) Cells have to contain block-level FOs. They can't contain straight character data.

A working basic example of a table looks like this:

<fo:table>

 <fo:table-column column-width="150pt"/>

 <fo:table-column column-width="150pt"/>

 <fo:table-body font-size="10pt" font-family="sans-serif">

  <fo:table-row>

   <fo:table-cell>

    <fo:block>text</fo:block>

   </fo:table-cell>

   <fo:table-cell>

    <fo:block>text</fo:block>

   </fo:table-cell>

  </fo:table-row>

  <fo:table-row>

   <fo:table-cell>

    <fo:block>text</fo:block>

   </fo:table-cell>

   <fo:table-cell>

    <fo:block>text</fo:block>

   </fo:table-cell>

  </fo:table-row>

  <fo:table-row>

   <fo:table-cell>

    <fo:block>text</fo:block>

   </fo:table-cell>

   <fo:table-cell>

    <fo:block>text</fo:block>

   </fo:table-cell>

  </fo:table-row>

 </fo:table-body>

</fo:table>



Copyright © 1999 The Apache Software Foundation. All Rights Reserved.