You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Eduardo Godoy Vega <eg...@mail.tekchile.cl> on 2001/10/22 18:20:13 UTC
[C2] Howto ... IF in sitemap ...
Hi,
I want to use some kind of "IF-ELSE" into sitemap...
right now, I have this code ...
<map:match pattern="process-unveil">
<map:act type="unveil-it">
<map:generate type="serverpages" src="do_unveil.xsp">
<map:parameter name="unveil_result" value="{Count}"/>
<map:parameter name="use-request-parameters" value="true"/>
</map:generate>
<map:transform src="stylesheets/llbean-html.xsl">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
</map:act>
<map:serialize/>
</map:match>
"unveil_result" is a number returned by my action, and I want to choose a
different XSP page if unveil_result is zero or if unveil_result equal one or
if unveil_result is bigger than one ...
I don't want to use java inside XSP pages ... so ... Is it possible to do in
sitemap ??
Thanks
Eduardo.
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
Re: [C2] Howto ... IF in sitemap ...
Posted by Sylvain Wallez <sy...@anyware-tech.com>.
Eduardo Godoy Vega a écrit :
>
> I fixed ... but ... everywhere I found
> this line (including ParameterSelectorFactory.java file)
> <map:selector name="parameter"
> factory="org.apache.cocoon.selection.ParameterSelectorFactory"/>
>
> but ... If I use "src" insted of "factory" ... It works!
>
> BTW ... which is the diff. between use "src" and "factory"??
>
> Eduardo.
>
"factory" was used in early versions of Cocoon 2 to distinguish between
components implementing CodeFactory from regular components, but has
been removed since the sitemap engine detects this automatically. Only
"src" is supported now.
--
Sylvain Wallez
Anyware Technologies - http://www.anyware-tech.com
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
RE: [C2] Howto ... IF in sitemap ...
Posted by Eduardo Godoy Vega <eg...@mail.tekchile.cl>.
I fixed ... but ... everywhere I found
this line (including ParameterSelectorFactory.java file)
<map:selector name="parameter"
factory="org.apache.cocoon.selection.ParameterSelectorFactory"/>
but ... If I use "src" insted of "factory" ... It works!
BTW ... which is the diff. between use "src" and "factory"??
Eduardo.
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
RE: [C2] Howto ... IF in sitemap ...
Posted by Eduardo Godoy Vega <eg...@mail.tekchile.cl>.
I did ... and now I get this error: (sorry, I don't like to ask to much ...
but I can't find a good document about it)
org.apache.cocoon.ProcessingException: Exception in Handler:
org.apache.avalon.framework.component.ComponentException: Could not set up
Component for hint: org\apache\cocoon\www\unveil\sitemap_xmap
at
org.apache.cocoon.sitemap.Handler.throwEventualException(Handler.java:244)
at org.apache.cocoon.sitemap.Handler.regenerate(Handler.java:155)
If I comment the line
<map:selectors default="browser">
<map:selector name="parameter"
factory="org.apache.cocoon.selection.ParameterSelectorFactory"/>
</map:selectors>
I get another error message (the old one):
(/cocoon/unveil/process-unveil) Thread-13/sitemap_xmap: Sitemap
org.apache.avalon.framework.component.ComponentException: UnnamedSelector:
ComponentSelector could not find the component for hint: parameter
so, I have a problem with <map:selector name="parameter"
factory="org.apache.cocoon.selection.ParameterSelectorFactory"/>
I search into cocoon.jar ... and the class file is on it! ... so ...
What's wrong ??? :-(
Thanks!
Eduardo.
-----Original Message-----
From: Sylvain Wallez [mailto:sylvain.wallez@anyware-tech.com]
Sent: Tuesday, October 23, 2001 4:00 AM
To: cocoon-users@xml.apache.org
Subject: Re: [C2] Howto ... IF in sitemap ...
Your <map:components> block isn't organized correctly :
<map:selectors> <--- remove the "/"
<map:selector name="parameter" ... />
</map:selectors> <--- close the block.
A reminder also : the "parameter" selector test a String. This means the
"unveil-it" action should put a string in the Map it returns.
Eduardo Godoy Vega a écrit :
[DELETE]
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
Re: [C2] Howto ... IF in sitemap ...
Posted by Sylvain Wallez <sy...@anyware-tech.com>.
Your <map:components> block isn't organized correctly :
<map:selectors> <--- remove the "/"
<map:selector name="parameter" ... />
</map:selectors> <--- close the block.
A reminder also : the "parameter" selector test a String. This means the
"unveil-it" action should put a string in the Map it returns.
Eduardo Godoy Vega a écrit :
>
> What I'm doing wrong ?
> here is my sitemap
>
> <?xml version="1.0"?>
> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
> <!-- =========================== Components
> ================================ -->
> <map:components>
> <map:generators default="file"/>
> <map:transformers default="xslt"/>
> <map:readers default="resource"/>
> <map:serializers default="html"/>
> <map:selectors default="browser"/>
> <map:selector name="parameter"
> factory="org.apache.cocoon.selection.ParameterSelectorFactory"/>
> <map:matchers default="wildcard">
> <map:matcher name="wildcard"
> src="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
> </map:matchers>
> <map:actions>
> <map:action name="unveil-it"
> src="com.unveil.cocoon.acting.UnveilAction"/>
> </map:actions>
> </map:components>
> <!-- =========================== Pipelines
> ================================= -->
> <map:pipelines>
> <map:pipeline>
> <map:match pattern="">
> <map:redirect-to uri="initial"/>
> </map:match>
> <map:match pattern="initial">
> <map:generate type="serverpages" src="llbean.xsp"/>
> <map:transform src="stylesheets/llbean-html.xsl"/>
> <map:serialize/>
> </map:match>
> <map:match pattern="process-unveil">
> <map:act type="unveil-it">
> <map:select type="parameter">
> <map:parameter name="parameter-selector-test" value="{Count}"/>
> <map:when test="0">
> <map:generate src="count0.xsp"/>
> </map:when>
> <map:when test="1">
> <map:generate src="count1.xsp"/>
> </map:when>
> <map:otherwhise>
> <map:generate src="countMany.xsp"/>
> </map:otherwhise>
> </map:select>
> <map:transform src="stylesheets/llbean-html.xsl">
> <map:parameter name="use-request-parameters" value="true"/>
> </map:transform>
> </map:act>
> <map:serialize/>
> </map:match>
> </map:pipeline>
> </map:pipelines>
> </map:sitemap>
> <!-- end of file -->
>
> And I get this error msg:
>
> ERROR (2001-10-22) 16:58.21:585 [cocoon ]
> (/cocoon/unveil/process-unveil) Thread-13/sitemap_xmap: Sitemap
> org.apache.avalon.framework.component.ComponentException: UnnamedSelector:
> ComponentSelector could not find the component for hint: parameter
> at
> org.apache.avalon.excalibur.component.ExcaliburComponentSelector.select(Unkn
> own Source)
> at
<snip-stacktrace/>
> Eduardo.
--
Sylvain Wallez
Anyware Technologies - http://www.anyware-tech.com
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
RE: [C2] Howto ... IF in sitemap ...
Posted by Eduardo Godoy Vega <eg...@mail.tekchile.cl>.
What I'm doing wrong ?
here is my sitemap
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<!-- =========================== Components
================================ -->
<map:components>
<map:generators default="file"/>
<map:transformers default="xslt"/>
<map:readers default="resource"/>
<map:serializers default="html"/>
<map:selectors default="browser"/>
<map:selector name="parameter"
factory="org.apache.cocoon.selection.ParameterSelectorFactory"/>
<map:matchers default="wildcard">
<map:matcher name="wildcard"
src="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
</map:matchers>
<map:actions>
<map:action name="unveil-it"
src="com.unveil.cocoon.acting.UnveilAction"/>
</map:actions>
</map:components>
<!-- =========================== Pipelines
================================= -->
<map:pipelines>
<map:pipeline>
<map:match pattern="">
<map:redirect-to uri="initial"/>
</map:match>
<map:match pattern="initial">
<map:generate type="serverpages" src="llbean.xsp"/>
<map:transform src="stylesheets/llbean-html.xsl"/>
<map:serialize/>
</map:match>
<map:match pattern="process-unveil">
<map:act type="unveil-it">
<map:select type="parameter">
<map:parameter name="parameter-selector-test" value="{Count}"/>
<map:when test="0">
<map:generate src="count0.xsp"/>
</map:when>
<map:when test="1">
<map:generate src="count1.xsp"/>
</map:when>
<map:otherwhise>
<map:generate src="countMany.xsp"/>
</map:otherwhise>
</map:select>
<map:transform src="stylesheets/llbean-html.xsl">
<map:parameter name="use-request-parameters" value="true"/>
</map:transform>
</map:act>
<map:serialize/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
<!-- end of file -->
And I get this error msg:
ERROR (2001-10-22) 16:58.21:585 [cocoon ]
(/cocoon/unveil/process-unveil) Thread-13/sitemap_xmap: Sitemap
org.apache.avalon.framework.component.ComponentException: UnnamedSelector:
ComponentSelector could not find the component for hint: parameter
at
org.apache.avalon.excalibur.component.ExcaliburComponentSelector.select(Unkn
own Source)
at
org.apache.cocoon.sitemap.SitemapComponentSelector.select(SitemapComponentSe
lector.java:51)
at
org.apache.cocoon.sitemap.SitemapComponentSelector.select(SitemapComponentSe
lector.java:54)
at
org.apache.cocoon.sitemap.SitemapComponentSelector.select(SitemapComponentSe
lector.java:54)
at
org.apache.cocoon.www.unveil.sitemap_xmap.isSelected(sitemap_xmap.java:159)
at
org.apache.cocoon.www.unveil.sitemap_xmap.wildcardMatchN400044(sitemap_xmap.
java:551)
at org.apache.cocoon.www.unveil.sitemap_xmap.process(sitemap_xmap.java:358)
at org.apache.cocoon.www.unveil.sitemap_xmap.process(sitemap_xmap.java:310)
at org.apache.cocoon.sitemap.Handler.process(Handler.java:163)
at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:116)
at
org.apache.cocoon.www.sitemap_xmap.wildcardMatchN400233(sitemap_xmap.java:29
82)
at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:2310)
at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:2212)
at org.apache.cocoon.sitemap.Handler.process(Handler.java:163)
at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:116)
at org.apache.cocoon.Cocoon.process(Cocoon.java:495)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:534)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:81
2)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:213)
at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:484)
Eduardo.
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>
Re: [C2] Howto ... IF in sitemap ...
Posted by Sylvain Wallez <sy...@anyware-tech.com>.
Eduardo Godoy Vega a écrit :
>
> Hi,
> I want to use some kind of "IF-ELSE" into sitemap...
>
> right now, I have this code ...
>
> <map:match pattern="process-unveil">
> <map:act type="unveil-it">
> <map:generate type="serverpages" src="do_unveil.xsp">
> <map:parameter name="unveil_result" value="{Count}"/>
> <map:parameter name="use-request-parameters" value="true"/>
> </map:generate>
> <map:transform src="stylesheets/llbean-html.xsl">
> <map:parameter name="use-request-parameters" value="true"/>
> </map:transform>
> </map:act>
> <map:serialize/>
> </map:match>
>
> "unveil_result" is a number returned by my action, and I want to choose a
> different XSP page if unveil_result is zero or if unveil_result equal one or
> if unveil_result is bigger than one ...
> I don't want to use java inside XSP pages ... so ... Is it possible to do in
> sitemap ??
>
> Thanks
> Eduardo.
>
You can use the "parameter" builtin selector, allowing the following
construct in your sitemap (Count should be a String) :
<map:match pattern="process-unveil">
<map:act type="unveil-it">
<map:select type="parameter">
<map:parameter name="parameter-selector-test" value="{Count}"/>
<map:when test="0">
<map:generate src="count0.xml"/>
</map:when>
<map:when test="1">
<map:generate src="count1.xml"/>
</map:when>
<map:otherwhise>
<map:generate src="countMany.xml"/>
</map:otherwhise>
</map:select>
<map:transform ....
Hope this helps.
--
Sylvain Wallez
Anyware Technologies - http://www.anyware-tech.com
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>