RequestAttribute-Selector in Cocoon
RequestAttributeSelector
NAME |
request-attribute |
WHAT |
The RequestAttributeSelector component is used to select appropriate sitemap processing depending on a request attribute value. |
TYPE |
Selector, Sitemap Component |
BLOCK |
Core |
CLASS |
org.apache.cocoon.selection.RequestAttributeSelector |
SINCE |
Cocoon 2.0 |
CACHEABLE |
not applicable |
Description
The RequestAttributeSelector tests the value of request attribute against the test attribute of the selector's when clause.
Usage
The RequestAttributeSelector allows to control the sitemap processing depending on a request attribute.
Sitemap pipeline examples
The snippet below uses a RequestAttributeSelector named request-attribute. It tests the value of request attribute named command against list, create; finally it has a otherwise clause.
<map:select type="request-attribute"> <map:parameter name="attribute-name" value="command"/> <map:when test="list"> .... </map:when> <map:when test="create"> ... </map:when> ... <map:otherwise> ... </map:otherwise> </map:select>
Sitemap component configuration example
The snippet below declares a RequestAttributeSelector defining to use the request attribute cmd.
<map:selectors... <map:selector name="request-attribute" src="org.apache.cocoon.selection.RequestAttributeSelector" logger="sitemap.selector.requestattribute"> <attribute-name>command</attribute-name> </map:selectors> ...
Configuration
The configuration section of RequestAttributeSelector specifies the default name of the request attribute, used for testing.
Setup
Setting up a RequestAttributeSelector includes
- Defining an optional sitemap paramter named request-name, it overrides the attribute-name setting in the configuration section.
- choosing the <map:when> test expressions, and a optional <map:otherwise> clause.
The test attribute of the <map:when> clause shall match the value of the request attribute. If no test value matches, or the request attribute is not defined at all, the <map:otherwise clause is selected.
Effect on Object Model and Sitemap Parameters
The RequestAttributeSelector has no side effects on the object model, or any sitemap attributes.
Bugs/Caveats
History
28-12-02: initial creation
See also
A general documentation about selectors is available at Matchers and Selectors.
Errors and Improvements? If you see any errors or potential improvements in this document please help us: View, Edit or comment on the latest development version (registration required).