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]

Reply via email to