At 10:49 am +0000 2/12/01, Jeremy Quinn wrote:
>Maybe I'll have a go at writing a test "FileResourceWriterTransformer", to
>investigate the process of taking input from the user, having it modify a
>Resource using XSLT then writing it out again.
Would someone mind helping me with some Cocoon internals?
I am pretty sure I know how to write a Transformer (at least I have some
great examples!), but I do not know how to get a Serialiser inside a
Transformer.
What I am thinking of is this:
I would like to pass as a parameter to the Transformer, the name of the
Serialiser (as set up in the SiteMap), that you want the Transformer to use
when it writes out your XML Fragment to file.
Something like this:
<map:transformers default="xslt">
<map:transformer
name="write-file"
src="org.apache.cocoon.transformation.FileResourceWriterTransformer"
pool-max="16" pool-min="8" pool-grow="2">
<serializer>xml</serializer> <!-- say which Serialiser to use -->
</map:transformer>
</map:transformers>
<map:serializers default="html">
<map:serializer name="xml"
mime-type="text/xml"
src="org.apache.cocoon.serialization.XMLSerializer"
pool-max="32" pool-min="16" pool-grow="4">
<omit-xml-declaration>no</omit-xml-declaration>
</map:serialzer>
</map:serializers>
<map:pipeline>
<map:match pattern=" ... ">
<map:generate ...../>
<map:transform type="write-file"
src="cocoon:/thefile.xml">
<!-- the Node in the current document, that is
to become the root Node of the saved
file-->
<map:parameter name="file-root" value="doc"/>
</map:transform>
<map:serialize>
</map:match>
</map:pipeline>
Then in the "compose()" method, I want to take the (SiteMap) name of the
Serialser, and retrieve the Component, releasing it in the "dispose()"
method.
Is this possible?
Am I looking at this the right way?
Thanks for any help
regards Jeremy
--
___________________________________________________________________
Jeremy Quinn Karma Divers
webSpace Design
HyperMedia Research Centre
<mailto:[EMAIL PROTECTED]> <http://www.media.demon.co.uk>
<phone:+44.[0].20.7737.6831> <pager:[EMAIL PROTECTED]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]