XML News from Tuesday, June 28, 2005

Michael Kay has released version 6.5.4 of Saxon, an XSLT 1.0 processor written in Java. Saxon is open source under the Mozilla Public License. Java 1.1 or later is required. This release fixes assorted bugs, but adds no new features.

Saxon's a very fast XSLT processor that's reasonably conformant to the specification (it still misses a few corner cases); but it's a classic example of how not to run an open source project. The source is available, but only just. The source code repository isn't public. Most importantly there are no test cases. They exist but they've never been released. (I hope to address part of the reason for this in my paper at Extreme Markup Languages in August.) Essentially only Michael Kay can update the software, fix bugs, or add features. This release only happened because Ken Holman organized a group of people to pay Kay to make a new release. I had suggested that they pay Kay to release the test suite rather than simply fixing a few bugs, but the group was more interested in a quick fix for a few nagging issues than establishing a solid foundation for long term product development. However, the bugs that still exist are unlikely to ever be fixed.

XOM originally bundled Saxon. However, I switched to Xalan not because it was faster or more conformant, but because there was a reasonable expectation that any bugs I uncovered would be fixed. Ditto, I use Jaxen instead of Saxon for XPath because I can mostly fix the bugs I find in Jaxen myself. I don't have to rely on someone else's availability and interest. Despite this recent update, Saxon still has a lot of bugs that aren't being addressed. If you're still using Saxon 6, then you should upgrade to Saxon 6.5.4; but most users should consider Xalan. libxml, or some other product instead.