You can't generate a pipeline parameter *within* the pipeline.
You'll have to split it into two (or more) separate pipelines.
There are several ways of doing that.
One method would be to use flowscript:

processPipelineTo( ... ) # this step does the xslt transform and outputs the <file> element...
                                 # returns an output stream...
                                 # parse the output and grab /files/file/text() 
...
        sendPage( ... )          # call 2nd pipeline adding file value as a 
parameter.


But maybe the OP should think about whether it's really necessary to route that thru the sitemap as a parameter. Take a look, for example, at the Zip archive serializer :
        http://cocoon.apache.org/2.1/userdocs/ziparchive-serializer.html

Note especially that the sources can be other pipelines, so files in the zip archive
can be generated on the fly.

( If what you're trying to do doesn't seem to fit into the pipeline model, sometimes
  you just have to rethink whether you need to "push" or "pull" . )

In the original post, it was also unclear whether the XSL variable was going to be part of the output of the transform, or if the OP expected to somehow get it's value as a side effect of doing the transform. The only way to get something out of the
transform is thru it's output -- there are no side effects.

-- Steve Majewski


On Jul 28, 2010, at 4:48 AM, Alec Bickerton wrote:

XML is generated via a generator.

<data>
        <name>file</name>
        <value>Albatross</value>
        <temp.path>/tmp/files/xyz/</temp.path>
</data>

A transformation occurs so that the XML looks like ...

<files>
        <file name="Albatross">/tmp/files/xyz/Albatross</file>
</files>

Later in the pipe, and action could be to do something to the file (Compress it for example)

something like <map:act type="doMagic" src="{xpath:/files/ fi...@name='Albatross']/text()}"}>
        ... do some other stuff...
</map:act>

Having spoken with the OP, theyare looking for a way to pass the value of the file element in the transformed XML to the sitemap. Maybe I've missed something obvious but I would have thought this functionality would be present in the framework.

My assumption is that the DOM is held in memory somewhere after generation and passed to the various transformers before eventually being serialised. Surely there is a way to access the content of the DOM prior to serialisation. Does anyone
know how?

Alec,




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
For additional commands, e-mail: users-h...@cocoon.apache.org

Reply via email to