ovidiu 02/01/31 17:44:14 Modified: src/scratchpad/schecoon/webapp sitemap.xmap Log: Added an example of a named resource, and two possible ways to invoke it: one dynamically, the other one statically. The function code for the resource is now generated correctly, and it is invoked optimally, depending on how the resource name is specified. Revision Changes Path 1.2 +65 -12 xml-cocoon2/src/scratchpad/schecoon/webapp/sitemap.xmap Index: sitemap.xmap =================================================================== RCS file: /home/cvs/xml-cocoon2/src/scratchpad/schecoon/webapp/sitemap.xmap,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- sitemap.xmap 19 Jan 2002 00:58:51 -0000 1.1 +++ sitemap.xmap 1 Feb 2002 01:44:14 -0000 1.2 @@ -2,22 +2,75 @@ <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> - <map:pipelines> + <map:resources> - <map:pipeline> + <map:resource name="document2html"> + <map:generate src="{source}" type="file"/> + <map:transform src="stylesheets/document2html.xsl"/> + <map:serialize/> + </map:resource> - <map:match pattern="documentation/(.*).html"> - <map:generate src="docs/{1}.xml" type="file"/> - <map:transform src="stylesheets/document2html.xsl"/> - <map:serialize/> - </map:match> + </map:resources> - <map:match pattern="sites/images/(.*).gif"> - <map:read src="{1}.gif" mime-type="image/gif"/> - </map:match> + <map:pipelines> + <map:pipeline> - </map:pipeline> + <!-- Simple pipeline which has the pipeline definition inline. --> + <map:match pattern="documentation/(.*).html"> + <map:generate src="docs/{1}.xml" type="file"/> + <map:transform src="stylesheets/document2html.xsl"/> + <map:serialize/> + </map:match> - </map:pipelines> + <!-- Simple pipeline that reads an image from the filesystem --> + <map:match pattern="sites/images/(.*).gif"> + <map:read src="{1}.gif" mime-type="image/gif"/> + </map:match> + + <!-- An example of calling a pipeline defined as resource. The + name of the pipeline to be invoked is specified in the URL of + the request. To test, send a request to + /schecoon/document/index.html + --> + <map:match pattern="(.*)/(.*).html"> + <map:call resource="{1}2html"> + <map:parameter name="source" value="docs/{2}.xml"/> + </map:call> + </map:match> + + <!-- The above example using a predefined pipeline. The + generated sitemap code will notice that the resource reference + is predefined, and will invoke the function definition for the + resource statically, without doing a dynamic lookup as in the + above example. --> + <map:match pattern="(.*).html"> + <map:call resource="document2html"> + <map:parameter name="source" value="docs/{1}.xml"/> + </map:call> + </map:match> + + <!-- This example invokes a Scheme function, defined using + "function": + + (function (my-function sitemap env a b) + ...) + + The function's argument names can appear as parameters inside + the <map:param> elements, like below. A parameter defined in + <map:call> using <map:param>, which is not a formal argument of + the Scheme function, is simply ignored (like the "c" parameter + below). + + --> + <map:match pattern="function/(.*)"> + <map:call function="{1}"> + <map:param name="a" value="1"/> + <map:param name="b" value="2"/> + <map:param name="c" value="3"/> + </map:call> + </map:match> + + </map:pipeline> + </map:pipelines> </map:sitemap>
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]