> Hello List,
>
> I ve a FlowScript which creates a XML tree.
>
> [snip]
>
> In this example I create a XML file in the servers local harddrice
> (c:/temp/) and afterwards send a request to another sitemap matching
> *.msg.
> This pipeline just shows the xml file on c:/temp. The XMLs name is the
> session ID.
>
> <map:match pattern="*.msg">
> <!-- {global:working-path} = c:/temp -->
> <map:generate type="file" src="{global:working-path}/{1}.xml"/>
> <map:serialize type="xml"/>
> </map:match>
>
>
> This method has some seriouse drawbacks.
> First and most important for me is, that it look quite silly. I think it
> is
> not supposed to be done this way. Would'nt it be much smarter to just drop
> the XML into the result stream that is send to the client anyway than to
> save it on disk?
Yes, definitely. Temporary server-side files suck. ;-)
It looks like what you're trying to do is to simply take a flowscript
object and have that object used as the source when generating the
pipeline. This can be done using the ModuleSource[1] in your
map:generate, for example:
### In the flow: ###
var myXml = getXMLAsStringOrInputStream(); //logic done elsewhere
cocoon.sendPage("send-my-xml", {xml : myXml});
### In the sitemap: ###
<map:match pattern="send-my-xml">
<map:generate src="module:flow-attr:xml" />
<map:transform ... />
<map:serialize ... />
</map:match>
This should work as long as the flow object you pass it is an InputStream,
a String, or a byte array.
Hope that helps.
--Jason
[1]
http://cocoon.apache.org/2.1/apidocs/org/apache/cocoon/components/source/impl/ModuleSource.html
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]