Formatters process XML conforming to the XSL Formatting Objects Recommendation to output some presentation form. Many formatters are available for XSL. The most supported output presentation forms are PostScript, PDF, and onscreen display.
The following sections discuss where to find several implementations and how to get them. All the formatters mentioned have evaluation versions that may be downloaded for experimentation without charge. The FOP formatter is free to download and is developed with an open source model.
Nearly all the examples in this book were typeset with an evaluation copy of the Antenna House formatter version 2.0.1 downloaded from http://www.antennahouse.com. Figure 3.2 shows a screen shot of the formatter in action.
Figure 3.2 Antenna House XSL formatter screen shot.
The two fields below the menu and toolbar allow selection of a source document and a style sheet. The program displays a preview of the formatted document. The view contains tools to enlarge the display for a closer look or otherwise adjust the scaling of a page in the display. Another function will output the formatted result as a PDF file.
The program includes a configuration dialog that enables customization of all the defaults left to the formatter by the W3C recommendation. That includes the default font family, fonts for the generic font-family names, such as serif, the default text color, widths of thin, medium, and thick borders, the default page size, and so forth.
The formatter uses the Microsoft MSXML3 or MSXML4 XSLT parser that may be downloaded for the Windows platform from http://msdn.microsoft.com/downloads. Type MSXML into the search field. The Antenna House formatter may also be configured to use an external XSLT processor, in which case the FO result must go to an intermediate file.
XEP is a very capable commercial implementation of FO. It is the one that the editors of the W3C recommendation chose to typeset the PDF format version available at the W3C.
The free XEP download available from http://www.renderx.com is for experimentation only. Their literature indicates that it prints "sample" across each page and quits after typesetting a limited number of pages. To get all the benefits of these programmers' hard work, you will have to pay them.
I was unable to try the XEP formatter because the license for the evaluation version required that I accept confidential intellectual property. This was fortunately not a handicap because the Antenna House formatter was able to typeset most of the examples.
FOP is an open source effort supported by the Apache Software Foundation. It has been available since some of the earliest public drafts of the XSL recommendation. Judging from the posts to the interest lists, many people are using FOP to experiment with XSL. It is not currently as complete as either the XEP or the Antenna House formatters, especially with respect to the formatting of tables. That may have changed by the time you read this.
One feature of FOP is its support for Scalable Vector Graphics (SVG). SVG is an XML format for drawing graphs, charts, and other graphical presentations expressible using line drawing and fill. FOP will render an SVG source referred to from FO.
Download FOP from http://xml.apache.org/fop. It has a user interest mailing list that you can subscribe to by sending mail to http://email@example.com. The formatter uses the Xalan transform engine, which is included in the download.
The IBM XSL Formatting Objects Composer (XFC) was written by this author and others at IBM Research. We've tried some ambitious things with this formatter, such as implementations for writing-mode, multi-property-set, and multi-case. The free download may provide some value to people experimenting with FO. The alphaworks license requires a fee for any commercial use. The license bought for that fee is an as-is license that does not include any promise of support.
XFC uses the Xalan transform engine, which is included in the download. Download the processor from http://www.alphaworks.ibm.com/tech/xfc.
SourceForge hosts an open source implementation of FO as well as Apache. The jFor project outputs only Rich Text Format (RTF). RTF is useful for import into Microsoft Word or the WordPad application shipped with Microsoft Windows. You will find the project, including download links, at sourceforge.net/projects/jfor/. The document located at http://www.jfor.org/ contains some description of the project as well.
Arbortext, http://www.arbortext.com, is a long-time player in the SGML formatting world that had strong participation in preparing the XSL recommendations. They produce end-to-end, complete industrial solutions for content authoring and formatting. The Arbortext Epic Editor provides structured content editing for publishing to multiple output media. The editor includes a capable implementation of FO. It enables formatting for delivery on the Web, in print, over wireless devices, or as a CD-ROM interactive application.