You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Kees van Dieren <ke...@yahoo.com> on 2004/12/16 17:25:19 UTC

Mounting multiple subsitemaps into one main sitemap

Dear Cocoon users,

I try to mount three subsitemaps into one subsitemap. 

However, only the first matching mount seems toe be
called; the second is never called.

My code in the main sitemap:

...
<map:pipelines>
  <map:pipeline>
    <!-- no match tag, always called! -->
    <map:mount uri-prefix="" 
src="../clientx/customizations.xmap" 
check-reload="yes" reload-method="synchron"/>
  </map:pipeline>
  <map:pipeline>
    <map:match pattern="module1">
        <map:mount uri-prefix="module1"
src="../module1/module1-sitemap.xmap" 
check-reload="yes" reload-method="synchron"/>
    </map:match>
    <map:match pattern="module2">
        <map:mount uri-prefix="module2"
src="../module2/module2-sitemap.xmap" 
check-reload="yes" reload-method="synchron"/>
    </map:match>
  </map:pipeline>
</map:pipelines>
...

The thing I woul like to happen, is the following:
- the main sitemap mounts customizations.xmap
    - if there is a map:match in this sitemap, stop
processing the sitemap
    - if there is no match continue with the main
sitemap (handling module1 or module2.)

However, Cocoon seems to stop processing the pipelines
of the main sitemap, after the first map:mount call
was made, even if there was no map:match executed in
the customization.xmap

I would like to have such a way of using the sitemap,
to override client-specificy code from the default
implementation in module1 or module2.

What am I doing wrong, or are there any other ways to
do handle this?

Kind regards,

Kees van Dieren


		
__________________________________ 
Do you Yahoo!? 
All your favorites on one personal page � Try My Yahoo!
http://my.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Mounting multiple subsitemaps into one main sitemap

Posted by Kees van Dieren <ke...@yahoo.com>.
Thanks!
I Generate a DTD containing the external entities,
which works great. 

Met vriendelijke groeten,

Kees
--- Lars Huttar <la...@sil.org> wrote:

> Dag meneer...
> My understanding is that the behavior you described
> is the way 
> <map:mount> works; once it is "executed" there is no
> return.
> That is of course why it usually occurs inside a
> <map:match> element.
> 
> One way to do what you wanted to do would be to use
> an external entity:
> 
>   <map:pipeline>
>     &client-cust;
> 
>     <map:match ...
> 
> The external entity would be declared at the
> beginning of your sitemap.
> 
> I haven't tried this but I think it would work.
> 
> Lars
> 
> 
> 
> 
> Kees van Dieren wrote:
> 
> >Dear Cocoon users,
> >
> >I try to mount three subsitemaps into one
> subsitemap. 
> >
> >However, only the first matching mount seems toe be
> >called; the second is never called.
> >
> >My code in the main sitemap:
> >
> >...
> ><map:pipelines>
> >  <map:pipeline>
> >    <!-- no match tag, always called! -->
> >    <map:mount uri-prefix="" 
> >src="../clientx/customizations.xmap" 
> >check-reload="yes" reload-method="synchron"/>
> >  </map:pipeline>
> >  <map:pipeline>
> >    <map:match pattern="module1">
> >        <map:mount uri-prefix="module1"
> >src="../module1/module1-sitemap.xmap" 
> >check-reload="yes" reload-method="synchron"/>
> >    </map:match>
> >    <map:match pattern="module2">
> >        <map:mount uri-prefix="module2"
> >src="../module2/module2-sitemap.xmap" 
> >check-reload="yes" reload-method="synchron"/>
> >    </map:match>
> >  </map:pipeline>
> ></map:pipelines>
> >...
> >
> >The thing I woul like to happen, is the following:
> >- the main sitemap mounts customizations.xmap
> >    - if there is a map:match in this sitemap, stop
> >processing the sitemap
> >    - if there is no match continue with the main
> >sitemap (handling module1 or module2.)
> >
> >However, Cocoon seems to stop processing the
> pipelines
> >of the main sitemap, after the first map:mount call
> >was made, even if there was no map:match executed
> in
> >the customization.xmap
> >
> >I would like to have such a way of using the
> sitemap,
> >to override client-specificy code from the default
> >implementation in module1 or module2.
> >
> >What am I doing wrong, or are there any other ways
> to
> >do handle this?
> >
> >Kind regards,
> >
> >Kees van Dieren
> >
> >  
> >
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail:
> users-help@cocoon.apache.org
> 
> 



		
__________________________________ 
Do you Yahoo!? 
Send holiday email and support a worthy cause. Do good. 
http://celebrity.mail.yahoo.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Re: Mounting multiple subsitemaps into one main sitemap

Posted by Lars Huttar <la...@sil.org>.
Dag meneer...
My understanding is that the behavior you described is the way 
<map:mount> works; once it is "executed" there is no return.
That is of course why it usually occurs inside a <map:match> element.

One way to do what you wanted to do would be to use an external entity:

  <map:pipeline>
    &client-cust;

    <map:match ...

The external entity would be declared at the beginning of your sitemap.

I haven't tried this but I think it would work.

Lars




Kees van Dieren wrote:

>Dear Cocoon users,
>
>I try to mount three subsitemaps into one subsitemap. 
>
>However, only the first matching mount seems toe be
>called; the second is never called.
>
>My code in the main sitemap:
>
>...
><map:pipelines>
>  <map:pipeline>
>    <!-- no match tag, always called! -->
>    <map:mount uri-prefix="" 
>src="../clientx/customizations.xmap" 
>check-reload="yes" reload-method="synchron"/>
>  </map:pipeline>
>  <map:pipeline>
>    <map:match pattern="module1">
>        <map:mount uri-prefix="module1"
>src="../module1/module1-sitemap.xmap" 
>check-reload="yes" reload-method="synchron"/>
>    </map:match>
>    <map:match pattern="module2">
>        <map:mount uri-prefix="module2"
>src="../module2/module2-sitemap.xmap" 
>check-reload="yes" reload-method="synchron"/>
>    </map:match>
>  </map:pipeline>
></map:pipelines>
>...
>
>The thing I woul like to happen, is the following:
>- the main sitemap mounts customizations.xmap
>    - if there is a map:match in this sitemap, stop
>processing the sitemap
>    - if there is no match continue with the main
>sitemap (handling module1 or module2.)
>
>However, Cocoon seems to stop processing the pipelines
>of the main sitemap, after the first map:mount call
>was made, even if there was no map:match executed in
>the customization.xmap
>
>I would like to have such a way of using the sitemap,
>to override client-specificy code from the default
>implementation in module1 or module2.
>
>What am I doing wrong, or are there any other ways to
>do handle this?
>
>Kind regards,
>
>Kees van Dieren
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org