home *** CD-ROM | disk | FTP | other *** search
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Copyright 1999-2004 The Apache Software Foundation
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
- <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.0//EN" "document-v10.dtd">
-
- <!--
- <![CDATA[ CVS Version: $Id: requestparameter-selector.xml,v 1.8 2004/05/08 08:57:58 crossley Exp $
- ]]>
- -->
-
- <document>
- <header>
- <title>RequestParameter-Selector in Cocoon</title>
- <version>0.9</version>
- <type>Technical document</type>
- <authors>
- <person name="Bernhard Huber" email="huber@apache.org"/>
- </authors>
- <abstract>This document describes the RequestParameterSelector of Cocoon.</abstract>
- </header>
- <body>
- <s1 title="RequestParameterSelector">
- <table>
- <tr>
- <td>NAME</td><td>request-parameter</td>
- </tr>
- <tr>
- <td>WHAT</td><td>The <code>RequestParameterSelector</code> component is used to
- select appropriate sitemap processing depending on a request parameter
- value.
- </td>
- </tr>
- <tr>
- <td>TYPE</td><td>Selector, Sitemap Component</td>
- </tr>
- <tr>
- <!-- choose Core, the block name, or Scratchpad
- depending on where RequestParameterSelector sources live
- -->
- <td>BLOCK</td><td>Core</td>
- </tr>
- <tr>
- <td>CLASS</td><td>org.apache.cocoon.selection.RequestParameterSelector</td>
- </tr>
- <!-- uncomment folling tr iff RequestParameterSelector is deprecated -->
- <!--tr>
- <td>DEPRECATED</td><td>Cocoon 2.0, 2.1</td>
- </tr-->
- <tr>
- <td>SINCE</td><td>Cocoon 2.0</td>
- </tr>
- <tr>
- <td>CACHEABLE</td><td>not applicable</td>
- </tr>
- </table>
- </s1>
- <s1 title="Description">
- <p>
- The <code>RequestParameterSelector</code> tests the value of request parameter
- against the test attribute of the selector's when clause.
- </p>
- </s1>
- <s1 title="Usage">
- <p>
- The <code>RequestParameterSelector</code> allows to control the
- sitemap processing depending on a request parameter.
- </p>
- <s2 title="Sitemap pipeline examples">
- <p>
- The snippet below uses a <code>RequestParameterSelector</code> named <code>request-parameter</code>.
- It tests the value of request parameter named <code>command</code> against
- <code>list</code>, <code>create</code>; finally it has a <code>otherwise</code> clause.
- </p>
- <source><![CDATA[
- <map:select type="request-parameter">
- <map:parameter name="parameter-name" value="command"/>
- <map:when test="list">
- ....
- </map:when>
- <map:when test="create">
- ...
- </map:when>
- ...
- <map:otherwise>
- ...
- </map:otherwise>
- </map:select>
- ]]></source>
- </s2>
-
- <s2 title="Sitemap component configuration example">
- <p>
- The snippet below declares a <code>RequestParameterSelector</code>
- defining to use the request parameter <code>command</code>.
- </p>
- <source><![CDATA[
- <map:selectors...
- <map:selector name="request-parameter"
- src="org.apache.cocoon.selection.RequestParameterSelector"
- logger="sitemap.selector.requestparameter">
-
- <parameter-name>command</parameter-name>
- </map:selectors>
- ...
- ]]></source>
- </s2>
- <s2 title="Configuration">
- <p>
- <!-- Explain the sitemap selector configuration, options when declaring request-parameter selector -->
- The configuration section of <code>RequestParameterSelector</code> specifies
- the default name of the request parameter, used for testing.
- </p>
- </s2>
- <s2 title="Setup">
- <p>
- <!-- Explain the sitemap selector setup, ie options when using request-parameter selector -->
- Setting up a <code>RequestParameterSelector</code> includes
- </p>
- <ul>
- <li>Defining an optional sitemap parameter named <code>request-name</code>, it overrides
- the parameter-name setting in the configuration section.
- </li>
- <li>choosing the <code><map:when></code> test expressions, and a
- optional <code><map:otherwise></code> clause.
- </li>
- </ul>
- <p>
- The test attribute of the <code><map:when></code> clause shall match
- the value of the request parameter.
- If no test value matches, or the request parameter is not defined at all,
- the <code><map:otherwise</code> clause is selected.
- </p>
- </s2>
- <s2 title="Effect on Object Model and Sitemap Parameters">
- <p>
- The <code>RequestParameterSelector</code> has no side effects on the object model, or
- any sitemap parameters.
- </p>
- </s2>
- </s1>
- <s1 title="Bugs/Caveats">
- <p>
- </p>
- </s1>
- <s1 title="History">
- <p>
- 28-12-02: initial creation
- </p>
- </s1>
- <s1 title="See also">
- <p>
- <!-- Links to related components pages. -->
- A general documentation about selectors is available at
- <link href="../concepts/matchers_selectors.html">Matchers and Selectors</link>.
- </p>
- </s1>
- </body>
- </document>
-
-