It is. The problem is that FOP can't delete the output file in case of a problem if it only gets an OutputStream. And for optimization reasons FOP can't wait until the end to write the output to the target stream.
But does fop should delete output file? I don't think so, that's responsibility of enclosing application, which has full control of OutputStream and can easily do this being catching FOPException.
-- Oleg Tkachenko Multiconn International Ltd