Tools used are limited to xmllint*, xsltproc*, make(1), and sh(1). make(1) calls xsltproc*, which generates a temp shell script which turns around and generates the various pages of content using xsltproc* with different sets of stylesheets. Grotesque? Yup. Clean? Very, actually. I dare say, elegant even.
There is one major oddity that I'm going to punt on for the time being: the ability to correctly uniquify various bits of data via XSL. Until I figure out why XPath's preceding-sibling isn't doing what I want, life will move on as though you need to wear a pair of glasses, or three.
Comments or questions? Drop me an email and I'll restore whatever's missing.
Update: I've fixed the uniquifcation issues. Use of preceding-sibling::*[1] in the test of <xsl:if test="..."/> nested inside of an <xsl:for-each/> block works out well. I wish libxslt supported <xsl:for-each-group/>. Oh well.