cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <joerg.heini...@gmx.de>
Subject Re: CInclude with cocoon:/ ?
Date Fri, 16 Jan 2004 19:38:04 GMT
Hello Katharina,

it's not a problem with cinclude and cocoon:/. The error message "No 
pipeline matched request: getNameForAttribute" already points out, that 
the request is sent back to the sitemap and this is what should happen.

Your internal request is
cocoon:/getNameForAttribute
?Path=<xsl:value-of select="$project"/>/
       <xsl:value-of select="$year"/>/
       <xsl:value-of select="$model"/>/
       <xsl:value-of select="$design"/>/
       <xsl:value-of select="$sheet"/>

This means a match for "getNameForAttribute" is searched. The problem 
now is that it does not exist, it only exists for 
"getNameForAttribute/**". Furthermore an internal request has the same 
request object as the external one, all request params are so still 
available. To avoid conflicts you should not use request params for 
internal requests.

My suggestion is to change your internal request to

cocoon:/getNameForAttribute/
       <xsl:value-of select="$project"/>/
       <xsl:value-of select="$year"/>/
       <xsl:value-of select="$model"/>/
       <xsl:value-of select="$design"/>/
       <xsl:value-of select="$sheet"/>

and the corresponding pipeline to

<map:match pattern="getNameForAttribute/**">
   <map:generate 
src="xmldb:exist://localhost:8080/exist/xmlrpc/db/#collection('plaene/{1}')//nameObj"/>
   <map:serialize type="xml"/>
</map:match>

If you don't want to switch away from the request param you have to 
change your match pattern to just "getNameForAttribute".

Joerg

On 16.01.2004 15:03, Katharina Weimer wrote:

> Hi everyone,
> maybe anyone of you can help me out with this….
> 
> I’m working with Cocoon 2.1.2 and Tomcat 4.1.27 and I’m trying to use the
> CInclude Transformer with the cocoon:/ protocol.
> 
> (Pipelines, XSLT Stylesheet and XML files are shown below)
> 
>  I’m starting with a request for the pipeline cIncludeTest, which works
> fine. Thereby the pipeline  cInclude/*/*/*/*/* is called and 5 parameters get
> passed which is working fine as well.
> So I’m able to get the right file from the database (in this case eXist
> 0.9.2).
> The 5 parameters also get passed to the following XSLT Stylesheet (which is
> shown below too). 
> After transforming the file from the database with the stylesheet
> (useCInclude.xsl) the tempfile looks like the one I pasted below -->
> tempCIncludeTest.xml
> Actually now the CInclude Transformer should come to play an replace  the
> cinclude tags in the temp file with the results from the getNameForAttribute
> Pipeline.
> But somehow I get the error “No pipeline matched request:
> getNameForAttribute”..
> 
> (To me it seems as if the cocoon:/ protocol is not resolved at all….but I’m
> not sure. If so – what else can I do to get it work this way?)
> 
> So, has anybody a clue, what is wrong with my usage of the CInclude
> Transformer, the pipelines or anything else ?
> 
> Any hint is appreciated!
> Greets,
> Katharina


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


Mime
View raw message