| All vendors in the enterprise document composition | | | | white-space management. |
| market who use XSL-FO claim it is an ‘open | | | | 9. 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 proprietary | | | | 10. XSL-FO is not able to provide the true number of |
| ones. That dear analysts, vendors and customers is a | | | | pages of a complete document. |
| straightforward misrepresentation. Most vendors | | | | 11. Most XSL-FO formatters need therefore to |
| seem to believe that the use of an XML-like | | | | predefine rigid page masters. |
| structure proves a kind of elevated status of | | | | 12. Web pages or emails need special XSLT’s |
| intelligence or a future oriented technology. It is easy | | | | that bypass XSL-FO formats. |
| to fall for the XSL-FO marketing pitch because how | | | | 13. XML needs to use URI as substitute for |
| many do actually know what XSL-FO is and how it is | | | | embedded 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 enlighten | | | | portability of an XML file. |
| you: | | | | 15. NON-standard functions produce barcodes and |
| ‘Open’ means that all defining structures of | | | | charts embedded as SVG. |
| the complete application are published formats. | | | | 16. SVG conversion to target formats for printing is |
| ‘Standard’ means that the file formats and | | | | VERY inaccurate. |
| program functions are FULLY compatible to a large | | | | 17. XSL-FO products do not use any of the XML |
| percentage of solutions in the market. The current | | | | business 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 his | | | | used to generate XSL-FO. |
| website the details of which version of which XML | | | | 19. FIVE to SEVEN XML parsing and writing steps are |
| specifications are supported and which function in | | | | needed 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 how | | | | production (millions of pages) |
| much proprietary code creates how many additional | | | | 21. Numerous codepage issues on input, handling and |
| functions that make the product not compatible with | | | | mapping to print fronts. |
| the ‘open standard’. All other vendors | | | | 22. XSL-FO does not support for print-time mapping |
| choose a simpler route from the outset by saying | | | | of layouts into pages. |
| that their product IS BASED on the ‘open | | | | 23. All post-processing, print management and |
| standard,’ which already implies that the standard | | | | resource functions are proprietary. |
| is a foundation ONLY on which any number of | | | | If 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 support | | | | actually 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 on | | | | A 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 THAT | | | | non-standard components such as GUI, rule, barcode |
| OPEN, because it would mean that you can take the | | | | or 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 is | | | | tested functionality. That means that in a very short |
| not just the formatted XSL-FO file but include the | | | | time, 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 data | | | | you then run into a problem the vendor cannot easily |
| mapping, and the process and post-processing | | | | apply 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 complete | | | | represent a standard and only use them if we are in |
| application can be imported into other products. You | | | | absolute control of bug-fixing ourselves. |
| will not get that. If it is not a key requirement why | | | | Finally, 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 only | | | | they 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 drawback | | | | for. |
| and limitation. The only published document standard | | | | References: |
| at the time was IBM’s AFP and we used it and | | | | XML-Extensible Markup Language (XML) 1.0. W3C |
| still do. Then we also supported IBM’s OGL and | | | | XML Names - Namespaces in XML. W3C |
| PPFA. Today we do support the import and use of | | | | Recommendation. See |
| XML formatted elements today (CSS, XSL, and can | | | | XPath - XML Path Language. W3C Recommendation. |
| output XSL-FO) but we would not claim that to be a | | | | See |
| standard. | | | | CSS2 - Cascading Style Sheets, level 2 (CSS2). |
| Here is a short list of problems with XSL-FO that I | | | | DSSSL - ISO/IEC 10179:1996. Document Style |
| will discuss in detail: | | | | Semantics and Specification Language (DSSSL). |
| 1. All non-XML data formats have to parsed, validated | | | | HTML- HTML 4.0 specification. W3C Recommendation. |
| and XML converted. | | | | See |
| 2. Multiple XML input files require specific XSLT | | | | IANA- 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 IS | | | | RFC2278 - N. Freed, J. Postel. IANA Charset |
| NOT at all WYSIWYG. | | | | Registration Procedures. IETF RFC 2278. See |
| 4. Different XSL-FO processors for identical output | | | | RFC2376 - 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 by | | | | RFC 2396. See |
| dummy-tables and can overlap. | | | | UNICODE TR10 - Unicode Consortium. See |
| 6. XSL-FO processors for different targets produce | | | | XHTML- XHTML 1.0: The Extensible HyperText |
| VERY DIFFERENT results. | | | | Markup Language. W3C, See |
| 7. XSL-FO processors cannot handle relative | | | | XPointer- XML Pointer Language (XPointer). W3C |
| posititioning of items. | | | | Working Draft. |
| 8. No access to current formatting position for | | | | |