You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Jan Hinzmann <ja...@geeksonly.de> on 2004/12/01 23:53:58 UTC

Re: accessing flowscript parameters in a sitemap RESOLVED

:o) thx to Yatin Shah and his post here:
http://www.mail-archive.com/dev@cocoon.apache.org/msg11753.html

my problem is solved.
maybe someone puts this in the wiki??

gn8 everyone

----floscript---------------------------------------------------------------------
function enricheXML(urnforthexml){
	var enrichedXML = java.io.ByteArrayOutputStream();
     var pipeutil = cocoon.createObject(Packages.org.apache.cocoon.components.flow.util.PipelineUtil);
	pipeutil.processToStream("enricheXML", {"urn":urnforthexml}, enrichedXML);
	return enrichedXML.toString();
}
----sitemap----------------------------------------------------------------------
<!-- ==Pattern for the XMLenrichement ====================================== -->
		 <map:match pattern="enricheXML">
                <map:generate src="{request-param:uploadfile}" />
                <map:transform src="xsl/enrichement.xsl" >
                   <map:parameter name="url" value="{request-param:uploadurl}" />
                   <map:parameter name="urn" value="{flow-attribute:urn}" />
                </map:transform>
                <map:serialize type="xml" />
          </map:match>
----stylesheet------------------------------------------------------------------
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="xml"/>
   <xsl:param name="urn" />
   <xsl:param name="url" />

   <xsl:template match="/">
     <enriched>
	<URL><xsl:value-of select="$url"/></URL>
	<URN><xsl:value-of select="$urn"/></URN>
	<xsl:copy-of select="/"/>
     </enriched>
   </xsl:template>
</xsl:stylesheet>

Jan Hinzmann wrote:
> Hi cocooners
> Consider the following
> I have a webapp,  where the user can upload a xmlfile (called 
> 'uploadfile') and enter a url (called 'uploadurl') the webapp then 
> transforms the uploaded xmlfile and enriches it with the url and a 
> computed value 'urn' (calculated in a flowscript).
> after the flowscript is ready it calles
> 
>     'cocoon.processPipelineTo("myPipeline, valueToBeAdded, 
> streamToGetTheResultOfTheTransformation);'
> 
> But I dont get the point, how to access my passed parameter in the 
> pipeline?
> plz help me out. thanks
> 
> flowscript:
> ...
> function enricheXML(urnforthexml){
>     var enrichedXML = java.io.ByteArrayOutputStream();
>     cocoon.processPipelineTo("enricheXML", urnForTheXml, enrichedXML);
>     return enrichedXML.toString();
> }
> ...
> 
> and the sitemap:
> ...
> <!-- ==Pattern for the XMLenrichement 
> ====================================== -->
>          <map:match pattern="enricheXML">
>                <map:generate src="{request-param:uploadfile}" />
>                <map:transform src="xsl/enrichement.xsl" >
>                   <map:parameter name="url" 
> value="{request-param:uploadurl}" />
> 
>           <!-- how do i access the  parameter passed from the 
> flowscript? -->
>                   <map:parameter name="urn" value="{request-param:urn}" />
> 
>                </map:transform>
>                <map:serialize type="xml" />
>          </map:match>
> 
> ...
> 
> the enrichement.xsl is :
> ...
> <xsl:stylesheet version="1.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>   <xsl:output method="xml"/>
>   <xsl:param name="urn" />
>   <xsl:param name="url" />
> 
>   <xsl:template match="/">
>     <enriched>
>     <URL><xsl:value-of select="$url"/></URL>
>     <URN><xsl:value-of select="$urn"/></URN>
>     </enriched>
>   </xsl:template>
> 
> </xsl:stylesheet>
> ...

-- 
Gruss Jan Hinzmann

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