There is a whole API defined: xsl:FO, fo = Formatting Objects. It is essentially a subset of XSLT.
Try xml.apache.org/fop/, it's OS independent (though I guess it's Java).
Apache also has XALAN, an XSLT processor which is also C [red]Nosferatu[/red]
We are what we eat...
There's no such thing as free meal...
once stated: methane@personal.ro