Hi,
Joost is really interesting as it allows transformation of huge XML files without any issue. However, the use of the transform() method to trigger the transfom is really constraining when several actions need to be piped.
What would be interesting is to have a utility class as JoostOuputStream, which we can initialize by passing another outputStream.
JoostOutputStream jStream = new JoostOutputStream(
new StreamSource(stxFile),
new StreamResult(destinationStream)));
//Coupling with FTP for instance
ftp.retrieveFile(filename, jStream);
In this example, FTP will retrieve the file, in jstream, which will transform it on the fly and write the transformed stream to the destination. We can add more pipes such as PGP encoding or decoding (BouncyCastle is supporting this type of implementation), MD5 calculation (fast MD5 by twmactina is also support this approach), ...
Do you think this is something which is feasible (as I think Joost implmentation is based on Streaming techniques) ? If you need more elements, please feel free to contact me (yan at s2r dot fr).
Thanks