cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Haul <>
Subject Re: current status of global input module / variables
Date Thu, 19 Dec 2002 11:48:31 GMT
On 19.Dec.2002 -- 11:21 AM, Jeremy Quinn wrote:
> On Thursday, Dec 19, 2002, at 10:55 Europe/London, Konstantin Piroumian 
> wrote:
> >From: "Jeremy Quinn" <>
> >>On Thursday, Dec 19, 2002, at 09:14 Europe/London, Konstantin 
> >>Piroumian
> >>>From: "Geoff Howard" <>
> <snip/>
> >>Is it possible to use the XMLModule in such a way that values from the
> >>XML conf file can be overridden by request parameters?
> >
> >Yes, that was the intention for creating the ChainMetaModule. See how 
> >it is
> >configured in cocoon.xconf and add a similar configuration for your 
> >case.
> >
> Something like this in cocoon.xconf? :
> <component-instance
> 	class="org.apache.cocoon.components.modules.input.XMLFileModule" 
> 	logger="core.modules.xml" name="myxml">
>         <file src="context://my-conf.xml"/>
> </component-instance>
> <component-instance
> 	class="org.apache.cocoon.components.modules.input.ChainMetaModule" 
> 	logger="core.modules.input" name="chain">
> 	     <input-module name="request-param"/>
> 	     <input-module name="myxml"/>
> </component-instance>
> Then how do you access the variables in the sitemap?
> Like this?:
> 	{chain:/*/my-var} if I want it overridden by request params

Assume that the parameter is named "my-var" and the my-conf.xml looks


note: this is the only node.

Then you'd access it through

    {chain:/my-var} or {chain:my-var}

If a request parameter with the same name exists, it would be
preferred over the value from the file.

> and
> 	{myxml:/*/myvar} if I do not want an override?

Yes, {myxml:/myvar} or {myxml:myvar} in this case.

So, if your my-conf.xml looks like


it would be {chain:root/section/other-var} and the request parameter
would need to be "root/section/other-var". If you don't like that,
consider adding the SimpleMappingMetaModule around the myxml in the
chain config: (I assume that the component has been declared as simple-map)

 	logger="core.modules.input" name="chain">
         <input-module name="simple-map">
 	       <input-module name="request-param"/>
 	     <input-module name="myxml"/>

which would result is {chain:other-var} being looked up as
{myxml:/root/section/other-var} and {request-param:other-var} but of
course {chain:my-var} would turn into {myxml:/root/section/my-var}
which is not desired here. SimpleMappingMetaModule supports some more
mapping options if you need it.

C h r i s t i a n       H a u l
    fingerprint: 99B0 1D9D 7919 644A 4837  7D73 FEF9 6856 335A 9E08

To unsubscribe, e-mail:
For additional commands, email:

View raw message