kpiroumian    2002/09/20 15:56:37

  Added:       src/webapp/samples/modules index.xhtml menu.xml
                        menu2html.xsl page.css properties.xsp
                        properties2html.xsl site2html.xsl sitemap.xmap
               src/webapp/samples/modules/images chapter.gif
                        chapter_open.gif current.gif page.gif
  Log:
  Input modules sample.
  
  Revision  Changes    Path
  1.1                  xml-cocoon2/src/webapp/samples/modules/index.xhtml
  
  Index: index.xhtml
  ===================================================================
  <page>
    <title>Index</title>
  <table>
      <tr>
          <td>
          <h3>Input Modules</h3>
        <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>
                        <td><a href="request.xsp">request</a></td>
                        <td>Request object properties</td>
                </tr>
                <tr>
                        <td><a href="session.xsp">session</a></td>
                        <td>Session object properties</td>
                </tr>
                <tr>
                        <td><a href="request-param.xsp">request-param</a></td>
                        <td>Request parameters</td>
                </tr>
                <tr>
                        <td><a href="request-attr.xsp">request-attr</a></td>
                        <td>Request attributes</td>
                </tr>
        </table>
          </td>
      </tr>
  </table>
  </page>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/menu.xml
  
  Index: menu.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!--DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" 
"dtd/book-cocoon-v10.dtd" -->
  
  <book software="Apache Cocoon" 
        title="Apache Cocoon i18n Samples" 
        copyright="1999-2002 The Apache Software Foundation"
  >
  
    <menu label="Overview">
      <menu-item label="Index" href="index.xsp"/>
      <menu-item label="Sitemap" href="sitemap.xmap"/>    
    </menu>  
   
    <menu label="Modules">
      <menu-item label="RequestModule" href="request.xsp"/>
      <menu-item label="SessionModule" href="session.xsp"/>
      <menu-item label="AttributeModule" />
    </menu>
  
    <menu label="Documentation">
      <external label="Input Modules Docs" 
href="../../documents/userdocs/concepts/modules.html"/>   
      <external label="API Docs" 
