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

Reply via email to