FOP is an XSL formatter and renderer that works with an XSLT transformer to produce PDF (and eventually other output formats) from XML documents.