forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Gardler <rgard...@apache.org>
Subject Re: cocoon protocols
Date Mon, 06 Jun 2005 10:23:24 GMT
Tim Williams wrote:
> I'd like to clarify my understanding of the use of cocoon protocols in
> forrest.  The cocoon documentation says:
> # context://  - get a resource using the servlet context
> # cocoon:/ - get a pipeline from the current sitemap
> # cocoon:// - get a pipeline using the root sitemap
> # resource:// - get a resource from the context classloader
> 
> 1) Are cocoon:/ and cocoon:// interchangable within the conceptual
> sitemap space of forrest (e.g., \main\webapp\*.xmap)?  Anecdotally,
> nothing seems to break when I modify existing ones.

My understanding is...

cocoon:/ will *only* match something in the current sitemap (i.e. not
those in mounted sitemaps or sitemaps from which the current one was
mounted). I'm not sure if it will match in mounted sitemaps below this
one, I suspect it will not, but could be wrong.

cocoon:// will mount from *any* sitemap in the app

In other words, you can make it break if you change the wrong one.

> 2) The same doesn't appear to hold true of forrest-core.xconf as
> things do break if the correct one isn't used.  Since all of them here
> are to the root sitemap (e.g., cocoon://) is forrest-core.xconf
> outside the forrest conceptual sitemap?

Pass

> 3) Are project specific sitemap.xmaps are separate root sitemaps or
> extensions of the forrest application sitemap?


The are mounted from the application sitemap by the following:

<!--
   This is the user pipeline, that can answer requests instead
   of the Forrest one, or let requests pass through.
   To take over the rendering of a file it must match the file name and
path.
   To take over the generation of the intermediate format, it must give
   Forrest the same filename but ending with xml, and a DTD that Forrest
   recognizes.
-->
       <map:pipeline internal-only="false">
            <map:select type="exists">
              <map:when test="{project:sitemap}">
                <map:mount uri-prefix=""
                           src="{project:sitemap}"
                           check-reload="yes"
                           pass-through="true"/>
              </map:when>
            </map:select>
       </map:pipeline>

Ross



Mime
View raw message