xslj is a virtually complete implementation of XSL by way of translation into extended DSSSL, as supported by the latest release of James Clark's DSSSL engine Jade. xslj translates valid XSL style sheets into valid extended DSSSL style sheets, which can then be used to render XML documents using Jade.
Virtually all of XSL as described in A Proposal for XSL is supported, although some minor modifications have been necessitated by the exigencies of implementation, all of which are described in detail in material contained in the release. Major XSL features which are supported include:
XSL specifies two sets of flow objects for expressing the style of desired output: one based on DSSSL and one based on HTML/CSS. Both are supported by xslj. Using the DSSSL flow objects, output using any of the Jade backends is supported, including RTF, TeX and SGML/XML. Using the HTML/CSS flow objects, output is to HTML using the Jade SGML backend.
A Proposal for XSL is only a proposal to W3C, and xslj has no official standing at all. I built it as a proof of concept, and I'm making it available to enable people to become more informed contributors to the XSL and DSSSL standards processes. Neither W3C nor ISO have any commitment to respect any aspect of XSL as proposed or xslj as implemented: Caveat emptor.
Microsoft has recently released support for XSL in the form of MSXSL. It does not support flow-object macros or named styles and supports only the HTML flow-objects, but can therefore be integrated more closely with a browser. The MSXSL documentation includes a more detailed list of differences.
The beta release of xslj is available free of charge to all in source or binary (for win32, Solaris and FreeBSD) from here. The current release is version 0.4. Thanks to all alpha users who sent in bug reports.
Building xslj has only been possible because of the continuing support of James Clark, who has not only adapted Jade to implement the necessary changes to DSSSL, but has also provided much timely and gracious assistance in the construction of xslj itself.
The production of xslj was funded in part by Microsoft.
xslj was built in the Language Technology Group of the Human Communication Research Group, whose baseline funding comes from the UK Economic and Social Research CouncilHenry S. Thompson