The Truth About Xsl-Fo!

All vendors in the enterprise document compositionwhite-space management.
market who use XSL-FO claim it is an ‘open9. XSL to XSL-FO to PRINT format cannot guarantee
standard’ and that makes their solution superior,a certain number of pages.
more modern and customer oriented than proprietary10. XSL-FO is not able to provide the true number of
ones. That dear analysts, vendors and customers is apages of a complete document.
straightforward misrepresentation. Most vendors11. Most XSL-FO formatters need therefore to
seem to believe that the use of an XML-likepredefine rigid page masters.
structure proves a kind of elevated status of12. Web pages or emails need special XSLT’s
intelligence or a future oriented technology. It is easythat bypass XSL-FO formats.
to fall for the XSL-FO marketing pitch because how13. XML needs to use URI as substitute for
many do actually know what XSL-FO is and how it isembedded resources or binaries.
used in the vendors product. Honestly, do you?14. Relative external URI references reduce the
Really? Well, let me reiterate or possibly enlightenportability of an XML file.
you:15. NON-standard functions produce barcodes and
‘Open’ means that all defining structures ofcharts embedded as SVG.
the complete application are published formats.16. SVG conversion to target formats for printing is
‘Standard’ means that the file formats andVERY inaccurate.
program functions are FULLY compatible to a large17. XSL-FO products do not use any of the XML
percentage of solutions in the market. The currentbusiness rule ’standards’.
vendors using XSL-FO do not fall in these categories!18. Many custom Java, .NET or scripting functions are
I found only one vendor who fully publishes on hisused to generate XSL-FO.
website the details of which version of which XML19. FIVE to SEVEN XML parsing and writing steps are
specifications are supported and which function inneeded to the printed page.
which specification is implemented and which are not.20. XSL-FO is thus not suitable for high-speed
But even this one vendor does NOT specify howproduction (millions of pages)
much proprietary code creates how many additional21. Numerous codepage issues on input, handling and
functions that make the product not compatible withmapping to print fronts.
the ‘open standard’. All other vendors22. XSL-FO does not support for print-time mapping
choose a simpler route from the outset by sayingof layouts into pages.
that their product IS BASED on the ‘open23. All post-processing, print management and
standard,’ which already implies that the standardresource functions are proprietary.
is a foundation ONLY on which any number ofIf a vendor claims that his implementation of XSL-FO
proprietary extensions were implemented.does not have the above problems that may be
We at ISIS Papyrus could also say that we supportactually true, but it means that the product is not
‘open standards’ such as C++, HTTP, Linux,longer compatible with XSL, XSL-FO and the
AFP, PDF and so on. I propose (actually know) that’standard’ XSL-FO drivers.
NONE of the compositions applications based onA XSL-FO product could only be standard if built
XSL-FO are fully portable between the vendors.from Open Source, but vendors have to use
Obviously those vendors do not want to be THATnon-standard components such as GUI, rule, barcode
OPEN, because it would mean that you can take theor chart functions. Open Source continues to evolve
application from one vendor to the next at any time.rapidly while an enterprise solution needs stable and
Consider that a complete correspondence solution istested functionality. That means that in a very short
not just the formatted XSL-FO file but include thetime, your solution is far away from the
metadata entities, the resource assets, the external’standard’ that everyone else uses. When
data interface, the user interface definition with datayou then run into a problem the vendor cannot easily
mapping, and the process and post-processingapply the Open Source fixes. We use a few licensed
definitions. If portability is a key requirement for you,Open Source libraries but would never claim that they
ask for a written guarantee that the above completerepresent a standard and only use them if we are in
application can be imported into other products. Youabsolute control of bug-fixing ourselves.
will not get that. If it is not a key requirement whyFinally, I conclude that most products that use
would you bother with XSL-FO?XSL-FO are substantially too expensive, because if
Many years ago when ISIS was the first and onlythey represent a standard there is no original
one to propose that a standard ought to be used,know-how that the vendor owns and should be paid
our competitors claimed that this was a drawbackfor.
and limitation. The only published document standardReferences:
at the time was IBM’s AFP and we used it andXML-Extensible Markup Language (XML) 1.0. W3C
still do. Then we also supported IBM’s OGL andXML Names - Namespaces in XML. W3C
PPFA. Today we do support the import and use ofRecommendation. See
XML formatted elements today (CSS, XSL, and canXPath - XML Path Language. W3C Recommendation.
output XSL-FO) but we would not claim that to be aSee
standard.CSS2 - Cascading Style Sheets, level 2 (CSS2).
Here is a short list of problems with XSL-FO that IDSSSL - ISO/IEC 10179:1996. Document Style
will discuss in detail:Semantics and Specification Language (DSSSL).
1. All non-XML data formats have to parsed, validatedHTML- HTML 4.0 specification. W3C Recommendation.
and XML converted.See
2. Multiple XML input files require specific XSLTIANA- Character Sets. See ftp://ftp.isi.edu/in-notes
definitions for each combination.iana/assignments/character-sets.
3. The design of XSL to XSL-FO to print format ISRFC2278 - N. Freed, J. Postel. IANA Charset
NOT at all WYSIWYG.Registration Procedures. IETF RFC 2278. See
4. Different XSL-FO processors for identical outputRFC2376 - XML Media Types. IETF RFC 2376. See
formats are not fully compatible.RFC2396 - Uniform Resource Identifiers (URI) IETF
5. XSL-FO page regions are positioned byRFC 2396. See
dummy-tables and can overlap.UNICODE TR10 - Unicode Consortium. See
6. XSL-FO processors for different targets produceXHTML- XHTML 1.0: The Extensible HyperText
VERY DIFFERENT results.Markup Language. W3C, See
7. XSL-FO processors cannot handle relativeXPointer- XML Pointer Language (XPointer). W3C
posititioning of items.Working Draft.
8. No access to current formatting position for