Apache FOP is a print formatter driven by XSL formatting objects. It
is a Java application that reads a formatting object tree conforming
to the XSL 1.1 Recommendation (05 December 2006) and then turns it
into a PDF document, certain other output formats or allows you to
preview it directly on screen. 

Note that not all parts of the XSL 1.1 specification have yet been 
implemented.
