Hi all,
it seems to me like it is not possible to perform multiple <map:call
resource="xxx"/> calls in a single matcher.
Fragments from my sitemap:
[...]
<map:resources>
<map:resource name="aspetto-finale">
<map:transform src="_xsl/style.xsl">
<map:parameter name="nome" value="{nome}"/>
<map:parameter name="cognome" value="{cognome}"/>
<map:parameter name="doc_name" value="{../1}"/>
</map:transform>
<map:serialize/>
</map:resource>
<map:resource name="crea-form-dati">
<map:transform src="_xsl/data0.xsl"/>
<map:transform src="_xsl/data.xsl"/>
<map:serialize/>
</map:resource>
</map:resources>
[...]
<map:match pattern="data/*">
[...]
<map:call resource="crea-form-dati"/>
<map:call resource="aspetto-finale"/>
<map:serialize/>
</map:act>
</map:match>
[...]
Both resources work, if used only one at a time. But, as soon as I try to
use both of them in a single matcher, I get the following exception:
duplicate definition of variable methodName in method matchN10092
[...] duplicate definition of variable argTypes in method matchN10092 [...]
duplicate definition of variable argValues in method matchN10092 [...]
which is obvious, if we look at the generated sitemap.java:
map = new HashMap(1);
String methodName = "resource_" + substitute(listOfMaps,
"crea_form_dati");
listOfMaps.add(map);
this.dumpParameters(listOfMaps);
Class[] argTypes = new Class[] {StreamPipeline.class,
EventPipeline.class, List.class, Environment.class, String.class,
Boolean.TYPE};
Object[] argValues = new Object[] {pipeline, eventPipeline,
listOfMaps, environment, cocoon_view, new Boolean(internalRequest)};
if (true) return invokeMethod(methodName, argTypes, argValues);
map = new HashMap(1);
String methodName = "resource_" + substitute(listOfMaps,
"aspetto_finale");
listOfMaps.add(map);
this.dumpParameters(listOfMaps);
Class[] argTypes = new Class[] {StreamPipeline.class,
EventPipeline.class, List.class, Environment.class, String.class,
Boolean.TYPE};
Object[] argValues = new Object[] {pipeline, eventPipeline,
listOfMaps, environment, cocoon_view, new Boolean(internalRequest)};
if (true) return invokeMethod(methodName, argTypes, argValues);
Any hints? Am I doing wrong in trying to call two resources in a matcher?
Are there any correct alternatives?
Thanks in advance to anyone,
L.
---------------------------------------------------------------------
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]>