What i miss in your sitemap, is the part where you tell cocoon that the page is a jx script page.
thus:
 <map:match pattern="*.jx">
  <map:generate type="jx" src="scripts/{1}.jx"/>
  <map:serialize type="xml"/>
 </map:match>

Where is this being parsed? or how do you tell cocoon that *.jx pages must be parsed with jx-scripts. Or can i just put this match in the last part you pasted?

regards,
Sven

Mark Lundquist schreef:


Hi Sven!

On Dec 7, 2006, at 2:46 PM, sven goosen wrote:

    What I want to have, is that every *.jx page will be aggregated
    with my menu.xml.


RIght! :-)

    But how can I do this. I can't put an <map:aggregate> in my *.jx
    match. because the <map:generate> is already there.


Yeah, it doesn't make any sense to put an aggregator after a generator, does it?

Like I told somebody else a while back, "Think pull, not push". When you think about the matcher that's going to match a request, don't think first about how where the data stream starts, instead think about the /end/ of the pipeline, because that's how your matcher has to end (or with a redirect), then work backwards.

Here's what I always do... something like this:

<match pattern="**"> <!-- Everything!!!! -->
<call resource="page.html">
<parameter name="page" value="{0}"/>
</call>
</match>

<resource name="page.html">
<aggregate element="page">

<!-- Here's the "pull"... match this to get main
content source for the page -->
<part element="source" src="cocoon:/{page}.source" />


<part element="nav" src="whatever" />
<!-- etc... -->
</aggregate>
<transform src="context:/xslt/site/page.xslt"/> <!-- whatever-->
<serialize type="html"/>
</resource>

Now, you can have any number of matchers to provide content source in a variety of ways, e.g.

<!-- client requested "foo"; flow handles this one... -->
<match pattern="foo.source">
<call function="foo"/>
</match>

<!-- continuations -->
<match pattern="**.continue.source">
<call continuation="{1}"/>
</match>

<!-- everything else: just regular xhtml -->
<match pattern="**.source">
<generate src="context:/content/{1}.xml"/>
<serialize type="xml"/>
</match>


Cheers and HTH,
—ml—

PS — I actually like use ":source" instead of ".source", but that doesn't work without a patch. Cocoon is broken and throws an exception if you try to use a colon inside the context-path part of a URI. The patch hasn't been accepted into Cocoon yet though... :-/



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to