> From: Per Kreipke [mailto:[EMAIL PROTECTED]]
>
> > > - If I call another pipeline with an XSP file using the cocoon:
> > > protocol, it
> > > doesn't seem as if the caller's sitemap parameters are available
> > > to any XSP
> >
> > _sitemap_ parameters are not available to _any_ XSP. Only parameters
> > declared _on_ generator/transformer/action/matcher/selector are
> > available to the component.
>
> Fine, you're saying that "sitemap parameters" are different than the
"Sitemap parameters" which are available for substitution as {1},
{name}, {../other}, etc, *are* different from the <map:parameter/>s on
components.
"Sitemap parameters" is a Stack of Maps, and every matcher/action adds
one more Map to it, and it is removed as soon as matcher/action tag is
closed. To navigate the stack, you have directory-like {../../1} syntax.
> map:parameters that are declared on gen/trans/action/match/select
sections.
>
> Then let me ask: are the caller's parameters available to the callee
below?
>
> > > the called pipeline. Is that true? E.g.
> > >
> > > <!-- Callee -->
> > > <map:match pattern="config">
> > > <map:generate src="config.xsp" />
> > > <map:serialize type="xml" />
> > > </map:match>
> > >
> > > <!-- Caller -->
> > > <map:match pattern="*/foo">
> > > <map:generate src="cocoon:/config>
> > > <map:parameter name="client" value="{2}" />
> >
> > Does this syntax exist? (too lazy to check source code...)
>
> First, should have been {1}.
> Second, what syntax do you mean?
Sorry, did not get at first.
Parameter declared on the generator will be available *only* to this
generator. What generator will do with it - it's a different question.
In this particular case, this parameter will be used nowhere.
> > > </map:generate>
> > > </map:match>
> > >
> > > in config.xsp, I can't get the value of {client} through
> > > parameters.getParameter("client").
>
> > > - corollary: is the stack of parameters available to XSP file?
> >
> > No.
>
> Sigh.
"Sitemap parameters", this stack of maps, will not exist once execution
of sitemap is finished. And execution of XSP will not start before
execution of sitemap is finished.
> > > Or is there a
> > > way of getting the parent of the parameters?
> >
> > Sorry, did not get this one.
>
> Can I (from XSP) ask for parameters.getParameter("../../client") for
> example?
No. You can ask only for parameters which are declared on XSP.
Example 1:
<!-- Callee -->
<map:match pattern="config">
<map:match type="reqest-parameter" pattern="client">
<map:generate src="config.xsp">
<map:parameter name="client" value="{1}"/>
</map:generate>
<map:serialize type="xml" />
</map:match>
<!-- Caller -->
<map:match pattern="*/foo">
<map:generate src="cocoon:/config?client={1}"/>
<map:serialize type="xml" />
</map:match>
Example 2:
<!-- Callee -->
<map:match pattern="config/*">
<map:generate src="config.xsp">
<map:parameter name="client" value="{1}"/>
</map:generate>
</map:match>
<!-- Caller -->
<map:match pattern="*/foo">
<map:generate src="cocoon:/config/{1}"/>
<map:serialize type="xml" />
</map:match>
Vadim
> Per
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>
To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>