> 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]

Reply via email to