I've talked about it before, so in case anybody is interested I've
uploaded the Javadocs  for a general XSL-FO processing API I've been
working on during the last few weeks. It's basically my API proposal
that is (or rather was) on the Wiki. I've called it JAFOP (Java API for
XSL-FO processing) for now. But naming can change... The implementations
for FOP maintenance branch and FOP HEAD already work for simple use
cases. No fancy stuff, yet (no events, no userconfig.xml...).
The main motivation to do this was a general FO webservice I wrote so I
could integrate FOP into a Delphi (Win32) application. FOP and the
webservice are deployed inside a Jetty instance which is started through
a small JNI wrapper. I found JNI to be quite hard to debug so only
having to look after a start() and stop() is quite nice. The webservice
is either deployed embedded into the Delphi heavy client or separately
on a server, depending on customer needs.
Another nice feature  of the helper package in there is the ability
to easily load multiple implementations in the same VM through
ClassLoaders. I needed that to get PDF output from FOP 0.20.5 and RTF
output from FOP HEAD.
If there's enough interest I can put the source code for the API plus
implementations on my website (or to a SF project or somewhere else).
I believe this common API could be interesting in the following months
when FOP HEAD advances. It can be used to easily switch implementations
or during development/testing. And I've got a few additional ideas. As
It might also be interesting to have implementations for Foray, Defoe,
XEP and maybe even ol' JFOR. I hope the design is flexible enough to
accomodate all Java implementations.