cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonas Lundberg" <>
Subject Re: Best way to launch external applications as generators?
Date Thu, 30 Mar 2006 15:45:37 GMT
Hi Simone,
thank's for the advice!

Best regards

On 3/28/06, Simone Gianni <> wrote:
> Hi Jonas,
> I don't know of an existing "ExecuteGenerator", so i think you should
> implement a new generator in java.
> AFAIK the oo macros will save the output file, so knowing the input file
> you can specify or desume an output file. If that's the case, you have
> to stream this second file down the pipeline, right?
> Inside your new generator you can use a java.lang.Runtime.exec call to
> run the external process. It will return a Process object on which you
> can call the waitFor mathod to wait until it finishes processing, then
> you can get the output (now XML) file and stream SAX events for the
> pipeline, and then eventually delete the output file if you don't need
> it anymore.
> If you have a look at the FileGenerator
> (cocoon-2.1.X/src/java/org/apache/cocoon/generation/
> it does generate SAX events from a file. So I think subclassing it could
> be a good choice. You should need to override only the "setup" and
> "generate" methods. In the setup you receive the src="..."  from the
> sitemap, which i suppose will contain your .doc document, so put it in a
> field, calculate the resulting output XML file name, and use this as a
> src for the super.setup() call. In the "generate" method, simply run the
> external soffice.exe, wait for it to finish, the call super.generate()
> and have the FileGenerator stream the resulting file for you. Then
> eventually delete it.
> If properly configured in the sitemap, you can have cocoon cache the
> result for you, so that soffice.exe isn't called too often.
> It's not the easier task, but I hope this helps.
> Simone
> Jonas Lundberg wrote:
> >I have been looking around for word .doc -> xml converters for a while.
> >The docvert approach seems promising (
> > ).
> >It uses openOffice batch conversion to achieve the transformation. It
> >does so by invoking:
> >"C:\Program Files\ 2.0\program\soffice.exe" %1
> >macro://macros/Standard.convert.toOasisOpenDocumentFormat(%2,%3)
> >
> >Let's say I wanted to do this in Cocoon, as a Generator, giving a file
> >as parameter.
> >What would the best approach then be? Any ideas?
> >
> >Regards
> >Hans
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail:
> >For additional commands, e-mail:
> >
> >
> >
> --
> Simone Gianni
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message