[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