href="../../documents/apidocs/org/apache/cocoon/components/modules/input/package-summary.html"/>
   
    </menu>
    
    <menu label="Credits">
      <menu-item label="Christian Haul" href="mailto:[EMAIL PROTECTED]"/> 
      <menu-item label="Konstantin Piroumian" href="mailto:[EMAIL PROTECTED]"/>  
      <menu-item label="Many others..." href="http://xml.apache.org/cocoon/who.html"/> 
     
    </menu>  
     
  </book>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/menu2html.xsl
  
  Index: menu2html.xsl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE html [
  <!ENTITY nbsp "&#160;">
  ]>
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  
  <xsl:param name="page" />
  
  <xsl:template match="book">
          <table class="menu">
              <tr>
                  <td>
                          <ul>
                              <xsl:apply-templates select="menu"/>
                          </ul>
                  </td>
              </tr>
          </table>
  </xsl:template>
  
  <!-- Process only current book -->
  <xsl:template match="book[@current]">
      <ul>
          <xsl:apply-templates />
      </ul>
  </xsl:template>
  
  <!-- Current (open) menu -->
  <xsl:template match="menu">
      <li>
         <xsl:if test="@icon">
             <img src="{@icon}" align="middle"/><xsl:text> </xsl:text>
         </xsl:if>    
          <span class="chapter open"><xsl:value-of select="@label" /></span>
      </li>
      <ul>
          <xsl:apply-templates />
      </ul>
  </xsl:template>
  
  <!-- Display a link to a page -->
  
  <xsl:template match="menu-item[@href=$page]">
      <li class="current" title="{@href}">
         <xsl:if test="@icon">
             <img src="{@icon}" align="middle"/><xsl:text> </xsl:text>
         </xsl:if>        
          <xsl:value-of select="@label" />
      </li>
  </xsl:template>
  
  <xsl:template match="menu-item | external">
      <li class="page">
         <xsl:if test="@icon">
             <img src="{@icon}" align="middle"/><xsl:text> </xsl:text>
         </xsl:if>    
          <a href="{@href}" class="page"><xsl:value-of select="@label" /></a>
      </li>    
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/page.css
  
  Index: page.css
  ===================================================================
  body {  background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-size: 10px; 
font-family: Verdana, Arial, Helvetica, sans-serif}
  form { margin: 0px; padding: 0px; border: 0px; }
  ul,ol { margin: 10px 5px 10px 40px; padding: 0px; }
  li { margin: 2px 0px 2px 0px; }
  dl { margin: 10px 5px 10px 20px; padding: 0px; }
  dt { font-weight: bold; margin: 5px 0px 0px 0px; }
  table { border: 0px; width: 100%; }
  td { font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif }
  img { border: 0px; }
  pre { padding: 10px 10px 10px 10px; margin-bottom: 0px }
  
  a:link { color: #0F3660 }
  a:visited { color: #880000 }
  a:active { }
  a:hover { color: #880000; }
  
  .path { font-size: 10px; background-color: #CFDCED; border-bottom-color: #4A6D8C; 
border-bottom-style: solid; border-bottom-width: 2px; padding: 2px; }
  .path .current { font-weight: bold; }
  
  .top { background-color: #294563; }
  .top img { margin: 5px; }
  .topline { background-color: #4C6C8F; }
  .navbar { background-color: #CFDCED; color: #4C6C8F; font-weight: bold; 
border-bottom-color: #4A6D8C; border-bottom-style: solid; border-bottom-width: 1px; 
padding: 2px;}
  
  .search { font-size: 13px; color: #ffffff; margin-right: 10px; padding: 10px 5px 3px 
5px; background-color: #4A6D8C; }
  
  .tabs { font-size: 12px; background-color: #294563; padding: 2px 7px 5px 7px; }
  .tabs .tab { background-color: #CFDCED; padding: 4px 6px 4px 6px;}
  .tabs .current { background-color: #4C6C8F; font-weight: bold; padding: 5px 6px 6px 
6px; ; color: #FFFFFF}
  
  .copyright { text-align: center; font-size: 10px; background-color: #CFDCED; 
border-top-color: #4A6D8C; border-top-style: solid; border-top-width: 1px; padding: 
2px; }
  
  .menu { background-color: #4C6C8F; margin: 0px; padding: 3px 8px 5px 3px; color: 
#FFFFFF}
  .menu a:link { color: #FFFFFF }
  .menu a:visited { color: #FFFFFF }
  .menu a:active {  }
  .menu a:hover { color: #880000; }
  .menu ul { margin: 0px 0px 0px 20px; padding: 0px; }
  
  .menu li .chapter  { list-style-image: url('images/chapter.gif'); font-weight: bold }
  .menu li .open  { list-style-image: url('images/chapter_open.gif'); font-weight: 
bold }
  .menu li .page  { list-style-image: url('images/page.gif') }
  .menu li .current  { list-style-image: url('images/current.gif'); color: #FFD700; 
font-weight: bold; }
  
  .content { padding: 5px 5px 5px 10px; }
  
  .frame { width: 100%; margin: 5px 20px 5px 20px; font-size: 11px; }
  .frame .content { margin: 0px; }
  
  .note { border: solid 1px #7099C5; background-color: #f0f0ff; }
  .note .label { background-color: #7099C5; color: #ffffff; }
  
  .warning { border: solid 1px #D00000; background-color: #fff0f0; }
  .warning .label { background-color: #D00000; color: #ffffff; }
  
  .fixme { border: solid 1px #C6C600; background-color: #FAF9C3; }
  .fixme .label { background-color: #C6C600; color: #ffffff; }
  
  .code { border-color: #CFDCED; border-style: solid; border-width: 1px; }
  
  table.table { width: 100%; font-size: 11px; background-color: #7099C5; color: 
#ffffff; }
  .table caption { text-align: left; text-weight: bold; color: black; }
  .table th { text-align: center; text-weight: bold; }
  .table td { background-color: #f0f0ff; color: black; }
  
  .dida { font-size: 9px; }
  
  .figure {}
  
  .icon {}
  
  .highlight { background-color: yellow; }
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/properties.xsp
  
  Index: properties.xsp
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <!-- $Id: properties.xsp,v 1.1 2002/09/20 22:56:36 kpiroumian Exp $ -->
  <xsp:page language="java" xmlns:xsp="http://apache.org/xsp";>
        <properties>
                <xsp:logic>
                try {
                        String[] paramNames = parameters.getNames();
                        for (int i = 0; i &lt; paramNames.length; i++) {
                                String paramName = paramNames[i];
                                <xsp:content>                           
                                <property>
                                        <name><xsp:expr>paramName</xsp:expr></name>
                                        
<value><xsp:expr>parameters.getParameter(paramName)</xsp:expr></value>
                                </property>
                                </xsp:content>
                        }
                } catch (org.apache.avalon.framework.parameters.ParameterException pe) 
{
                        throw new ProcessingException("Parameter error.", pe);
                }
                </xsp:logic>
        </properties>
  </xsp:page>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/properties2html.xsl
  
  Index: properties2html.xsl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  
  <xsl:param name="title">Input Module</xsl:param>
  
  <xsl:template match="/">
  <page>
        <title><xsl:value-of select="$title"/></title>
        <table class="content">
            <tr>
                <td>    
                    <h3><xsl:value-of select="$title"/></h3>
                    <xsl:apply-templates />
                </td>
            </tr>
        </table>
  </page>
  </xsl:template>
  
  <xsl:template match="properties">
      <table class="table">
          <tr>
              <th>Accessor</th>
              <th>Value</th>            
          </tr>
          <xsl:apply-templates>
              <xsl:sort select="name" />
          </xsl:apply-templates>
      </table>
  </xsl:template>
  
  <xsl:template match="property">
      <tr>
          <td><xsl:value-of select="name"/></td>
          <td>
              <xsl:value-of select="value"/>&#160;
          </td>    
      </tr>
  </xsl:template>
  
  <xsl:template match="title"></xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/site2html.xsl
  
  Index: site2html.xsl
  ===================================================================
  <?xml version="1.0"?>
<!DOCTYPE html [
    <!ENTITY nbsp "&#160;">
    <!ENTITY copy 
"&#0169;">
    <!ENTITY laquo "&#0171;">
    <!ENTITY raquo "&#0187;">
]>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

    
<xsl:param name="page" />

    <xsl:template match="site">
        <html>
            
<head>
                <title>
                    <xsl:value-of select="page/title" 
/>
                </title>
                <link rel="stylesheet" href="page.css" 
type="text/css"/>
            </head>
            <body>
                <table 
class="path">
                    <tr>
                        <td>
                   
         <a href="../../">Apache Cocoon Main</a>&#160;&gt;&#160;<a 
href="../">Samples</a>&#160;&gt;&#160;<a href="./">Modules</a>&#160;&gt;&#160;<span 
class="current"><xsl:value-of select="page/title"/></span>                        
    
                    </td>
                    </tr>
                </table>           
 
                <table class="topline"><tr><td>&#160;</td></tr></table>
             
   <table cellspacing="0" cellpadding="0" summary="content pane">
                    
<tr>
                        <td width="5" class="navbar">&#160;</td>
                 
       <td rowspan="2" valign="top" nowrap="nowrap" width="200">
                      
      <xsl:apply-templates select="table[@class='menu']"/>
                        
</td>
                        <td valign="top" class="navbar" align="left">
           
                 &#160;
                        </td>
                        <td 
width="*" valign="top" class="navbar" align="right">
                            Page: 
<xsl:value-of select="$page" />
                        </td>
                    
</tr>
                    <tr>
                        <td>&#160;</td>
                
        <td class="content" valign="top" colspan="2">
                            
<xsl:apply-templates select="page"/>
                        </td>
                    
</tr>
                </table>
                <table>
                    <tr>
       
                 <td class="copyright">
                            Copyright (c) 
1999-2002 <a href="http://www.apache.org/";>Apache Software Foundation</a>. All Rights 
Reserved.
                        </td>
                    </tr>
                
</table>
            </body>
        </html>
    </xsl:template>
    
    
<xsl:template match="node()|@*" priority="-1">
        <xsl:copy>
            
<xsl:apply-templates select="@*"/>
            <xsl:apply-templates/>
        
</xsl:copy>
    </xsl:template>
    
</xsl:stylesheet>
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  <?xml version="1.0"?>
  <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  <!-- $Id: sitemap.xmap,v 1.1 2002/09/20 22:56:36 kpiroumian Exp $ -->
  <!--
      Input Modules sample sitemap.
  
      Author: Konstantin Piroumian "[EMAIL PROTECTED]" 
  -->
     <!-- =========================== Resources =============================== -->
      <map:resources>
          <!-- This resource is used to create a composite page from menu and content 
-->
          <map:resource name="composite">
              <map:aggregate element="site">
                  <map:part src="cocoon:/menu/{../0}"/>
                  <map:part src="cocoon:/content/{../0}" label="content"/>
              </map:aggregate>
              <map:transform src="site2html.xsl">
                  <map:parameter name="page" value="{../0}" />
              </map:transform>
              <map:serialize/>
          </map:resource>
      </map:resources>
  
  
     <!-- =========================== Pipelines ================================= -->
      <map:pipelines>
          <map:pipeline>
          
                  <!-- Default URL matcher. Matches '/' URLs-->
                  <map:match pattern="">
                      <map:redirect-to uri="index.xsp" />
                  </map:match>
  
                  <!-- Generate dynamic output (simple.xsp) -->            
                  <map:match pattern="*.xsp">
                      <map:call resource="composite" />
                  </map:match>                
  
  
                  <map:match pattern="content/index.xsp">
                          <map:generate src="index.xhtml"/>
                        <map:serialize/>
                  </map:match>                            
                
                  <map:match pattern="content/request.xsp">
                          <map:generate type="serverpages" src="properties.xsp">
                                <map:parameter name="attribute-names" 
value="{request:attributeNames}"/>
                                <map:parameter name="auth-type" 
value="{request:authType}"/>
                                <map:parameter name="character-encoding" 
value="{request:characterEncoding}"/>
                                <map:parameter name="cookie-map" 
value="{request:cookieMap}"/>
                                <map:parameter name="cookies" 
value="{request:cookies}"/>
                                <map:parameter name="content-length" 
value="{request:contentLength}"/>
                                <map:parameter name="content-type" 
value="{request:contentType}"/>
                                <map:parameter name="context-path" 
value="{request:contextPath}"/>
                                <map:parameter name="headers" 
value="{request:headers}"/>
                                <map:parameter name="header-names" 
value="{request:header-names}"/>
                                <map:parameter name="locale" value="{request:locale}"/>
                                <map:parameter name="locales" 
value="{request:locales}"/>
                                <map:parameter name="method" value="{request:method}"/>
                                <!--map:parameter name="parameter-map" 
value="{request:parameterMap}"/-->
                                <map:parameter name="parameter-names" 
value="{request:parameterNames}"/>
                                <map:parameter name="path-info" 
value="{request:pathInfo}"/>
                                <map:parameter name="path-translated" 
value="{request:pathTranslated}"/>
                                <map:parameter name="protocol" 
value="{request:protocol}"/>
                                <map:parameter name="query-string" 
value="{request:queryString}"/>
                                <map:parameter name="remote-addr" 
value="{request:remoteAddr}"/>
                                <map:parameter name="remote-host" 
value="{request:remoteHost}"/>
                                <map:parameter name="remote-user" 
value="{request:remoteUser}"/>
                                <map:parameter name="request-uri" 
value="{request:requestURI}"/>
                                <map:parameter name="requested-session-id" 
value="{request:requestedSessionId}"/>
                                <map:parameter name="requested-session-id-from-cookie" 
value="{request:requestedSessionIdFromCookie}"/>
                                <map:parameter name="requested-session-id-from-url" 
value="{request:requestedSessionIdFromURL}"/>
                                <map:parameter name="requested-session-id-valid" 
value="{request:requestedSessionIdValid}"/>
                                <map:parameter name="scheme" value="{request:scheme}"/>
                                <map:parameter name="secure" value="{request:secure}"/>
                                <map:parameter name="server-name" 
value="{request:serverName}"/>
                                <map:parameter name="server-port" 
value="{request:serverPort}"/>
                                <map:parameter name="servlet-path" 
value="{request:servletPath}"/>
                                <map:parameter name="session [truncated]" 
value="{request:concat('org. ... .', substring(session, 36))}"/>
                                <map:parameter name="sitemap-uri" 
value="{request:sitemapURI}"/>
                                <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:transform>
                          <map:serialize />
                  </map:match>               
  
                  <map:match pattern="content/session.xsp">
                          <map:generate type="serverpages" src="properties.xsp">
                                <map:parameter name="attribute-names" 
value="{session:attributeNames}"/>
                                <map:parameter name="creation-time" 
value="{session:creationTime}"/>
                                <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:generate>
                        <map:transform src="properties2html.xsl">
                                <map:parameter name="title" value="Session Input 
Module (SessionModule)"/>      
                        </map:transform>
                          <map:serialize />
                  </map:match>               
  
                  <!-- Menu generation -->
                  <map:match pattern="menu/*">
                          <map:generate src="menu.xml"/>
                          <map:transform src="menu2html.xsl">
                              <map:parameter name="page" value="{1}" />
                          </map:transform>
                          <map:serialize/>
                  </map:match>
  
                <!-- Display this sitemap source-->
                <map:match pattern="sitemap.xmap">
                        <map:generate src="sitemap.xmap"/>
                        <map:serialize type="xml"/>
                </map:match>            
  
                <map:match pattern="*.css">
                        <map:read src="{1}.css" mime-type="text/css"/>
                </map:match>
              
                <map:match pattern="images/*.gif">
                        <map:read src="images/{1}.gif" mime-type="image/gif"/>
                </map:match>
               
              </map:pipeline>                
      </map:pipelines>
  </map:sitemap>
  <!-- end of file -->
  
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/images/chapter.gif
  
        <<Binary file>>
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/images/chapter_open.gif
  
        <<Binary file>>
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/images/current.gif
  
        <<Binary file>>
  
  
  1.1                  xml-cocoon2/src/webapp/samples/modules/images/page.gif
  
        <<Binary file>>
  
  

----------------------------------------------------------------------
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