A summary of the XSLT and XSL-FO implementations

Implementations

Implementations of XSLT

This page lists all the implementations I know about. That doesn't mean to say its complete!

XSLT Processors

  • Saxon

    Saxon by Michael Kay, Saxon , the first full implementation of XSLT, December 1999.

  • XT

    XT by James Clark, now maintained elsewherehttp://www.blnz.com/xt/index.html

  • Xalan.. apparently pronounced Zalan!

    From the Apache crowd, if that means anything to you? (My second choice) Can be found at the apache site. - the java version and for the C version Open source.

  • Oracle

    A production release of Oracle's SQL+XML+XSLT publishing framework, "Oracle XSQL Pages" is now available from the Oracle Technology Network

    Aug 2000

    It uses the Oracle XSLT Processor version 2.0.2.9 which is fully compliant with XSLT 1.0 Recommendation (except for not implementing the namespace:: axis)

    Platforms: Any Java Servlet engine Databases: Full read/write XML functionality against Oracle, read/render functionality against any JDBC database Cost: Free download, free runtime distribution

  • 4XSLT

    4XSLT (in Python) by Fourthought supports a sub-set of the latest working draft: http://4suite.org/. 4Suite, by Fourthought, Inc., is a Python-based toolkit for XML processing, available for Windows, Unix (including Linux, FreeBSD, Solaris, Mac OS X), and has reportedly been partially ported to MS-DOS. It includes, among other things, an XSLT processor called 4XSLT.

  • TransforMiiX

    TransforMiiX is a C XSLT processor. You can get its source code from Mozilla at Mozilla This is the XSLT engine embedded as a module in Mozilla and Netscape 7+. To run it standalone, it must first be compiled from source on Windows, Unix, or Mac OS X.

  • Unicorn

    The Unicorn XSLT processor implements the set of extensions specially designed for split processing of node sets.

  • Gingerall

    Petr Cimprich tells us:

    We have released a new open source XSLT processor written in C++ with the C and Perl API. This is a part of wider OS project, which claims to create a generic XML data distribution system. May be it could be an interesting news for some folks. Details are available on gingerall

    This is the XSLT engine embedded in PHP. It can also be installed separately to run standalone on Windows and Unix.

  • XSLTC

    XSLTC is an XSLT stylesheet compiler, based on TransforMiix.

    XSLTC takes as input an XSLT stylesheet, and generates C++ code. The executable that is generated from this code is expected to have the same behaviour as the source stylesheet when run through an XSLT processor, only much faster.

    Consider XSLTC as just a little bit more than a proof of concept. However, it works, it implements about 95% of the functionalities implemented in TransforMiix, and it's about 70% faster. Optimization is the next step.

    I might also add that I had started this work before I had ever heard of Sun's "translets", which are Java bytecode-compiled stylesheets.

    XSLTC is available in C++ source form from cybercities

    XSLTC is licensed under the Mozilla Public Licence 1.1

  • libxslt-0.1.0

    (Feb 2001) Okay adding one more unfinished XSLT processor to the list may sound like a bad idea. Point is that I will try to fix all reported bugs in a timely fashion. This is also very likely to be included in most Linux distributions within 6 months as part of the Gnome enviroment. It should also compile and work without troubles in most C enviroment, (with the notable exception of AS/400 where the compiler represent char/strings in EBCDIC and not ASCII) ... Licencing is LGPL or W3C IPR like, i.e. reusable without problem even in commercial products.

    Libxslt is a C library, based on libxml-2.3.0, both are available from: xmlsoft(HTTP) and (ftp) and in the stable tree of gnome.org for libxml2 gnome and unstable tree for libxslt from gnome

    Libxslt-0.1.0 is the first beta release, it should cover most features from the XSLT-1.0 spec but it's clearly not complete yet. Check the FEATURES file to get a precise idea.

    I have put an initial web pageup

    The embedded xmlproc test program allow to run non-trivial transformations anyway.

  • The Sun XSLTC Compiler

    At The sun developer area,, a java implementation, claiming near 100% complete implementation.

    The Sun[tm] XSLT Compiler is a Java[tm]-based tool that creates fast and lightweight Java class files for transforming XML files according to an input XSL file.

    This note will inform you about some important changes to the XSLT compiler software.

    NEW HOME. First, Sun has donated the compiler to the Apache XALAN project (see http://xml.apache.org/xalan-j and look under "How about this release?"). This means that the full source code for this project is available to the public, free of charge.

    COMPILER UPDATES.

    Second, the release found at the above URL is the latest work available on the compiler and is more recent than the update 5 last seen on the http://www.sun.com/xml web site.

    This release contains over 30 bug fixes, some important performance tuning, and some preliminary work supporting the JAXP 1.1 API. Essentially all of the XSL 1.0 spec is now supported and we're laying the groundwork for leveraging some of the support Xalan has for advanced XSL features. Note too that there is improved documentation available (http://xml.apache.org/xalan-j/xsltc/index.html).

    JOIN US

    Finally, we ask you to join us in developing the XSLT compiler into a tool that will help everyone use XML for their business and information needs. The Apache XML project has many tools that you may already be using such as the Xerces parser, the Xalan transformation engine, the Tomcat server, etc. All of these projects succeed because interested parties such as yourself download the code, suggest changes, and contribute bug fixes.

    To find out more about how to use the Xalan/XSLTC product and how to submit suggestions and fixes of your own, please see the following URLS:

        http://xml.apache.org/xalan-j/getstarted.html
        http://xml.apache.org/overview.html

    XSLTC/Xalan Team

  • "An XSLT implementation in Haskell" danny.microsoft-lab.org

    There's similar effort going on for Scheme: "SSAX and SXML at SourceForge" sourceforge.net

    And if you are interested in those, perhaps sourceforge.net-- the home of FXSL is a natural link?

XSL-FO Processors

  • Antenna House XSL Formatter

    On Novemver 22 2000, Antenna House started distributing the English version of "Antenna House XSL Formatter (pre-release)", from our English web site.

    "XSL Formatter" is compatible with the draft of XSL dated March 27th, 2000, and the working draft of XSL dated October 18th, 2000.

    Please come to Antenna House's English web site and down load our "XSL Formatter".

  • REXP

    Stefano Bovone

    REXP, a Rendering Engine from XML/XSL into PDF, it's an early implementation of a Formatting Objects engine. It's based on FOP 0.9.2 (now Apache open source) and it's developed by D.I.B.E. (University of Genoa) and Elsag S.p.A. It's an open source. It's possible to download source and binary files from Rexp

  • Renderx

    A Rec compliant implementation

    XEP implements the last version of the XSL spec - W3C Recommendation of October 15, 2001. The whole contents of our site has been updated to conform to this specification (testcases, demos, DTD for XSL FO, etc).

    WARNING: the syntax described by the new spec is slightly different from XSL Candidate Recommendation implemented in earlier versions of XEP. To facilitate migration, XEP distribution includes a stylesheet that converts XSL CR documents to the last XSL Rec.

    Further details and download links can be found at the product's home page .

    XEP has been used to prepare the official XSL Recommendation in PDF format. The stylesheet used for this purpose is publicly available from our site: here..

  • fop

    FOP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting objects and the world's first output independent formatter. It is a Java application that reads a formatting object tree and then renders the resulting pages to a specified output. Output formats currently supported are PDF, PCL, PS, SVG, XML (area tree representation), Print, AWT, MIF and TXT. The primary output target is PDF. Fop is at the moment not a full implementation of the basic conformance level of the xsl:fo standard.

    See the Apache site

    Came across www.owal.co.uk, at which it says

    This FAQ is maintained irregularly by Alex McLintock of Openweb Analysts Ltd in London. It consists of many answers submitted by people using the mailing lists. Should you find anything wrong with it, or have info to add please email alex at owal . co . uk

  • Arbortext XSL-FO capability

    Arbortext have announced the availability of Epic Editor 4.2, including support for XSL-FO.

    As well as shipping with an embedded XSL-FO engine, the other headline addition to the editor is a change tracking facility. Other new features include:

    Inline editing of compound documents
    Javascript support
    DOM Ranges and Level 2 events
    Editing support for Traditional Chinese, Simplified Chinese, Korean and Japanese content.

    Epic Editor is commercial software, available for Windows PC platforms and Sun Solaris 7 & 8.

  • Unicorn Formatting Objects

    The new product - Unicorn Formatting Objects (UFO) - is available. It implements the substantial subset of the Extensible Stylesheet Language (XSL) Version 1.0 specification (W3C Workung Draft 27 March 2000, http://www.w3.org/TR/2000/WD-xsl-20000327).

    The software is free (see the license included in the distribution) and can be obtained at < Unicorn>. It runs on Windows NT 4.0 and Windows 95.

    The product is optimized for composition of business-style documents (e.g., catalogs, orders, invoices, banking statements, etc). The extensive support is provided for various features (for instance, collapsing border model in tables), which are not yet supported by many existing XSL implementations.

    The XSL FO back-end, written in TeX macro language, implements XSL FO transformation algorithms. The interface between C++ front-end and TeX back-end is well-documented. Alternative back-end implementations may be created by independent developers.

    Generation of TeX code from an arbitrary source XML document can be done in one pass, without creating intermediate files.

  • XSL-FO, M$ Rich Text Format output.

    Bertrand Delacrétaz tells us (August 2001) that

    Might be of interest to all RTF fans: jfor is an open-source XSL-FO to RTF converter written in java

    Although V0.3.5 only supports a subset of the XSL-FO spec, it is already usable for text, tables and images.

    Contributions of testers and/or coders are most welcome! See www.jfor.org .

  • XSL-FO implementation, RTF output.

    Jean-Yves Belmonte

    XMLmind is pleased to announce the release of XMLmind FO Converter.

    XMLmind FO Converter (XFC for short) is an XSL-FO to RTF converter. It takes an XSL-FO source file as input and converts it to RTF. XFC preserves the structure of the original document (e.g. a list-block element is converted to an actual RTF list) and most of the presentation information (font attributes, indentation, etc).

    XFC is a pure Java application/library. It will be available in two forms:

    * Personal Edition

    This edition is intended mainly for individuals. It comes in binary form (Java archive) and only provides a command-line interface. It is available at no charge from <http://www.xmlmind.com/foconverter/download.shtml>.

    * Professional Edition

    This edition is intended for corporate use. It will come with full source code and API documentation. Purchase of the Professional Edition is required for integration of XFC in a server environment (e.g. in a Java Servlet or similar server-side application).

    For more information and download of the Personal Edition, please see the XFC Home Page at xmlmind.

  • An Adobe announce would appear to infer that Adobe have produced their own xsl-fo implementation. To be confirmed. Oct 2002

  • Open Source XSL formatter

    The xmlroff XSL Formatter is an open-source XSL formatter written in C. See xmlroff.org for further details.

  • Xml2PDF commercial distribution .net xsl-fo

    July 29, 2004 Altsoft N.V.

    Altsoft N.V. announces commercial distribution of Xml2PDF family of products.

    Altsoft Xml2PDF is a .NET based formatting engine for converting XSL-FO and SVG files to PDF. It supports the following formats as an input: - XSL-FO, a primary input format for Xml2PDF. Our XSL-FO conformance list can be downloaded at altsoft

    XML and XSL Transform to XSL-FO; SVG is supported both as a stand-alone input format and as a part of XSL-FO. S

    The available licenses include: Client UI edition with user-friendly interface (49USD); Command line edition for batch formatting and validation (399USD); .NET API for embedding Altsoft Xml2PDF formatting engine into custom solutions (799/1599USD for the developer/complete edition);

    Free evaluation versions of both Client GUI and Command Line tool. The only limitation of the evaluation version is that the generated PDF can not be edited and contains a tiny Altsoft logo at the bottom of each page.

    Additional details on Xml2PDF licensing, pricing and ordering details can be found at altsoft

    Additional technical information can be found at altsoft

  • Nikolai Grigoriev tells us

    RenderX has released XEP.NET - an XSL Formatting Engine for Microsoft .NET platform.

    XEP.NET is a Visual J#/.NET port of RenderX XEP, an XSL formatter for Java; its functionality and XSL FO support level are identical to the Java version. The XEP.NET core is wrapped in an API that exposes standard .NET interfaces for XML processing. This public API forms a .NET class library component that can be used from any .NET programming language: C#, VB.NET, or J#.NET. Additionally, the software includes a class library for MSXML integration that allows use of MSXML SAX parser and transformation APIs in addition to .NET system interfaces.

    The new product is available from the Xattic online shop (http://shop.xattic.com) in several different editions. There is a free trial edition, and an academic edition available upon request to educational and research institutions.

    All editions include XEP.NET Assistant - a graphical shell to make formatting more convenient, and command-line tools for launching the formatter and the validator.

  • Michael Day tells us about XML formatter producing PDF and PostScrip (CSS based, not XSL-FO)

    Today we have released Prince 3.1, an updated version of our XML formatter for producing PDF and PostScript.

    We have also introduced a free Personal License for Prince. The free version features full formatting functionality, with a link to yeslogic.com added to output pages.

    Prince 3.1 includes the following improvements:

    * Improved support for SVG shapes and text.
    * Support for the vertical-align property.
    * Support for applying backgrounds to pages.
    * Fixed incorrect display of some PNG images.
    * Other updates, fixes and improvements.
  • XEP for .net

    Nikolai Grigoriev

    RenderX has released XEP.NET - an XSL Formatting Engine for Microsoft .NET platform.

    XEP.NET is a Visual J#/.NET port of RenderX XEP, an XSL formatter for Java; its functionality and XSL FO support level are identical to the Java version. The XEP.NET core is wrapped in an API that exposes standard .NET interfaces for XML processing. This public API forms a .NET class library component that can be used from any .NET programming language: C#, VB.NET, or J#.NET. Additionally, the software includes a class library for MSXML integration that allows use of MSXML SAX parser and transformation APIs in addition to .NET system interfaces.

    The new product is available from the Xattic online shop (RenderX) in several different editions. There is a free trial edition, and an academic edition available upon request to educational and research institutions.

    All editions include XEP.NET Assistant - a graphical shell to make formatting more convenient, and command-line tools for launching the formatter and the validator.

  • Greg Gaffney

    Lunasil Ltd. is pleased to announce the release of Xinc 1.0. Xinc is a fast, memory efficient XSL-FO processor written in Java. Xinc is quick to install and easy to use.

    A Swing based XSL-FO viewer allows you to view and print XSL-FO files as well as generate PDF files with the click of a button.

    Xinc can be used as a server component via its Java API. Xinc can also be used in a Microsoft server environment by using a simple COM interface. A command line interface is included for use in batch processes and build environments.

    Several editions of Xinc are available including a free, 90 day evaluation, a $95 developers edition and a server edition. The developers edition can be used to generate unstamped PDF files from the Viewer. If you would like to try Xinc, please visit http://www.lunasil.com.

  • Altsoft N.V. announces commercial distribution of Xml2PDF family of products.

    July 29, 2004 Altsoft N.V.

    Altsoft Xml2PDF is a .NET based formatting engine for converting XSL-FO and SVG files to PDF. It supports the following formats as an input:

    - XSL-FO, a primary input format for Xml2PDF. Our XSL-FO conformance list can be downloaded at http://www.alt-soft.com/pdf/xsl-fo-objects-conformance.pdf
    - XML and XSL Transform to XSL-FO;
    - SVG is supported both as a stand-alone input format and as a part of XSL-FO. See our current SVG conformance list at http://www.alt-soft.com/products_xml2pdf_svg_conformance.jsp

    Free evaluation versions of both Client GUI and Command Line tool. The only limitation of the evaluation version is that the generated PDF can not be edited and contains a tiny Altsoft logo at the bottom of each page.

    Additional technical information can be found at altsoft web page