I've talked about it before, so in case anybody is interested I've uploaded the Javadocs [1] 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 [2] 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 time allows... 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. [1] http://www.maerki.org/jeremias/dev/jafop/javadocs/ [2] http://www.maerki.org/jeremias/dev/jafop/javadocs/org/xml/fo/helper/DynamicFOProcessorFactory.html Jeremias Maerki