[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Evaluating XSL-FO Implementations


Subject: [xsl] Evaluating XSL-FO Implementations
From: "W. Eliot Kimber" <eliot@xxxxxxxxxx>
Date: Sat, 16 Nov 2002 11:14:48 -0600

[I have cross-posted this to the xsl-list and to xsl-fo@xxxxxxxxxxxxxxxx I have started using XSL-FO@xxxxxxxxxxxxxxx exclusively for my posts on XSL FO, but I thought this message needed a wider audience.]

At XML 2002 I will be delivering a paper on the suitability of XSL FO for production-quality composition. As part of that effort, as well as an ongoing aspect of my job as an XML systems integrator and as a developer of an XSL FO course, I have been doing deep evaluations of all the XSL FO implementations that I know of. As a side effect of that, I often post here with responses of the form "Implementation X does Y".

I thought it would be useful to the community to list the implementations I'm working with and their current status with respect to FO features implementated and extensions provided. In particular, I don't want anyone to think that I am priveledging any implementation in any way--my job as an integrator requires that I understand all the available options so that I can make the best recommendations to my customers. ISOGEN is (or soon will be) partners will all the vendors who produce XSL FO implementations--we have no vested interest in any particular implementation and, as a matter of company policy, fiercly guard our product neutrality.

In addition, my focus is on production-quality systems, so I am focused on value, as opposed to cost. That causes me to prefer depth of features over license cost--that is more features implemented at a higher cost may reflect higher value than fewer features at a lower cost. Also, when implementing a production system, the license cost for software is often the smallest single cost, far outweighed by the cost of integration, configuration, and maintenance. This means, in particular, that the implementation that implements the most features sets the bar for all other implementations, regardless of license cost. It also means that once a set of implementations implement all the useful features of FO, that they will be competing almost entirely on the quality of their extensions, performance, maintainability, platform support, and customer service.

Implementations I know of, listed in order of feature completeness:

- XSL Formatter, Antenna House (www.antennahouse.com). Currently Windows only. Free evaluation version available.

- XEP, RenderX (www.renderx.com). Pure Java. Free evaluation version available.

With the 3.12 release of XEP, XSL Formatter and XEP are very closely matched for features and extensions. With a few small exceptions, it is possible to write style sheets that will give nearly identical results from both implementations. And with just a little bit of conditional processing, one can write a style sheet that will generate extended FO for either product given an input parameter that specifies the target implementation. The main difference here is how support for PDF bookmark generation is implemented.

All of my testing to date has been with these two products simply because they implement the most features and allow me to create working examples of almost every feature for use our FO course.

- Epic 4.3, Arbortext (www.arbortext.com). Multi-platform (Windows, various Unix. No Linux). Fairly complete implementation that is constantly being improved. Suffers from constraints imposed by the underlying FOSI-based composition engine. Arbortext has announced the intent to provide a revamped composition engine in their 5.x version, due middle of 2003. Possible to create style sheets that will work with Epic, XEP, and XSL Formatter.

Have started testing Epic using the samples and examples developed for the FO course.

The remaining implementations, listed below, have yet to implement a number of FO important features. Of these, only FOP is really usable for any kind of production work--that is, it implements enough FO features to be able to satisfy many layout requirements and what it does it does well enough. Both XFC and PassiveTeX are essentially experimental implementations at this point (PassiveTeX's Web site is quite clear on this point). I expect the IBM implementation to improve with time but it's not clear from the XFC pages what the exact plans or timeline is for XFC.

- FOP, Apache project (http://xml.apache.org/fop). Open source project. Pure Java.

- XFC, IBM Alphaworks (http://www.alphaworks.ibm.com/tech/xfc). Technology demonstration).

- PassiveTex (http://www.tei-c.org.uk/Software/passivetex/). Implemented in TeX.

In the works:

- Adobe Document Server. I'm told by Adobe that they are in the process of developing an FO implementation on top of Framemaker+SGML that will be part of the Adobe Document Server product sometime around the end of 2002. Don't know anything more about it. Framemaker+SGML certainly has all the composition features one would need to implement FO rendering semantics--the trick will be interpreting the FO spec and providing good performance. Could be an interesting solution, especially for existing Adobe customers who would like to start using FO.

Cheers,

Eliot
--
W. Eliot Kimber, eliot@xxxxxxxxxx
Consultant, ISOGEN International

1016 La Posada Dr., Suite 240
Austin, TX  78752 Phone: 512.656.4139


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list




Current Thread
Keywords