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/FileGenerator.java)
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 (
http://holloway.co.nz/docvert/index.html ).
It uses openOffice batch conversion to achieve the transformation. It
does so by invoking:
"C:\Program Files\OpenOffice.org 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Simone Gianni
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]