RE: Sitemap: path matching
Can you give a few possible examples of the pattern that you're trying to match? Ps. Maybe a bit nasty as solution but let's say you want to handle multiple productId's Pattern=generateProduct/* Example generateProduct/[P1, P2, P3] You just pass '[P1,P2,P3]' to your generator as a single argument and let the generator extract the ids. Robby From: Jos Snellings [mailto:jos.snelli...@upperware.biz] Sent: Thursday, May 24, 2012 4:31 PM To: cocoon-us...@apache.org Subject: Sitemap: path matching Hi all, I am looking for a way to pass a variable number of sitemap parameters to a sitemap component: I explain the use case: ** stands for non-greedy multiple segment matcher, no? map:match pattern=retrievebypath/**/{name}.{extension} map:generate type=retrieve map:parameter ? /map:generate /map:match Of course you could {1}, {2}, {3} but that is a clutch. Is there an elegant way? Kind regards, Jos -- The doctrine of human equality reposes on this: that there is no man really clever who has not found that he is stupid. -- Gilbert K. Chesterson
Re: Sitemap: path matching
Hi Robby, Here's an example: a href=matchbypath/virtualrootfolder/themes/conservation/index.html conservation /a = this is to be a hit for a matcher, and what I would like to pass to the generator: matchbypath/{path}/{name}.{extension} Of course, the pipeline matcher cannot know how many segments there will be. Cheers, Jos On Thu, May 24, 2012 at 4:38 PM, Robby Pelssers robby.pelss...@nxp.comwrote: Can you give a few possible examples of the pattern that you’re trying to match? ** ** Ps. Maybe a bit nasty as solution but let’s say you want to handle multiple productId’s ** ** ** ** Pattern=”generateProduct/*” ** ** Example ** ** generateProduct/[P1, P2, P3] ** ** You just pass ‘[P1,P2,P3]’ to your generator as a single argument and let the generator extract the ids. ** ** Robby ** ** *From:* Jos Snellings [mailto:jos.snelli...@upperware.biz] *Sent:* Thursday, May 24, 2012 4:31 PM *To:* cocoon-us...@apache.org *Subject:* Sitemap: path matching ** ** Hi all, I am looking for a way to pass a variable number of sitemap parameters to a sitemap component: I explain the use case: ** stands for non-greedy multiple segment matcher, no? map:match pattern=retrievebypath/**/{name}.{extension} map:generate type=retrieve map:parameter ? /map:generate /map:match Of course you could {1}, {2}, {3} but that is a clutch. Is there an elegant way? Kind regards, Jos -- The doctrine of human equality reposes on this: that there is no man really clever who has not found that he is stupid. -- Gilbert K. Chesterson -- The doctrine of human equality reposes on this: that there is no man really clever who has not found that he is stupid. -- Gilbert K. Chesterson
RE: Sitemap: path matching
But as a little side note: If all files in these folders were treated uniformely.. let's say with a map:read You could just as well do Map:match pattern= matchbypath/** map:read src={1}/ From: Robby Pelssers [mailto:robby.pelss...@nxp.com] Sent: Thursday, May 24, 2012 4:48 PM To: users@cocoon.apache.org Subject: RE: Sitemap: path matching The only way to work around this is what I've used in the past. matchbypath/index.html/virtualrootfolder/themes/conservation pattern=matchbypath/*.*/** From: Jos Snellings [mailto:jos.snelli...@upperware.biz] Sent: Thursday, May 24, 2012 4:45 PM To: users@cocoon.apache.org Subject: Re: Sitemap: path matching Hi Robby, Here's an example: a href=matchbypath/virtualrootfolder/themes/conservation/index.html conservation /a = this is to be a hit for a matcher, and what I would like to pass to the generator: matchbypath/{path}/{name}.{extension} Of course, the pipeline matcher cannot know how many segments there will be. Cheers, Jos On Thu, May 24, 2012 at 4:38 PM, Robby Pelssers robby.pelss...@nxp.commailto:robby.pelss...@nxp.com wrote: Can you give a few possible examples of the pattern that you're trying to match? Ps. Maybe a bit nasty as solution but let's say you want to handle multiple productId's Pattern=generateProduct/* Example generateProduct/[P1, P2, P3] You just pass '[P1,P2,P3]' to your generator as a single argument and let the generator extract the ids. Robby From: Jos Snellings [mailto:jos.snelli...@upperware.bizmailto:jos.snelli...@upperware.biz] Sent: Thursday, May 24, 2012 4:31 PM To: cocoon-us...@apache.orgmailto:cocoon-us...@apache.org Subject: Sitemap: path matching Hi all, I am looking for a way to pass a variable number of sitemap parameters to a sitemap component: I explain the use case: ** stands for non-greedy multiple segment matcher, no? map:match pattern=retrievebypath/**/{name}.{extension} map:generate type=retrieve map:parameter ? /map:generate /map:match Of course you could {1}, {2}, {3} but that is a clutch. Is there an elegant way? Kind regards, Jos -- The doctrine of human equality reposes on this: that there is no man really clever who has not found that he is stupid. -- Gilbert K. Chesterson -- The doctrine of human equality reposes on this: that there is no man really clever who has not found that he is stupid. -- Gilbert K. Chesterson
Re: Sitemap: path matching
Yep, I will give that a try ! Thanks, Robby, Jos
Re: Sitemap: path matching
Hello Gilbert, A way to catch multiple parameter is to have your own stylesheet where you define as many parameters as you need and then you use the XSLT Transformer[1] to get them on your pipeline. The way to retrieve your parameters is setting to true the property use-request-parameters at your pipeline, eg: map:match pattern=retrievebypath/**/{name}.{extension} map:generate type=retrieve/ map:transform src=my_xslt.xslt map:parameter name=use-request-parameters value=true/ /map:transform /map:match BTW - The '**' wildcard is greedy and thus the following sample matches as {foo/bar,baz,bug}. [1] http://cocoon.apache.org/2.1/userdocs/xslt-transformer.html Thanks. Kind regards, Karen Torres. Hi all, I am looking for a way to pass a variable number of sitemap parameters to a sitemap component: I explain the use case: ** stands for non-greedy multiple segment matcher, no? map:match pattern=retrievebypath/**/{name}.{extension} map:generate type=retrieve map:parameter ? /map:generate /map:match Of course you could {1}, {2}, {3} but that is a clutch. Is there an elegant way? Kind regards, Jos -- The doctrine of human equality reposes on this: that there is no man really clever who has not found that he is stupid. -- Gilbert K. Chesterson - To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org For additional commands, e-mail: users-h...@cocoon.apache.org
RE: Sitemap: path matching
That won't solve Jos's issue I'm afraid. From the docs it states: 'If set to true the values of a request parameter is available using a variable in the xslt with the name of the parameter.' Jos doesn’t know which parameters will be passed upfront. This is merely a shortcut that prevents you from typing all parameters as map:parameter .../ Robby -Original Message- From: ktor...@agssa.net [mailto:ktor...@agssa.net] Sent: Thursday, May 24, 2012 6:55 PM To: users@cocoon.apache.org Cc: cocoon-us...@apache.org Subject: Re: Sitemap: path matching Hello Gilbert, A way to catch multiple parameter is to have your own stylesheet where you define as many parameters as you need and then you use the XSLT Transformer[1] to get them on your pipeline. The way to retrieve your parameters is setting to true the property use-request-parameters at your pipeline, eg: map:match pattern=retrievebypath/**/{name}.{extension} map:generate type=retrieve/ map:transform src=my_xslt.xslt map:parameter name=use-request-parameters value=true/ /map:transform /map:match BTW - The '**' wildcard is greedy and thus the following sample matches as {foo/bar,baz,bug}. [1] http://cocoon.apache.org/2.1/userdocs/xslt-transformer.html Thanks. Kind regards, Karen Torres. Hi all, I am looking for a way to pass a variable number of sitemap parameters to a sitemap component: I explain the use case: ** stands for non-greedy multiple segment matcher, no? map:match pattern=retrievebypath/**/{name}.{extension} map:generate type=retrieve map:parameter ? /map:generate /map:match Of course you could {1}, {2}, {3} but that is a clutch. Is there an elegant way? Kind regards, Jos -- The doctrine of human equality reposes on this: that there is no man really clever who has not found that he is stupid. -- Gilbert K. Chesterson - To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org For additional commands, e-mail: users-h...@cocoon.apache.org