You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@cocoon.apache.org by do...@cocoon.apache.org on 2004/07/09 15:36:06 UTC
[Cocoon Wiki] Updated: Selector
Date: 2004-07-09T06:36:06
Editor: DerekLastname <dh...@csir.co.za>
Wiki: Cocoon Wiki
Page: Selector
URL: http://wiki.apache.org/cocoon/Selector
removed link to non-existent pages: Browser- Code- Cookie- Session- Selector
Change Log:
------------------------------------------------------------------------------
@@ -8,28 +8,28 @@
Selectors are declared in the sitemap, as follows:
-{{{
-<map:selectors default="browser">
- <map:selector name="load"
- src="org.apache.cocoon.selection.MachineLoadSelector">
- ...
- </map:selector>
-
- <map:selector name="user"
- src="org.apache.cocoon.selection.AuthenticationSelector">
- ...
- </map:selector>
-
-<map:selector name="browser"
- src="org.apache.cocoon.selection.BrowserSelector">
- <browser name="explorer" useragent="MSIE"/>
- <browser name="lynx" useragent="Lynx"/>
- <browser name="mozilla5" useragent="Mozilla/5"/>
- <browser name="mozilla5" useragent="Netscape6/"/>
- <browser name="netscape" useragent="Mozilla"/>
- ...
- </map:selector>
-</map:selectors>
+{{{
+<map:selectors default="browser">
+ <map:selector name="load"
+ src="org.apache.cocoon.selection.MachineLoadSelector">
+ ...
+ </map:selector>
+
+ <map:selector name="user"
+ src="org.apache.cocoon.selection.AuthenticationSelector">
+ ...
+ </map:selector>
+
+<map:selector name="browser"
+ src="org.apache.cocoon.selection.BrowserSelector">
+ <browser name="explorer" useragent="MSIE"/>
+ <browser name="lynx" useragent="Lynx"/>
+ <browser name="mozilla5" useragent="Mozilla/5"/>
+ <browser name="mozilla5" useragent="Netscape6/"/>
+ <browser name="netscape" useragent="Mozilla"/>
+ ...
+ </map:selector>
+</map:selectors>
}}}
Note the default attribute which defines the default selector for pipelines that don't explicitly define one.
@@ -38,42 +38,42 @@
Example usage (note similarity with xsl:choose):
-{{{
-...
-<map:match pattern="*">
- <map:generate type="serverpages" src="test/{1}.xsp"/>
-
- <map:select type="browser">
- <!-- you could insert parameters here as well -->
- <map:when test="explorer">
- <map:transform src="stylesheets/w3c-2-msie.xsl"/>
- </map:when>
- <map:when test="lynx">
- <map:transform src="stylesheets/dynamic-page2html-text.xsl"/>
- <map:serialize/>
- </map:when>
- <map:when test="netscape">
- <map:transform src="stylesheets/ns4.xsl"/>
- </map:when>
- <map:otherwise>
- <map:transform src="stylesheets/w3c.xsl"/>
- </map:otherwise>
- </map:select>
-
- <map:transform src="stylesheets/dynamic-page2html.xsl"/>
- <map:serialize/>
-</map:match>
-...
+{{{
+...
+<map:match pattern="*">
+ <map:generate type="serverpages" src="test/{1}.xsp"/>
+
+ <map:select type="browser">
+ <!-- you could insert parameters here as well -->
+ <map:when test="explorer">
+ <map:transform src="stylesheets/w3c-2-msie.xsl"/>
+ </map:when>
+ <map:when test="lynx">
+ <map:transform src="stylesheets/dynamic-page2html-text.xsl"/>
+ <map:serialize/>
+ </map:when>
+ <map:when test="netscape">
+ <map:transform src="stylesheets/ns4.xsl"/>
+ </map:when>
+ <map:otherwise>
+ <map:transform src="stylesheets/w3c.xsl"/>
+ </map:otherwise>
+ </map:select>
+
+ <map:transform src="stylesheets/dynamic-page2html.xsl"/>
+ <map:serialize/>
+</map:match>
+...
}}}
=== Available Implementations ===
- * BrowserSelector -- tests User-Agent HTTP header, to allow browser recognition
- * CodeSelector -- uses a snippet of Java code to do the test
+ * Browser Selector -- tests User-Agent HTTP header, to allow browser recognition
+ * Code Selector -- uses a snippet of Java code to do the test
* HostSelector -- tests the Host header in the request
* ParameterSelector -- matches string against an internal sitemap parameter ??
* HeaderSelector -- matches string against the request headers.
* RequestParameterSelector -- matches string against the request parameters.
- * SessionSelector -- matches string against a session parameter
- * CookieSelector -- matches string against a cookie value
+ * Session Selector -- matches string against a session parameter
+ * Cookie Selector -- matches string against a cookie value
* See also RequestParameterModule