jefft 2003/01/18 19:21:09 Modified: src/java/org/apache/cocoon/components/modules modules.xconf src/webapp/samples/modules index.xhtml menu.xml properties2html.xsl sitemap.xmap Log: - Add demonstrations for DateInputModule, DefaultsMetaModule, SessionAttributeModule and ChainMetaModule. - Add brief description of the module to each demo page. Revision Changes Path 1.18 +0 -2 xml-cocoon2/src/java/org/apache/cocoon/components/modules/modules.xconf Index: modules.xconf =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/modules/modules.xconf,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- modules.xconf 19 Jan 2003 03:08:47 -0000 1.17 +++ modules.xconf 19 Jan 2003 03:21:09 -0000 1.18 @@ -31,14 +31,12 @@ <input-module name="defaults"/> </component-instance> <!-- sample --> - <!-- <component-instance logger="core.modules.input" name="defaults" class="org.apache.cocoon.components.modules.input.DefaultsMetaModule"> <values> <skin>defaultSkin</skin> <base-url>http://localhost:8080/cocoon</base-url> </values> </component-instance> - --> <!-- input modules sample --> <component-instance class="org.apache.cocoon.components.modules.input.XMLFileModule" logger="core.modules.xml" name="myxml"> 1.5 +35 -19 xml-cocoon2/src/webapp/samples/modules/index.xhtml Index: index.xhtml =================================================================== RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/modules/index.xhtml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- index.xhtml 19 Jan 2003 02:51:23 -0000 1.4 +++ index.xhtml 19 Jan 2003 03:21:09 -0000 1.5 @@ -1,35 +1,51 @@ <page> <title>Index</title> -<table> + <table> <tr> - <td> + <td> <h3>Input Modules</h3> - <p>Modules are used to access input and output data in - modular way. - </p> - <table class="table"> - <tr> + <p>Modules are used to access input and output data in + modular way. + </p> + <table class="table"> + <tr> <th>Input module</th> <th>Description</th> - </tr> - <tr> + </tr> + <tr> <td><a href="request.xsp">request</a></td> <td>Request object properties</td> - </tr> - <tr> + </tr> + <tr> + <td><a href="defaults.xsp">defaults</a></td> + <td>Default (static) values</td> + </tr> + <tr> + <td><a href="date.xsp">date</a></td> + <td>Date</td> + </tr> + <tr> <td><a href="session.xsp">session</a></td> <td>Session object properties</td> - </tr> - <tr> + </tr> + <tr> + <td><a href="session-attr.xsp">session-attr</a></td> + <td>Session attributes</td> + </tr> + <tr> <td><a href="system-property.xsp">system-property</a></td> <td>System properties (environment variables)</td> - </tr> - <tr> + </tr> + <tr> <td><a href="xml.xsp">xml</a></td> <td>XML node values</td> - </tr> - </table> - </td> + </tr> + <tr> + <td><a href="chain.xsp">chain</a></td> + <td>Chained values</td> + </tr> + </table> + </td> </tr> -</table> + </table> </page> 1.5 +4 -0 xml-cocoon2/src/webapp/samples/modules/menu.xml Index: menu.xml =================================================================== RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/modules/menu.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- menu.xml 19 Dec 2002 11:10:38 -0000 1.4 +++ menu.xml 19 Jan 2003 03:21:09 -0000 1.5 @@ -13,9 +13,13 @@ <menu label="Modules"> <menu-item label="RequestModule" href="request.xsp"/> + <menu-item label="DateInputModule" href="date.xsp"/> + <menu-item label="DefaultsMetaModule" href="defaults.xsp"/> <menu-item label="SessionModule" href="session.xsp"/> + <menu-item label="SessionAttributeModule" href="session-attr.xsp"/> <menu-item label="SystemPropertiesModule" href="system-property.xsp"/> <menu-item label="XMLFileModule" href="xml.xsp"/> + <menu-item label="ChainMetaModule" href="chain.xsp"/> <menu-item label="AttributeModule" /> </menu> 1.3 +2 -0 xml-cocoon2/src/webapp/samples/modules/properties2html.xsl Index: properties2html.xsl =================================================================== RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/modules/properties2html.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- properties2html.xsl 19 Jan 2003 02:51:23 -0000 1.2 +++ properties2html.xsl 19 Jan 2003 03:21:09 -0000 1.3 @@ -2,6 +2,7 @@ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:param name="title">Input Module</xsl:param> +<xsl:param name="description"></xsl:param> <xsl:template match="/"> <page> @@ -10,6 +11,7 @@ <tr> <td> <h3><xsl:value-of select="$title"/></h3> + <p><xsl:value-of select="$description"/></p> <xsl:apply-templates /> </td> </tr> 1.6 +74 -9 xml-cocoon2/src/webapp/samples/modules/sitemap.xmap Index: sitemap.xmap =================================================================== RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/modules/sitemap.xmap,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- sitemap.xmap 19 Jan 2003 02:51:23 -0000 1.5 +++ sitemap.xmap 19 Jan 2003 03:21:09 -0000 1.6 @@ -81,7 +81,7 @@ <map:parameter name="user-principal" value="{request:userPrincipal}"/> </map:generate> <map:transform src="properties2html.xsl"> - <map:parameter name="title" value="Request Input Module (RequestModule)"/> + <map:parameter name="title" value="Request Input Module (RequestModule)"/> </map:transform> <map:serialize /> </map:match> @@ -93,10 +93,12 @@ <map:parameter name="last-accessed-time" value="{session:lastAccessedTime}"/> <map:parameter name="max-inactive-interval" value="{session:maxInactiveInterval}"/> <map:parameter name="id" value="{session:id}"/> - <map:parameter name="new" value="{session:new}"/> + <map:parameter name="new" value="{session:new}"/> </map:generate> <map:transform src="properties2html.xsl"> - <map:parameter name="title" value="Session Input Module (SessionModule)"/> + <map:parameter name="title" value="Session Input Module (SessionModule)"/> + <map:parameter name="description" value="SessionModule provides access + to Session object properties."/> </map:transform> <map:serialize /> </map:match> @@ -128,11 +130,11 @@ <map:parameter name="user.name" value="{system-property:user.name}"/> <map:parameter name="user.home" value="{system-property:user.home}"/> <map:parameter name="user.dir" value="{system-property:user.dir}"/> - <!-- Function call --> + <!-- Function call --> <map:parameter name="users-home-base" value="{system-property:substring-before(user.home, user.name)}"/> </map:generate> <map:transform src="properties2html.xsl"> - <map:parameter name="title" value="System Properties Input Module (SystemPropertiesModule)"/> + <map:parameter name="title" value="System Properties Input Module (SystemPropertiesModule)"/> </map:transform> <map:serialize /> </map:match> @@ -140,15 +142,78 @@ <map:match pattern="content/xml.xsp"> <map:generate type="serverpages" src="properties.xsp"> - <map:parameter name="version" value="{myxml:/forrestconf/@version}"/> - <map:parameter name="skin" value="{myxml:/forrestconf/skin}"/> - <map:parameter name="base-url" value="{myxml:/*/base-url}"/> + <map:parameter name="/forrestconf/@version" value="{myxml:/forrestconf/@version}"/> + <map:parameter name="/forrestconf/skin" value="{myxml:/forrestconf/skin}"/> + <map:parameter name="/*/base-url" value="{myxml:/*/base-url}"/> <!-- <map:parameter name="slashdot-headline" value="{slashdot:/*:RDF/item[1]/title}"/> --> </map:generate> <map:transform src="properties2html.xsl"> <map:parameter name="title" value="XML File Input Module (XMLFileModule)"/> + <map:parameter name="description" value="XMLFileModule uses an XML + file as a data source, with XPath expressions as the key values. In + this example, the keys identify nodes in + context:///samples/modules/forrestconf.xml"/> + </map:transform> + <map:serialize /> + </map:match> + + <map:match pattern="content/defaults.xsp"> + <map:generate type="serverpages" src="properties.xsp"> + <map:parameter name="skin" value="{defaults:skin}"/> + <map:parameter name="base-url" value="{defaults:base-url}"/> + </map:generate> + <map:transform src="properties2html.xsl"> + <map:parameter name="title" value="Defaults Input Module (DefaultsMetaModule)"/> + <map:parameter name="description" value="DefaultsMetaModule + contains 'default' values, hardcoded into cocoon.xconf. + It is simply a lookup table containing static values."/> + </map:transform> + <map:serialize /> + </map:match> + + + <map:match pattern="content/chain.xsp"> + <map:generate type="serverpages" src="properties.xsp"> + <map:parameter name="skin" value="{chain:skin}"/> + </map:generate> + <map:transform src="properties2html.xsl"> + <map:parameter name="title" value="Chaining Input module (ChainMetaModule)"/> + <map:parameter name="description" value="ChainMetaModule + iterates through a set of modules until one returns a + non-null value for the specified key. In this example, we + chain together request-param, request-attr, session-attr + and defaults modules. The 'skin' value is taken from the + first that returns a non-null value, usually 'defaults'. + Try adding '?skin=myskin' to the URL, and it should + change."/> + </map:transform> + <map:serialize /> + </map:match> + + + <map:match pattern="content/date.xsp"> + <map:generate type="serverpages" src="properties.xsp"> + <map:parameter name="date" value="{date:date}"/> + </map:generate> + <map:transform src="properties2html.xsl"> + <map:parameter name="title" value="Date Input module (DateMetaModule)"/> + <map:parameter name="description" value="Returns the current + date and time. The format is specified in cocoon.xconf"/> + </map:transform> + <map:serialize /> + </map:match> + + <map:match pattern="content/session-attr.xsp"> + <map:generate type="serverpages" src="properties.xsp"> + <map:parameter name="fruit" value="{session-attr:fruit}"/> + </map:generate> + <map:transform src="properties2html.xsl"> + <map:parameter name="title" value="Session Attribute Input Module + (SessionAttributeModule)"/> + <map:parameter name="description" value="SessionAttributeModule provides access + to Session attributes."/> </map:transform> <map:serialize /> </map:match>
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]