There's something about reflexive tools that is just pretty cool. I built another application to document the DocBook RelaxNG schemas into DocBook.
The Doxsl DocBook stylesheets are coming along. If I can manage to get some free time at night, I might be able to finish these in about a week. The one thing I really need to do is check out xspec to see if I can write test cases against the code. I've tried XMLUnit about a year ago, but the critical difference is that it tests the artifact of the transform, rather than the code itself. Implicit testing is better than no testing at all, but it doesn't mean that it's optimal. I love JUnit and NUnit for testing my Java and .NET code, and it's great for the large enterprise-wide projects I work on. While Doxsl is just a teeny, tiny little application (tool is more like it), there is enough code right now that even simple changes can cause big problems. I'll let you know what I think about xspec when I've had a chance to tinker with it.
Another XSL application I've been working over the last year or so is an alternative to the DITA Open Toolkit. The OT is OK as a reference implementation, but it can be a bear to work with even to handle minor customizations. Part of the problem, in my opinion, is that the OT's stylesheets are dependent on the Ant scripts that drive it. In fact, it takes some fancy footwork to get the stylesheets to run outside of the ant environment. And here again, Ant is the tool for creating a consistent and reliable sequence of build steps for a development environment. Where it falls short is dealing with sophisticated XSLT applications that have lots of parameters (optional or otherwise). The parameters have to be "hardcoded" into the XSLT task. Not my idea of extensible.
Add to that: the stylesheets are still using XSLT 1.0 - ehhh. I'll use 1.0 if I have to (thanks Microsoft). There's just so much more that 2.0 provides that makes stylesheet development much, much easier. At any rate, I've been working on my own implementation of DITA using XSLT 2.0 and with relying on Ant. HTML and CHM are working, FO is the hard part. What I find interesting is that I can process a map containing over 160 topics into HTML in about 20 seconds with my stylesheets. It takes over 2 minutes with the OT! The results are anecdotal , and I haven't really tested the stylesheets on anything really big, but I like what I see so far (in fact the DOXSL website uses DITA and my stylesheets to render it).