vgritsenko    2003/05/06 07:13:03

  Modified:    src/blocks/databases/samples/mod-db stupid.xsl
               src/blocks/deli/WEB-INF/deli/config localProfiles.xml
               src/blocks/html/conf tidy.xconf tidy.xroles
               src/blocks/linkrewriter/samples sitemap.xmap
               src/blocks/lucene/java/org/apache/cocoon/components/search
                        SimpleLuceneXMLIndexerImpl.java
               src/blocks/portal-fw/conf portal-act.xmap portal-gen.xmap
                        portal.xconf portal.xroles
               src/blocks/portal-fw/samples sitemap.xmap
               src/blocks/portal-fw/samples/styles TO-html.xsl
                        changeuser.xsl load.xsl login-html.xsl portal.xsl
                        portalHTML-Netscape.xsl portalHTML.xsl
                        portalconfHTML.xsl sunLet_MoreoverDotCom.xsl
                        sunLet_sundnNews.xsl sunletconf.xsl
                        sunrise-user.xsl sunriseconfHTML.xsl
                        sunriseeditHTML.xsl
               src/blocks/precept/samples samples.xml
               src/blocks/precept/samples/example1 README error.xml
                        error.xsl thanks.xml thanks.xsl view1.xml view1.xsl
                        view2.xml view2.xsl view3.xml view3.xsl view4.xml
                        view4.xsl
               src/blocks/precept/samples/example2 error.xml i2html.xsl
                        thanks.xml view1.xml view2.xml view3.xml view4.xml
               src/blocks/precept/samples/model easyrelax.xml
               src/blocks/session-fw/conf session-act.xmap session-sel.xmap
                        session-tran.xmap
               
src/blocks/slide/java/org/apache/cocoon/components/repository/impl
                        SlideConfigurationAdapter.java
               src/blocks/slide/samples sitemap.xmap
               src/blocks/taglib/conf jxpath.xconf tag.xconf
               src/blocks/web3/conf web3.xconf web3.xsamples
               src/blocks/web3/java/org/apache/cocoon/components/web3
                        Web3.java Web3Client.java Web3DataSource.java
                        Web3Streamer.java
               src/blocks/web3/java/org/apache/cocoon/components/web3/impl
                        DefaultWeb3StreamerImpl.java Web3ClientImpl.java
                        Web3DataSourceImpl.java
                        Web3DataSourceSelectorImpl.java Web3Properties.java
               src/blocks/web3/java/org/apache/cocoon/transformation
                        Web3RfcTransformer.java
               src/blocks/web3/mocks/com/sap/mw/jco IFunctionTemplate.java
                        IRepository.java JCO.java
               src/blocks/web3/samples/dtd rfc-in.dtd rfc-out.dtd
               src/blocks/web3/samples/stylesheets pics2view.xsl pretty.xsl
                        proper.xsl rfc2html.xsl
               src/deprecated/conf deprecated.xconf deprecated.xroles
               src/documentation/xdocs/drafts cocoon2-docbook.xml
               src/scratchpad/src/org/apache/cocoon/components/source/impl
                        blob.xconf
               src/scratchpad/webapp/samples/jxforms/stylesheets
                        jxforms2html.xsl
               src/scratchpad/webapp/samples/paginator/content text.xml
               src/scratchpad/webapp/samples/paginator/pagesheets
                        text.pagesheet
               src/scratchpad/webapp/samples/petstore sitemap.xmap
               src/scratchpad/webapp/samples/petstore/stylesheets
                        form2html.xsl site2html.xsl
               src/scratchpad/webapp/samples/petstore/view/jxforms
                        EditAccountInformation.xml
                        EditProfileInformation.xml EditUserInformation.xml
               src/webapp/samples/errorhandling sitemap.xmap
               src/webapp/samples/errorhandling/exception sitemap.xmap
               src/webapp/samples/webserviceproxy/cocoonhive/stylesheets
                        page.css
  Log:
  fix line endings
  
  Revision  Changes    Path
  1.2       +4 -4      cocoon-2.1/src/blocks/databases/samples/mod-db/stupid.xsl
  
  Index: stupid.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/databases/samples/mod-db/stupid.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- stupid.xsl        9 Mar 2003 00:03:21 -0000       1.1
  +++ stupid.xsl        6 May 2003 14:12:54 -0000       1.2
  @@ -15,13 +15,13 @@
         <xsl:attribute name="bgcolor"><xsl:value-of 
select="$tablecolor"/></xsl:attribute>
         <xsl:element name="tr"> 
           <xsl:apply-templates select="child::*[1]" mode="head"/>
  -      </xsl:element> 
  +      </xsl:element>
         <xsl:for-each select="child::*">
           <xsl:element name="tr"> 
             <xsl:apply-templates select="."/>
  -        </xsl:element> 
  +        </xsl:element>
         </xsl:for-each>
  -    </xsl:element> 
  +    </xsl:element>
     </xsl:template>
   
     <xsl:template match="sqltblrow" mode="head">
  @@ -130,7 +130,7 @@
              <xsl:element name="big">     
                    <xsl:apply-templates/>
              </xsl:element>
  -        </xsl:element>       
  +        </xsl:element>
           </xsl:element>
        </xsl:element>
     </xsl:template>
  
  
  
  1.2       +5 -17     
cocoon-2.1/src/blocks/deli/WEB-INF/deli/config/localProfiles.xml
  
  Index: localProfiles.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/deli/WEB-INF/deli/config/localProfiles.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- localProfiles.xml 9 Mar 2003 00:03:32 -0000       1.1
  +++ localProfiles.xml 6 May 2003 14:12:54 -0000       1.2
  @@ -5,7 +5,6 @@
   <!-- Legacy devices contributed by Johannes Koch - Thanks Johannes -->
   
   <!-- Alcatel -->
  -
        <device>
                <ua value="Alcatel-BF4/2.0"
                profile="Alcatel_OT512.rdf"/>
  @@ -32,7 +31,6 @@
        </device>
   
   <!-- Ericsson -->
  -
        <device>
                <ua value="EricssonA2628/R2A"
                profile="Ericsson_A2628.rdf"/>
  @@ -54,18 +52,16 @@
        </device>
   
   <!-- Sony -->
  -
        <device>
                <ua value="Sony CMD-Z5"
                profile="Sony_CMD-Z5.rdf"/>
  -     </device>       
  +     </device>
   
   <!-- Siemens -->
  -
        <device>
                <ua value="SIE-S45/05"
                profile="Siemens_S45.rdf"/>
  -     </device>       
  +     </device>
   
        <device>
                <ua value="SIE-S35"
  @@ -78,14 +74,12 @@
        </device>
   
   <!-- NEC -->
  -
        <device>
                <ua value="n21i-10"
                profile="NEC_21i.rdf"/>
        </device>
   
   <!-- Motorola -->
  -
        <device>
                <ua value="MOT-SAP4"
                profile="Motorola_V66.rdf"/>
  @@ -136,9 +130,7 @@
                profile="Motorola_A008.rdf"/>
        </device>
   
  -
   <!-- Nokia -->
  -
        <device>
                <ua value="Nokia9210"
                profile="Nokia_9210_WML.rdf"/>
  @@ -263,31 +255,27 @@
   -->
   
   <!-- UAProf phones - remove when UAProf enabled WAP gateways are more 
widespread -->
  -
        <device>
                <ua value="Mitsu/1.2.A (Eclipse)"
                profile="Trium_Eclipse.rdf"/>
  -     </device>       
  +     </device>
   
        <device>
                <ua value="EricssonT68"
                profile="Ericsson_T68R1.rdf"/>
  -     </device>       
  -
  +     </device>
   
           <device>
                   <ua value="SonyEricssonT68/R201A"
                   profile="SonyEricsson_T68R201A.rdf"/>
           </device>
  -
        
        <device>
                <ua value="EricssonT39"
                profile="Ericsson_T39.rdf"/>
  -     </device>       
  +     </device>
   
   <!-- Demonstration legacy devices - the information in these profiles SHOULD 
NOT be used for content adaptation -->
  -
        <device>
                <ua value="amaya"
                profile="amaya.rdf"/>
  
  
  
  1.2       +7 -7      cocoon-2.1/src/blocks/html/conf/tidy.xconf
  
  Index: tidy.xconf
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/html/conf/tidy.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tidy.xconf        2 May 2003 06:31:59 -0000       1.1
  +++ tidy.xconf        6 May 2003 14:12:54 -0000       1.2
  @@ -1,7 +1,7 @@
  -<?xml version="1.0"?>
  -
  -<xconf xpath="/cocoon/xmlizer" unless="[EMAIL 
PROTECTED]'org.apache.excalibur.xml.sax.SAXParser/HTML']">
  -
  -      <parser role="org.apache.excalibur.xml.sax.SAXParser/HTML" 
mime-type="text/html"/>
  -
  -</xconf>
  +<?xml version="1.0"?>
  +
  +<xconf xpath="/cocoon/xmlizer" unless="[EMAIL 
PROTECTED]'org.apache.excalibur.xml.sax.SAXParser/HTML']">
  +
  +      <parser role="org.apache.excalibur.xml.sax.SAXParser/HTML" 
mime-type="text/html"/>
  +
  +</xconf>
  
  
  
  1.2       +10 -10    cocoon-2.1/src/blocks/html/conf/tidy.xroles
  
  Index: tidy.xroles
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/html/conf/tidy.xroles,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tidy.xroles       4 May 2003 17:33:41 -0000       1.1
  +++ tidy.xroles       6 May 2003 14:12:54 -0000       1.2
  @@ -1,10 +1,10 @@
  -<?xml version="1.0"?>
  -
  -<xroles xpath="/role-list" unless="[EMAIL 
PROTECTED]'org.apache.excalibur.xml.sax.SAXParser/HTML']">
  -
  -  <!-- This is the HTML parser -->
  -  <role name="org.apache.excalibur.xml.sax.SAXParser/HTML"
  -        shorthand="html-parser"
  -        default-class="org.apache.excalibur.xml.sax.JTidyHTMLParser"/>
  -
  -</xroles>
  +<?xml version="1.0"?>
  +
  +<xroles xpath="/role-list" unless="[EMAIL 
PROTECTED]'org.apache.excalibur.xml.sax.SAXParser/HTML']">
  +
  +  <!-- This is the HTML parser -->
  +  <role name="org.apache.excalibur.xml.sax.SAXParser/HTML"
  +        shorthand="html-parser"
  +        default-class="org.apache.excalibur.xml.sax.JTidyHTMLParser"/>
  +
  +</xroles>
  
  
  
  1.2       +39 -46    cocoon-2.1/src/blocks/linkrewriter/samples/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/linkrewriter/samples/sitemap.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sitemap.xmap      9 Mar 2003 00:04:20 -0000       1.1
  +++ sitemap.xmap      6 May 2003 14:12:54 -0000       1.2
  @@ -1,46 +1,39 @@
  -<?xml version="1.0"?>
  -
  -<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  -  <!-- =========================== Components 
================================ -->
  -
  -  <map:components>
  -
  -    <map:generators default="file"/>
  -    <map:transformers default="xslt"/>
  -    <map:readers default="resource"/>
  -    <map:serializers default="html"/>
  -    <map:matchers default="wildcard"/>
  -    <map:selectors default="browser"/>
  -  </map:components>
  -
  -
  -  <!-- =========================== Pipelines 
================================= -->
  -
  -  <map:pipelines>
  -
  -    <map:pipeline>
  -     <map:match pattern="">
  -       <map:redirect-to uri="welcome"/>
  -     </map:match>
  -     <map:match pattern="welcome">
  -       <map:generate src="samples.xml"/>
  -       <map:transform 
src="context://samples/common/style/xsl/html/simple-samples2html.xsl">
  -          <map:parameter name="contextPath" value="{request:contextPath}"/>
  -       </map:transform>
  -       <map:serialize/>
  -
  -     </map:match>
  -   </map:pipeline>
  -
  -    <!-- pipeline mounting linkrewriter samples sitemaps -->
  -    <map:pipeline>
  -      <!-- mount everything else -->
  -      <map:match pattern="*/**">
  -        <map:mount check-reload="yes" src="{1}/" uri-prefix="{1}"/>
  -      </map:match>
  -    </map:pipeline>
  -
  -  </map:pipelines>
  -
  -</map:sitemap>
  -
  +<?xml version="1.0"?>
  +
  +<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  +  <!-- =========================== Components 
================================ -->
  +
  +  <map:components>
  +    <map:generators default="file"/>
  +    <map:transformers default="xslt"/>
  +    <map:readers default="resource"/>
  +    <map:serializers default="html"/>
  +    <map:matchers default="wildcard"/>
  +    <map:selectors default="browser"/>
  +  </map:components>
  +
  +  <!-- =========================== Pipelines 
================================= -->
  +
  +  <map:pipelines>
  +    <map:pipeline>
  +     <map:match pattern="">
  +       <map:redirect-to uri="welcome"/>
  +     </map:match>
  +     <map:match pattern="welcome">
  +       <map:generate src="samples.xml"/>
  +       <map:transform 
src="context://samples/common/style/xsl/html/simple-samples2html.xsl">
  +          <map:parameter name="contextPath" value="{request:contextPath}"/>
  +       </map:transform>
  +       <map:serialize/>
  +     </map:match>
  +   </map:pipeline>
  +
  +    <!-- pipeline mounting linkrewriter samples sitemaps -->
  +    <map:pipeline>
  +      <!-- mount everything else -->
  +      <map:match pattern="*/**">
  +        <map:mount check-reload="yes" src="{1}/" uri-prefix="{1}"/>
  +      </map:match>
  +    </map:pipeline>
  +  </map:pipelines>
  +</map:sitemap>
  
  
  
  1.3       +17 -18    
cocoon-2.1/src/blocks/lucene/java/org/apache/cocoon/components/search/SimpleLuceneXMLIndexerImpl.java
  
  Index: SimpleLuceneXMLIndexerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/lucene/java/org/apache/cocoon/components/search/SimpleLuceneXMLIndexerImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SimpleLuceneXMLIndexerImpl.java   11 Mar 2003 17:44:21 -0000      1.2
  +++ SimpleLuceneXMLIndexerImpl.java   6 May 2003 14:12:54 -0000       1.3
  @@ -81,23 +81,22 @@
   /**
    * A simple class building lucene documents from xml content.
    *
  - *   <p>
  - *    It has two parameters that effect the way it works:
  - *   </p><p>
  - *     <tt>&lt;store-fields/&gt;</tt> 
  - *           Sets which tags in your content are stored in Lucene as fields, 
  - *           during the indexing process. Allows them to be output with 
search hits.
  - *   </p><p>         
  - *           <tt>&lt;content-view-query/&gt;</tt>
  - *           Sets the view the indexer will request for indexing content.
  - *   </p><p>
  - *   Example configuration (goes in cocoon.xconf)
  - *   <pre><tt>
  - *           &lt;lucene-xml-indexer logger="core.search.lucene"&gt;
  - *                   &lt;store-fields&gt;title, summary&lt;store-fields&gt;
  - *                   
&lt;content-view-query&gt;cocoon-view=search&lt;/content-view-query&gt;
  - *           &lt;/lucene-xml-indexer&gt;
  - *   </tt></pre></p>
  + * <p>It has two parameters that effect the way it works:</p>
  + * <p>
  + *   <tt>&lt;store-fields/&gt;</tt> 
  + *   Sets which tags in your content are stored in Lucene as fields, 
  + *   during the indexing process. Allows them to be output with search hits.
  + * </p><p>
  + *   <tt>&lt;content-view-query/&gt;</tt>
  + *   Sets the view the indexer will request for indexing content.
  + * </p><p>
  + *   Example configuration (goes in cocoon.xconf)
  + *   <pre><tt>
  + *     &lt;lucene-xml-indexer logger="core.search.lucene"&gt;
  + *       &lt;store-fields&gt;title, summary&lt;store-fields&gt;
  + *       
&lt;content-view-query&gt;cocoon-view=search&lt;/content-view-query&gt;
  + *     &lt;/lucene-xml-indexer&gt;
  + *   </tt></pre></p>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Bernhard Huber</a>
    * @author <a href="mailto:[EMAIL PROTECTED]">Jeremy Quinn</a>
  
  
  
  1.2       +8 -8      cocoon-2.1/src/blocks/portal-fw/conf/portal-act.xmap
  
  Index: portal-act.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal-fw/conf/portal-act.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- portal-act.xmap   9 Mar 2003 00:05:14 -0000       1.1
  +++ portal-act.xmap   6 May 2003 14:12:54 -0000       1.2
  @@ -1,8 +1,8 @@
  -<?xml version="1.0"?>
  -
  -<xmap xpath="/sitemap/components/actions"
  -      unless="[EMAIL PROTECTED]'portal-auth']">
  -
  -    <map:action name="portal-auth"
  -                src="org.apache.cocoon.webapps.portal.acting.AuthAction"/>
  -</xmap>
  +<?xml version="1.0"?>
  +
  +<xmap xpath="/sitemap/components/actions"
  +      unless="[EMAIL PROTECTED]'portal-auth']">
  +
  +    <map:action name="portal-auth"
  +                src="org.apache.cocoon.webapps.portal.acting.AuthAction"/>
  +</xmap>
  
  
  
  1.2       +12 -12    cocoon-2.1/src/blocks/portal-fw/conf/portal-gen.xmap
  
  Index: portal-gen.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal-fw/conf/portal-gen.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- portal-gen.xmap   9 Mar 2003 00:05:14 -0000       1.1
  +++ portal-gen.xmap   6 May 2003 14:12:54 -0000       1.2
  @@ -1,12 +1,12 @@
  -<?xml version="1.0"?>
  -
  -<xmap xpath="/sitemap/components/generators"
  -      unless="[EMAIL PROTECTED]'portal']">
  -
  -    <map:generator name="portal"
  -                   
src="org.apache.cocoon.webapps.portal.generation.PortalGenerator"
  -                   label="content,data"/>
  -    <map:generator name="portal-conf"
  -                   
src="org.apache.cocoon.webapps.portal.generation.ConfigurationGenerator"
  -                   label="content,data"/>
  -</xmap>
  +<?xml version="1.0"?>
  +
  +<xmap xpath="/sitemap/components/generators"
  +      unless="[EMAIL PROTECTED]'portal']">
  +
  +    <map:generator name="portal"
  +                   
src="org.apache.cocoon.webapps.portal.generation.PortalGenerator"
  +                   label="content,data"/>
  +    <map:generator name="portal-conf"
  +                   
src="org.apache.cocoon.webapps.portal.generation.ConfigurationGenerator"
  +                   label="content,data"/>
  +</xmap>
  
  
  
  1.2       +8 -8      cocoon-2.1/src/blocks/portal-fw/conf/portal.xconf
  
  Index: portal.xconf
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal-fw/conf/portal.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- portal.xconf      9 Mar 2003 00:05:14 -0000       1.1
  +++ portal.xconf      6 May 2003 14:12:54 -0000       1.2
  @@ -1,8 +1,8 @@
  -<?xml version="1.0"?>
  -
  -<xconf xpath="/cocoon" unless="portal-manager">
  -
  -  <portal-manager logger="core.portal-manager"
  -                  pool-max="32" pool-min="8" pool-grow="4"/>
  -
  -</xconf>
  +<?xml version="1.0"?>
  +
  +<xconf xpath="/cocoon" unless="portal-manager">
  +
  +  <portal-manager logger="core.portal-manager"
  +                  pool-max="32" pool-min="8" pool-grow="4"/>
  +
  +</xconf>
  
  
  
  1.2       +9 -9      cocoon-2.1/src/blocks/portal-fw/conf/portal.xroles
  
  Index: portal.xroles
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal-fw/conf/portal.xroles,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- portal.xroles     9 Mar 2003 00:05:14 -0000       1.1
  +++ portal.xroles     6 May 2003 14:12:54 -0000       1.2
  @@ -1,9 +1,9 @@
  -<?xml version="1.0"?>
  -
  -<xroles xpath="/role-list" unless="[EMAIL 
PROTECTED]'org.apache.cocoon.webapps.portal.components.PortalManager']">
  -
  -  <role name="org.apache.cocoon.webapps.portal.components.PortalManager"
  -        shorthand="portal-manager"
  -        
default-class="org.apache.cocoon.webapps.portal.components.PortalManager"/>
  -
  -</xroles>
  +<?xml version="1.0"?>
  +
  +<xroles xpath="/role-list" unless="[EMAIL 
PROTECTED]'org.apache.cocoon.webapps.portal.components.PortalManager']">
  +
  +  <role name="org.apache.cocoon.webapps.portal.components.PortalManager"
  +        shorthand="portal-manager"
  +        
default-class="org.apache.cocoon.webapps.portal.components.PortalManager"/>
  +
  +</xroles>
  
  
  
  1.2       +289 -296  cocoon-2.1/src/blocks/portal-fw/samples/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/sitemap.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sitemap.xmap      9 Mar 2003 00:05:21 -0000       1.1
  +++ sitemap.xmap      6 May 2003 14:12:55 -0000       1.2
  @@ -1,296 +1,289 @@
  -<?xml version="1.0"?>
  -
  -<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  -<!-- =========================== Components ================================ 
-->
  -
  - <map:components>
  -
  -  <map:generators default="file"/>
  -  <map:transformers default="xslt"/>
  -  <map:readers default="resource"/>
  -  <map:serializers default="html"/>
  -  <map:matchers default="wildcard"/>
  -  <map:selectors default="browser"/>
  - </map:components>
  -
  -
  -<!-- =========================== Pipelines ================================= 
-->
  -
  - <map:pipelines>
  -  <map:component-configurations>
  -  <authentication-manager>
  -    <handlers>
  -      <handler name="portalhandler">
  -             <redirect-to uri="cocoon:/sunspotdemoportal"/>
  -             <authentication uri="cocoon:raw:/sunrise-authuser"/>
  -             <applications>
  -                     <application loadondemand="true" name="sunspotdemo">
  -                             <configuration name="portal">
  -                                     
<auth-redirect>sunspotdemo-portal</auth-redirect>
  -                                     
<portal-uri>sunspotdemo-portal</portal-uri>
  -                                     <profile-cache>true</profile-cache>
  -                                     
<process-coplets-parallel>false</process-coplets-parallel>
  -                                     
<default-coplet-timeout>10000</default-coplet-timeout> <!-- milliseconds -->
  -                                     <profile>
  -                                             <layout-base 
uri="profiles/layoutprofile.xml"/>
  -                                             <coplet-base 
uri="profiles/copletprofile.xml"/>
  -                                             <coplet-base-save 
uri="profiles/copletprofile.xml"/>
  -                                             <type-base 
uri="profiles/types.xml"/>
  -                                             <admin-type-base 
uri="profiles/admintypes.xml"/>
  -                                             <global-delta-load 
uri="profiles/globalprofile.xml"/>
  -                                             <global-delta-save 
uri="cocoon:raw:/sunspotdemoresource-saveglobalprofile"/>
  -                                             <role-delta-load 
uri="cocoon:raw:/sunspotdemoresource-roleprofile"/>
  -                                             <role-delta-save 
uri="cocoon:raw:/sunspotdemoresource-saveroleprofile"/>
  -                                             <user-delta-load 
uri="cocoon:raw:/sunspotdemoresource-userprofile"/>
  -                                             <user-delta-save 
uri="cocoon:raw:/sunspotdemoresource-saveuserprofile"/>
  -                                             <user-status-load 
uri="cocoon:raw:/sunspotdemoresource-userstatus"/>
  -                                             <user-status-save 
uri="cocoon:raw:/sunspotdemoresource-saveuserstatus"/>
  -                                     </profile>
  -                             </configuration>
  -                             <configuration 
name="single-role-user-management">
  -                    <load-users uri="cocoon:raw:/sunrise-loaduser"/>
  -                    <load-roles uri="cocoon:raw:/sunrise-roles"/>
  -                    <new-user uri="cocoon:raw:/sunrise-newuser"/>
  -                    <new-role uri="cocoon:raw:/sunrise-newrole"/>
  -                    <change-user uri="cocoon:raw:/sunrise-changeuser"/>
  -                    <delete-role uri="cocoon:raw:/sunrise-delrole"/>
  -                    <delete-user uri="cocoon:raw:/sunrise-deluser"/>
  -                             </configuration>
  -                     </application>
  -             </applications>
  -      </handler>
  -     </handlers>
  -   </authentication-manager>
  -  </map:component-configurations>
  -
  -  <map:pipeline>
  -
  -     
  -      <map:match pattern="">
  -        <map:redirect-to uri="sunspotdemoportal"/>
  -      </map:match>
  -
  -     <!-- This is the Cocoon Demo Portal Pipeline -->
  -     <map:match pattern="sunspotdemoportal">
  -             <map:act type="auth-loggedIn">
  -                     <map:parameter name="handler" value="portalhandler"/> 
  -                     <map:redirect-to uri="sunspotdemo-portal"/>
  -             </map:act>
  -             <map:generate src="resources/free/portal.xml"/>
  -             <map:transform src="styles/TO-html.xsl"/>
  -             <map:transform type="encodeURL"/>
  -             <map:serialize/>
  -     </map:match>
  -
  -     <!-- images -->
  -      <map:match pattern="sunspotdemoimg-*.gif">
  -             <map:read mime-type="image/gif" src="images/{1}.gif"/>
  -     </map:match>
  -     <map:match pattern="sunspotdemoimg-*.jpg">
  -             <map:read mime-type="image/jpg" src="images/{1}.jpg"/>
  -     </map:match>
  -
  -     <!-- free sites -->
  -     <map:match pattern="sunspotdemofree-login">
  -             <map:act type="auth-loggedIn">
  -                     <map:parameter name="handler" value="portalhandler"/> 
  -                     <map:redirect-to uri="sunspotdemo-portal"/>
  -             </map:act>
  -             <map:generate src="resources/free/login.xml"/>
  -             <map:transform src="styles/login-html.xsl"/>
  -             <map:transform src="styles/TO-html.xsl"/>
  -             <map:transform type="encodeURL"/>
  -             <map:serialize/>
  -     </map:match>
  -     <map:match pattern="sunspotdemofree-auth">
  -             <map:act type="auth-loggedIn">
  -                     <map:parameter name="handler" value="portalhandler"/> 
  -                     <map:redirect-to uri="sunspotdemo-loggedin"/>
  -             </map:act>
  -             <map:act type="auth-login">
  -             <map:parameter name="handler" value="portalhandler"/>
  -                     <map:parameter name="parameter_name" 
value="{request-param:name}"/>
  -                     <map:parameter name="parameter_password" 
value="{request-param:password}"/>
  -                     <map:redirect-to uri="sunspotdemo-portal"/>
  -           </map:act>
  -             <map:generate src="resources/free/auth.xml"/>
  -             <map:transform src="styles/TO-html.xsl"/>
  -             <map:transform type="encodeURL"/>
  -             <map:serialize/>
  -     </map:match>
  -     <map:match pattern="sunspotdemofree-*">
  -             <map:act type="auth-loggedIn">
  -                     <map:parameter name="handler" value="portalhandler"/> 
  -                     <map:redirect-to uri="sunspotdemo-portal"/>
  -             </map:act>
  -             <map:generate src="resources/free/{1}.xml"/>
  -             <map:transform src="styles/TO-html.xsl"/>
  -             <map:transform type="encodeURL"/>
  -             <map:serialize/>
  -     </map:match>
  -
  -      <map:match pattern="sunspotdemo**">
  -             <map:act type="auth-protect">
  -                     <map:parameter name="handler" value="portalhandler"/> 
  -                     <map:parameter name="application" value="sunspotdemo"/> 
  -     
  -                     <map:match pattern="sunspotdemoresource-save*">
  -                             <map:generate src="resources/save{1}.xml"/>
  -                             <map:transform type="session"/>
  -                             <map:transform type="cinclude"/>
  -                             <map:transform type="write-source"/>
  -                             <map:serialize type="xml"/>
  -                     </map:match>
  -                     <map:match pattern="sunspotdemoresource-*">
  -                             <map:generate src="resources/{1}.xml"/>
  -                             <map:transform type="session"/>
  -                             <map:transform type="cinclude"/>
  -                             <map:transform type="write-source"/>
  -                             <map:transform src="styles/portal.xsl"/>
  -                             <map:serialize type="xml"/>
  -                     </map:match>
  -
  -             <!-- sunlets -->
  -                     <map:match pattern="sunspotdemosunlet-onlinesundn.xml"> 
  -                             <map:generate 
src="http://www.s-und-n.de/aktuelles/news.xml"/>
  -                             <map:transform 
src="styles/sunLet_sundnNews.xsl"/>
  -                             <map:serialize type="xml"/>
  -                     </map:match>
  -
  -                     <map:match pattern="sunspotdemosunlet-online-*.xml"> 
  -                             <map:generate 
src="http://p.moreover.com/cgi-local/page?index_{1}+xml"/>
  -                             <map:transform 
src="styles/sunLet_MoreoverDotCom.xsl"/>
  -                             <map:serialize type="xml"/>
  -                     </map:match>
  -                     <map:match pattern="sunspotdemosunlet-customnews">
  -                             <map:generate 
src="resources/auth/sunlet-customnews.xml"/>
  -                             <map:transform type="session"/>
  -                             <map:transform type="cinclude"/>
  -                             <map:transform 
src="styles/sunLet_MoreoverDotCom.xsl"/>
  -                             <map:serialize type="xml"/> 
  -                     </map:match>
  -                     <map:match pattern="sunspotdemosunletconf-*"> 
  -                             <map:generate 
src="resources/auth/sunletconfig-{1}.xml"/>
  -                             <map:transform type="session"/>
  -                         <map:transform type="cinclude"/>
  -                             <map:transform src="styles/sunletconf.xsl"/>
  -                             <map:serialize type="xml"/>
  -                     </map:match>
  -
  -                     <map:match pattern="sunspotdemosunlet-*.xml"> 
  -                             <map:generate 
src="resources/auth/sunlet-{1}.xml"/>
  -                             <map:serialize type="xml"/>
  -                     </map:match>
  -                                     
  -
  -             <!-- auth sites -->
  -
  -                     <map:match pattern="sunspotdemo-conf">
  -                             <map:generate type="portal-conf"/>
  -                             <map:transform src="styles/portalconfHTML.xsl"/>
  -                             <map:transform type="encodeURL"/>
  -                             <map:serialize/>
  -                     </map:match>
  -                     <map:match pattern="sunspotdemo-adminconf">
  -                             <!-- This pipeline can only be accessed if the 
current user is
  -                             allowed to configure the 'administration' 
coplet -->
  -                             <map:act type="portal-auth">
  -                                     <map:parameter name="coplet" 
value="administration"/>
  -                             </map:act>
  -                             <map:generate src="admin" type="portal-conf"/>
  -                             <map:transform src="styles/portalconfHTML.xsl"/>
  -                             <map:transform type="encodeURL"/>
  -                             <map:serialize/>
  -                     </map:match> 
  -                     <map:match pattern="sunspotdemo-sunriseconf">
  -                             <!-- This pipeline can only be accessed if the 
current user is
  -                             allowed to configure the 'administration' 
coplet -->
  -                             <map:act type="portal-auth">
  -                                     <map:parameter name="coplet" 
value="administration"/>
  -                             </map:act>
  -                             <map:generate type="auth-conf"/>
  -                             <map:transform 
src="styles/sunriseconfHTML.xsl"/>
  -                             <map:transform type="encodeURL"/>
  -                             <map:serialize/>
  -                     </map:match> 
  -                     <map:match pattern="sunspotdemo-sunriseedit">
  -                             <map:generate src="user" type="auth-conf"/>
  -                             <map:transform 
src="styles/sunriseeditHTML.xsl"/>
  -                             <map:transform type="encodeURL"/>
  -                             <map:serialize/>
  -                     </map:match> 
  -                     <map:match pattern="sunspotdemo-portlets">
  -                             <map:generate type="portal"/>
  -                             <map:select type="browser">
  -                                     <map:when test="explorer">
  -                                             <map:transform 
src="styles/portalHTML.xsl"/>
  -                                     </map:when>
  -                                     <map:when test="netscape">
  -                                             <map:transform 
src="styles/portalHTML-Netscape.xsl"/>
  -                                     </map:when>
  -                                     <map:otherwise>
  -                                             <map:transform 
src="styles/portalHTML.xsl"/>
  -                                     </map:otherwise>
  -                             </map:select>
  -                             <map:transform type="encodeURL"/>
  -                             <map:serialize/>
  -                     </map:match>
  -                     <map:match pattern="sunspotdemo-logout">
  -                             <map:act type="auth-logout"/>
  -                             <map:generate src="resources/auth/logout.xml"/>
  -                             <map:transform src="styles/TO-html.xsl"/>
  -                             <map:transform type="encodeURL"/>
  -                             <map:serialize/>
  -                     </map:match>
  -                     <map:match pattern="sunspotdemo-*">
  -                             <map:generate src="resources/auth/{1}.xml"/>
  -                             <map:transform type="session"/>
  -                             <map:transform type="cinclude"/>
  -                             <map:transform type="write-source"/>
  -                             <map:transform src="styles/TO-html.xsl"/>
  -                             <map:transform type="encodeURL"/>
  -                             <map:serialize/>
  -                     </map:match>
  -             </map:act>
  -    </map:match>
  -
  -  </map:pipeline>
  -
  -  <map:pipeline internal-only="true">
  -    <!-- This is the Cocoon Demo Portal Pipeline              -->
  -     <map:match pattern="sunrise-*">
  -             <!-- authentication -->
  -             <map:match pattern="sunrise-authuser">
  -                     <map:generate src="resources/sunrise-user.xml"/>
  -                     <map:transform src="styles/sunrise-user.xsl">
  -                             <map:parameter name="use-request-parameters" 
value="true"/>
  -                  </map:transform>
  -                     <map:serialize type="xml"/>
  -             </map:match>
  -
  -             <map:match pattern="sunrise-changeuser">
  -                     <map:generate src="resources/sunrise-changeuser.xml"/>
  -                     <map:transform type="session"/>
  -                     <map:transform type="cinclude"/>
  -                     <map:transform src="styles/changeuser.xsl"/>
  -                     <map:transform type="write-source"/>
  -                     <map:transform src="styles/portal.xsl"/>
  -                     <map:serialize type="xml"/>
  -             </map:match>
  -
  -             <map:match pattern="sunrise*">
  -                     <map:generate src="resources/sunrise{1}.xml"/>
  -                     <map:transform type="session"/>
  -                     <map:transform type="cinclude"/>
  -                     <map:transform type="write-source"/>
  -                     <map:transform src="styles/portal.xsl"/>
  -                     <map:serialize type="xml"/>
  -             </map:match>
  -     </map:match>
  -  </map:pipeline>
  -
  - </map:pipelines>
  -
  -</map:sitemap>
  -
  -<!-- end of file -->
  +<?xml version="1.0"?>
  +
  +<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  +<!-- =========================== Components ================================ 
-->
  +
  +  <map:components>
  +    <map:generators default="file"/>
  +    <map:transformers default="xslt"/>
  +    <map:readers default="resource"/>
  +    <map:serializers default="html"/>
  +    <map:matchers default="wildcard"/>
  +    <map:selectors default="browser"/>
  +  </map:components>
  +
  +<!-- =========================== Pipelines ================================= 
-->
  +
  +  <map:pipelines>
  +    <map:component-configurations>
  +      <authentication-manager>
  +        <handlers>
  +          <handler name="portalhandler">
  +            <redirect-to uri="cocoon:/sunspotdemoportal"/>
  +            <authentication uri="cocoon:raw:/sunrise-authuser"/>
  +            <applications>
  +              <application loadondemand="true" name="sunspotdemo">
  +                <configuration name="portal">
  +                  <auth-redirect>sunspotdemo-portal</auth-redirect>
  +                  <portal-uri>sunspotdemo-portal</portal-uri>
  +                  <profile-cache>true</profile-cache>
  +                  <process-coplets-parallel>false</process-coplets-parallel>
  +                  <default-coplet-timeout>10000</default-coplet-timeout> 
<!-- milliseconds -->
  +                  <profile>
  +                    <layout-base uri="profiles/layoutprofile.xml"/>
  +                    <coplet-base uri="profiles/copletprofile.xml"/>
  +                    <coplet-base-save uri="profiles/copletprofile.xml"/>
  +                    <type-base uri="profiles/types.xml"/>
  +                    <admin-type-base uri="profiles/admintypes.xml"/>
  +                    <global-delta-load uri="profiles/globalprofile.xml"/>
  +                    <global-delta-save 
uri="cocoon:raw:/sunspotdemoresource-saveglobalprofile"/>
  +                    <role-delta-load 
uri="cocoon:raw:/sunspotdemoresource-roleprofile"/>
  +                    <role-delta-save 
uri="cocoon:raw:/sunspotdemoresource-saveroleprofile"/>
  +                    <user-delta-load 
uri="cocoon:raw:/sunspotdemoresource-userprofile"/>
  +                    <user-delta-save 
uri="cocoon:raw:/sunspotdemoresource-saveuserprofile"/>
  +                    <user-status-load 
uri="cocoon:raw:/sunspotdemoresource-userstatus"/>
  +                    <user-status-save 
uri="cocoon:raw:/sunspotdemoresource-saveuserstatus"/>
  +                  </profile>
  +                </configuration>
  +                <configuration name="single-role-user-management">
  +                  <load-users uri="cocoon:raw:/sunrise-loaduser"/>
  +                  <load-roles uri="cocoon:raw:/sunrise-roles"/>
  +                  <new-user uri="cocoon:raw:/sunrise-newuser"/>
  +                  <new-role uri="cocoon:raw:/sunrise-newrole"/>
  +                  <change-user uri="cocoon:raw:/sunrise-changeuser"/>
  +                  <delete-role uri="cocoon:raw:/sunrise-delrole"/>
  +                  <delete-user uri="cocoon:raw:/sunrise-deluser"/>
  +                </configuration>
  +              </application>
  +            </applications>
  +          </handler>
  +        </handlers>
  +      </authentication-manager>
  +    </map:component-configurations>
  +
  +    <map:pipeline>
  +      <map:match pattern="">
  +        <map:redirect-to uri="sunspotdemoportal"/>
  +      </map:match>
  +
  +      <!-- This is the Cocoon Demo Portal Pipeline -->
  +      <map:match pattern="sunspotdemoportal">
  +        <map:act type="auth-loggedIn">
  +            <map:parameter name="handler" value="portalhandler"/> 
  +            <map:redirect-to uri="sunspotdemo-portal"/>
  +        </map:act>
  +        <map:generate src="resources/free/portal.xml"/>
  +        <map:transform src="styles/TO-html.xsl"/>
  +        <map:transform type="encodeURL"/>
  +        <map:serialize/>
  +      </map:match>
  +
  +      <!-- images -->
  +      <map:match pattern="sunspotdemoimg-*.gif">
  +        <map:read mime-type="image/gif" src="images/{1}.gif"/>
  +      </map:match>
  +      <map:match pattern="sunspotdemoimg-*.jpg">
  +        <map:read mime-type="image/jpg" src="images/{1}.jpg"/>
  +      </map:match>
  +
  +      <!-- free sites -->
  +      <map:match pattern="sunspotdemofree-login">
  +        <map:act type="auth-loggedIn">
  +          <map:parameter name="handler" value="portalhandler"/> 
  +          <map:redirect-to uri="sunspotdemo-portal"/>
  +        </map:act>
  +        <map:generate src="resources/free/login.xml"/>
  +        <map:transform src="styles/login-html.xsl"/>
  +        <map:transform src="styles/TO-html.xsl"/>
  +        <map:transform type="encodeURL"/>
  +        <map:serialize/>
  +      </map:match>
  +      <map:match pattern="sunspotdemofree-auth">
  +        <map:act type="auth-loggedIn">
  +          <map:parameter name="handler" value="portalhandler"/> 
  +          <map:redirect-to uri="sunspotdemo-loggedin"/>
  +        </map:act>
  +        <map:act type="auth-login">
  +          <map:parameter name="handler" value="portalhandler"/>
  +          <map:parameter name="parameter_name" value="{request-param:name}"/>
  +          <map:parameter name="parameter_password" 
value="{request-param:password}"/>
  +          <map:redirect-to uri="sunspotdemo-portal"/>
  +        </map:act>
  +        <map:generate src="resources/free/auth.xml"/>
  +        <map:transform src="styles/TO-html.xsl"/>
  +        <map:transform type="encodeURL"/>
  +        <map:serialize/>
  +      </map:match>
  +      <map:match pattern="sunspotdemofree-*">
  +        <map:act type="auth-loggedIn">
  +          <map:parameter name="handler" value="portalhandler"/> 
  +          <map:redirect-to uri="sunspotdemo-portal"/>
  +        </map:act>
  +        <map:generate src="resources/free/{1}.xml"/>
  +        <map:transform src="styles/TO-html.xsl"/>
  +        <map:transform type="encodeURL"/>
  +        <map:serialize/>
  +      </map:match>
  +
  +      <map:match pattern="sunspotdemo**">
  +        <map:act type="auth-protect">
  +          <map:parameter name="handler" value="portalhandler"/> 
  +          <map:parameter name="application" value="sunspotdemo"/> 
  +    
  +          <map:match pattern="sunspotdemoresource-save*">
  +            <map:generate src="resources/save{1}.xml"/>
  +            <map:transform type="session"/>
  +            <map:transform type="cinclude"/>
  +            <map:transform type="write-source"/>
  +            <map:serialize type="xml"/>
  +          </map:match>
  +          <map:match pattern="sunspotdemoresource-*">
  +            <map:generate src="resources/{1}.xml"/>
  +            <map:transform type="session"/>
  +            <map:transform type="cinclude"/>
  +            <map:transform type="write-source"/>
  +            <map:transform src="styles/portal.xsl"/>
  +            <map:serialize type="xml"/>
  +          </map:match>
  +
  +        <!-- sunlets -->
  +          <map:match pattern="sunspotdemosunlet-onlinesundn.xml"> 
  +            <map:generate src="http://www.s-und-n.de/aktuelles/news.xml"/>
  +            <map:transform src="styles/sunLet_sundnNews.xsl"/>
  +            <map:serialize type="xml"/>
  +          </map:match>
  +
  +          <map:match pattern="sunspotdemosunlet-online-*.xml"> 
  +            <map:generate 
src="http://p.moreover.com/cgi-local/page?index_{1}+xml"/>
  +            <map:transform src="styles/sunLet_MoreoverDotCom.xsl"/>
  +            <map:serialize type="xml"/>
  +          </map:match>
  +          <map:match pattern="sunspotdemosunlet-customnews">
  +            <map:generate src="resources/auth/sunlet-customnews.xml"/>
  +            <map:transform type="session"/>
  +            <map:transform type="cinclude"/>
  +            <map:transform src="styles/sunLet_MoreoverDotCom.xsl"/>
  +            <map:serialize type="xml"/> 
  +          </map:match>
  +          <map:match pattern="sunspotdemosunletconf-*"> 
  +            <map:generate src="resources/auth/sunletconfig-{1}.xml"/>
  +            <map:transform type="session"/>
  +              <map:transform type="cinclude"/>
  +            <map:transform src="styles/sunletconf.xsl"/>
  +            <map:serialize type="xml"/>
  +          </map:match>
  +
  +          <map:match pattern="sunspotdemosunlet-*.xml"> 
  +            <map:generate src="resources/auth/sunlet-{1}.xml"/>
  +            <map:serialize type="xml"/>
  +          </map:match>
  +                    
  +
  +        <!-- auth sites -->
  +
  +          <map:match pattern="sunspotdemo-conf">
  +            <map:generate type="portal-conf"/>
  +            <map:transform src="styles/portalconfHTML.xsl"/>
  +            <map:transform type="encodeURL"/>
  +            <map:serialize/>
  +          </map:match>
  +          <map:match pattern="sunspotdemo-adminconf">
  +            <!-- This pipeline can only be accessed if the current user is
  +                         allowed to configure the 'administration' coplet -->
  +            <map:act type="portal-auth">
  +              <map:parameter name="coplet" value="administration"/>
  +            </map:act>
  +            <map:generate src="admin" type="portal-conf"/>
  +            <map:transform src="styles/portalconfHTML.xsl"/>
  +            <map:transform type="encodeURL"/>
  +            <map:serialize/>
  +          </map:match> 
  +          <map:match pattern="sunspotdemo-sunriseconf">
  +            <!-- This pipeline can only be accessed if the current user is
  +                         allowed to configure the 'administration' coplet -->
  +            <map:act type="portal-auth">
  +              <map:parameter name="coplet" value="administration"/>
  +            </map:act>
  +            <map:generate type="auth-conf"/>
  +            <map:transform src="styles/sunriseconfHTML.xsl"/>
  +            <map:transform type="encodeURL"/>
  +            <map:serialize/>
  +          </map:match> 
  +          <map:match pattern="sunspotdemo-sunriseedit">
  +            <map:generate src="user" type="auth-conf"/>
  +            <map:transform src="styles/sunriseeditHTML.xsl"/>
  +            <map:transform type="encodeURL"/>
  +            <map:serialize/>
  +          </map:match> 
  +          <map:match pattern="sunspotdemo-portlets">
  +            <map:generate type="portal"/>
  +            <map:select type="browser">
  +              <map:when test="explorer">
  +                <map:transform src="styles/portalHTML.xsl"/>
  +              </map:when>
  +              <map:when test="netscape">
  +                <map:transform src="styles/portalHTML-Netscape.xsl"/>
  +              </map:when>
  +              <map:otherwise>
  +                <map:transform src="styles/portalHTML.xsl"/>
  +              </map:otherwise>
  +            </map:select>
  +            <map:transform type="encodeURL"/>
  +            <map:serialize/>
  +          </map:match>
  +          <map:match pattern="sunspotdemo-logout">
  +            <map:act type="auth-logout"/>
  +            <map:generate src="resources/auth/logout.xml"/>
  +            <map:transform src="styles/TO-html.xsl"/>
  +            <map:transform type="encodeURL"/>
  +            <map:serialize/>
  +          </map:match>
  +          <map:match pattern="sunspotdemo-*">
  +            <map:generate src="resources/auth/{1}.xml"/>
  +            <map:transform type="session"/>
  +            <map:transform type="cinclude"/>
  +            <map:transform type="write-source"/>
  +            <map:transform src="styles/TO-html.xsl"/>
  +            <map:transform type="encodeURL"/>
  +            <map:serialize/>
  +          </map:match>
  +        </map:act>
  +      </map:match>
  +    </map:pipeline>
  +
  +    <map:pipeline internal-only="true">
  +      <!-- This is the Cocoon Demo Portal Pipeline              -->
  +      <map:match pattern="sunrise-*">
  +        <!-- authentication -->
  +        <map:match pattern="sunrise-authuser">
  +          <map:generate src="resources/sunrise-user.xml"/>
  +          <map:transform src="styles/sunrise-user.xsl">
  +            <map:parameter name="use-request-parameters" value="true"/>
  +          </map:transform>
  +          <map:serialize type="xml"/>
  +        </map:match>
  +
  +        <map:match pattern="sunrise-changeuser">
  +          <map:generate src="resources/sunrise-changeuser.xml"/>
  +          <map:transform type="session"/>
  +          <map:transform type="cinclude"/>
  +          <map:transform src="styles/changeuser.xsl"/>
  +          <map:transform type="write-source"/>
  +          <map:transform src="styles/portal.xsl"/>
  +          <map:serialize type="xml"/>
  +        </map:match>
  +
  +        <map:match pattern="sunrise*">
  +          <map:generate src="resources/sunrise{1}.xml"/>
  +          <map:transform type="session"/>
  +          <map:transform type="cinclude"/>
  +          <map:transform type="write-source"/>
  +          <map:transform src="styles/portal.xsl"/>
  +          <map:serialize type="xml"/>
  +        </map:match>
  +      </map:match>
  +    </map:pipeline>
  +  </map:pipelines>
  +</map:sitemap>
  +
  +<!-- end of file -->
  
  
  
  1.2       +218 -220  
cocoon-2.1/src/blocks/portal-fw/samples/styles/TO-html.xsl
  
  Index: TO-html.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/TO-html.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TO-html.xsl       9 Mar 2003 00:05:31 -0000       1.1
  +++ TO-html.xsl       6 May 2003 14:12:55 -0000       1.2
  @@ -1,220 +1,218 @@
  -<?xml version="1.0"?>
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<!-- $Id$ 
  -
  -
  --->
  -
  -<xsl:template match="page">
  -   <html>
  -    <head>
  -     <title>
  -      <xsl:if test="@title"><xsl:value-of select="@title"/></xsl:if>
  -      <xsl:if test="not(@title)">Cocoon Portal</xsl:if>
  -     </title>
  -     <xsl:if test="@logout">
  -      <script language="JavaScript"> 
  -             function timeout() {
  -                     window.setTimeout("test()", 1500); 
  -             }
  -             function test() {  
  -                     top.location.href = "sunspotdemofree-portal";
  -             } 
  -      </script> 
  -     </xsl:if>
  -    </head>
  -     <xsl:apply-templates/>
  -   </html>
  -  </xsl:template>
  -
  -<xsl:template match="content">
  -    <body text="#0B2A51" link="#0B2A51" vlink="#666666">
  -             <xsl:apply-templates select="@*"/>
  -      <xsl:if test="/page/@logout">
  -        <xsl:attribute name="onLoad">timeout()</xsl:attribute>
  -      </xsl:if>
  -      <xsl:if test="/page/@bgcolor">
  -        <xsl:attribute name="bgcolor"><xsl:value-of 
select="/page/@bgcolor"/></xsl:attribute>
  -      </xsl:if>
  -      <xsl:if test="/page/@textcolor">
  -        <xsl:attribute name="text"><xsl:value-of 
select="/page/@textcolor"/></xsl:attribute>
  -      </xsl:if>
  -      <xsl:if test="/page/@background">
  -        <xsl:attribute name="background"><xsl:value-of 
select="/page/@background"/></xsl:attribute>
  -      </xsl:if>
  -      <xsl:apply-templates/>                                                 
                        
  -    </body>
  -</xsl:template>
  -
  -<xsl:template match="logoutcontent">
  -    <body text="#0B2A51" link="#0B2A51" vlink="#666666">
  -             <xsl:apply-templates select="@*"/>
  -      <xsl:if test="/page/@logout">
  -        <xsl:attribute name="onLoad">timeout()</xsl:attribute>
  -      </xsl:if>
  -      <xsl:if test="/page/@bgcolor">
  -        <xsl:attribute name="bgcolor"><xsl:value-of 
select="/page/@bgcolor"/></xsl:attribute>
  -      </xsl:if>
  -      <xsl:if test="/page/@textcolor">
  -        <xsl:attribute name="text"><xsl:value-of 
select="/page/@textcolor"/></xsl:attribute>
  -      </xsl:if>
  -      <xsl:if test="/page/@background">
  -        <xsl:attribute name="background"><xsl:value-of 
select="/page/@background"/></xsl:attribute>
  -      </xsl:if>
  -     <table border="0" cellPadding="0" cellSpacing="0" height="100%" 
width="100%">
  -                     <tr>
  -                             <td height="100%" noWrap="" width="193" 
valign="top" bgcolor="#46627a">
  -                                     <img height="2" 
src="sunspotdemoimg-space.gif" width="1"/>
  -                             </td>
  -                             <td>
  -                                     <table border="0" width="100%" 
cellspacing="0" cellpadding="0">
  -                                             <xsl:attribute name="bgcolor">
  -                                                     <xsl:value-of 
select="portalconf/layout-profile/portal/layouts/layout/background/color"/>
  -                                             </xsl:attribute>
  -                                                     
  -                                                     <tr>
  -                                                             <td 
width="1%"><img src="sunspotdemoimg-space.gif" width="20" height="1"/></td>
  -                                                             <td 
align="center">
  -                                                                     <img 
src="sunspotdemoimg-space.gif" height="20" width="1"/>
  -                                                                     <table 
border="0" width="100%">
  -                                                                             
<tr>
  -                                                                             
        <td>    
  -      <xsl:apply-templates/> 
  -     </td>
  -                                                                             
</tr>
  -                                                                     </table>
  -                                                             </td>
  -                                                             <td><img 
src="sunspotdemoimg-space.gif" width="20"/></td>
  -                                                     </tr>
  -                                             </table>
  -                                     </td>
  -                             </tr>
  -             </table>                                                        
                
  -    </body>
  -</xsl:template>
  -
  -<xsl:template match="paragraph">
  -    <xsl:if test="@title">
  -      <font face="Arial, Helvetica, sans-serif" size="3">
  -             <b>
  -        <xsl:value-of select="@title"/>
  -             </b>
  -      </font>
  -    </xsl:if>                                                                
  -     <p>
  -     <font face="Arial, Helvetica, sans-serif" size="2">
  -                     <xsl:apply-templates/>  
  -      </font>
  -   </p>
  -  </xsl:template>
  -
  -<xsl:template match="logoutparagraph">                                       
                
  -     <p>
  -     <font face="Arial, Helvetica, sans-serif" size="2">
  -                     <xsl:apply-templates/>  
  -      </font>
  -   </p>
  -  </xsl:template>
  -
  -<xsl:template match="pageset">
  -      <frameset border="0" frameborder="0" framespacing="0" noresize="">
  -        <xsl:if test="@rows">
  -          <xsl:attribute name="rows"><xsl:value-of 
select="@rows"/></xsl:attribute>
  -        </xsl:if>
  -        <xsl:if test="@columns">
  -          <xsl:attribute name="cols"><xsl:value-of 
select="@columns"/></xsl:attribute>
  -        </xsl:if>
  -        <xsl:apply-templates/>
  -      </frameset>
  -  </xsl:template>
  -
  -<xsl:template match="pagepart">
  -  <xsl:apply-templates/>
  -</xsl:template>
  -
  -<xsl:template match="part">  
  -    <frame frameborder="0" border="0" noresize="" marginHeight="0" 
marginwidth="0">
  -      <xsl:attribute name="src"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  -      <xsl:attribute name="name"><xsl:value-of 
select="@title"/></xsl:attribute>
  -      <xsl:if test="@scrolling">
  -        <xsl:attribute name="scrolling"><xsl:value-of 
select="@scrolling"/></xsl:attribute>
  -      </xsl:if>
  -      <xsl:if test="@noresize">
  -        <xsl:attribute name="noresize"><xsl:value-of 
select="@noresize"/></xsl:attribute>
  -      </xsl:if>
  -    </frame>  
  -  </xsl:template>
  -
  -<xsl:template match="picture">
  -    <xsl:if test="action">
  -      <a href="{action/@url}">
  -        <img border="0">
  -          <xsl:attribute name="src"><xsl:value-of 
select="@url"/></xsl:attribute>
  -        </img>
  -      </a>
  -    </xsl:if>
  -    <xsl:if test="not(action)">    
  -      <img>
  -        <xsl:attribute name="src"><xsl:value-of 
select="@url"/></xsl:attribute>
  -      </img>
  -     </xsl:if>
  -  </xsl:template>
  -
  -<xsl:template match="picturedyn">
  -    <xsl:if test="action">
  -      <a href="{action/@url}">
  -        <img border="0">
  -          <xsl:attribute name="src"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  -        </img>
  -      </a>
  -    </xsl:if>
  -    <xsl:if test="not(action)">    
  -      <img border="0">
  -        <xsl:attribute name="src"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  -      </img>
  -     </xsl:if>
  -  </xsl:template>
  -
  -<xsl:template match="link">
  -    <a>
  -      <xsl:choose>
  -        <xsl:when test="starts-with(normalize-space(url), 'http')">
  -          <xsl:attribute name="target">_new</xsl:attribute>
  -        </xsl:when>
  -        <xsl:when test="target">
  -            <xsl:attribute name="target"><xsl:value-of 
select="normalize-space(target)"/></xsl:attribute>
  -        </xsl:when>     
  -        <xsl:otherwise>
  -          <xsl:attribute name="target">Main</xsl:attribute>
  -        </xsl:otherwise>
  -      </xsl:choose>
  -    
  -      <xsl:attribute name="href"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  -      <xsl:value-of select="normalize-space(text)"/>
  -    </a>
  -  </xsl:template>
  -
  -<xsl:template match="field">
  -     <td>
  -     <xsl:value-of select="@name"/>
  -     </td>
  -     <td>
  -             <input type="text" size="30">
  -             <xsl:attribute name="name"><xsl:value-of 
select="@field"/></xsl:attribute>
  -             <xsl:attribute name="value"><xsl:value-of 
select="@value"/></xsl:attribute>
  -             </input>
  -     </td>
  -  </xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -
  -<xsl:template match="@*|node()">
  -   <xsl:copy>
  -    <xsl:apply-templates select="@*|node()" />
  -   </xsl:copy>
  -  </xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<xsl:template match="page">
  +   <html>
  +    <head>
  +     <title>
  +      <xsl:if test="@title"><xsl:value-of select="@title"/></xsl:if>
  +      <xsl:if test="not(@title)">Cocoon Portal</xsl:if>
  +     </title>
  +     <xsl:if test="@logout">
  +      <script language="JavaScript"> 
  +             function timeout() {
  +                     window.setTimeout("test()", 1500); 
  +             }
  +             function test() {  
  +                     top.location.href = "sunspotdemofree-portal";
  +             } 
  +      </script> 
  +     </xsl:if>
  +    </head>
  +     <xsl:apply-templates/>
  +   </html>
  +  </xsl:template>
  +
  +<xsl:template match="content">
  +    <body text="#0B2A51" link="#0B2A51" vlink="#666666">
  +             <xsl:apply-templates select="@*"/>
  +      <xsl:if test="/page/@logout">
  +        <xsl:attribute name="onLoad">timeout()</xsl:attribute>
  +      </xsl:if>
  +      <xsl:if test="/page/@bgcolor">
  +        <xsl:attribute name="bgcolor"><xsl:value-of 
select="/page/@bgcolor"/></xsl:attribute>
  +      </xsl:if>
  +      <xsl:if test="/page/@textcolor">
  +        <xsl:attribute name="text"><xsl:value-of 
select="/page/@textcolor"/></xsl:attribute>
  +      </xsl:if>
  +      <xsl:if test="/page/@background">
  +        <xsl:attribute name="background"><xsl:value-of 
select="/page/@background"/></xsl:attribute>
  +      </xsl:if>
  +      <xsl:apply-templates/>                                                 
                        
  +    </body>
  +</xsl:template>
  +
  +<xsl:template match="logoutcontent">
  +    <body text="#0B2A51" link="#0B2A51" vlink="#666666">
  +             <xsl:apply-templates select="@*"/>
  +      <xsl:if test="/page/@logout">
  +        <xsl:attribute name="onLoad">timeout()</xsl:attribute>
  +      </xsl:if>
  +      <xsl:if test="/page/@bgcolor">
  +        <xsl:attribute name="bgcolor"><xsl:value-of 
select="/page/@bgcolor"/></xsl:attribute>
  +      </xsl:if>
  +      <xsl:if test="/page/@textcolor">
  +        <xsl:attribute name="text"><xsl:value-of 
select="/page/@textcolor"/></xsl:attribute>
  +      </xsl:if>
  +      <xsl:if test="/page/@background">
  +        <xsl:attribute name="background"><xsl:value-of 
select="/page/@background"/></xsl:attribute>
  +      </xsl:if>
  +     <table border="0" cellPadding="0" cellSpacing="0" height="100%" 
width="100%">
  +                     <tr>
  +                             <td height="100%" noWrap="" width="193" 
valign="top" bgcolor="#46627a">
  +                                     <img height="2" 
src="sunspotdemoimg-space.gif" width="1"/>
  +                             </td>
  +                             <td>
  +                                     <table border="0" width="100%" 
cellspacing="0" cellpadding="0">
  +                                             <xsl:attribute name="bgcolor">
  +                                                     <xsl:value-of 
select="portalconf/layout-profile/portal/layouts/layout/background/color"/>
  +                                             </xsl:attribute>
  +                                                     
  +                                                     <tr>
  +                                                             <td 
width="1%"><img src="sunspotdemoimg-space.gif" width="20" height="1"/></td>
  +                                                             <td 
align="center">
  +                                                                     <img 
src="sunspotdemoimg-space.gif" height="20" width="1"/>
  +                                                                     <table 
border="0" width="100%">
  +                                                                             
<tr>
  +                                                                             
        <td>    
  +      <xsl:apply-templates/> 
  +     </td>
  +                                                                             
</tr>
  +                                                                     </table>
  +                                                             </td>
  +                                                             <td><img 
src="sunspotdemoimg-space.gif" width="20"/></td>
  +                                                     </tr>
  +                                             </table>
  +                                     </td>
  +                             </tr>
  +             </table>                                                        
                
  +    </body>
  +</xsl:template>
  +
  +  <xsl:template match="paragraph">
  +    <xsl:if test="@title">
  +      <font face="Arial, Helvetica, sans-serif" size="3">
  +             <b>
  +        <xsl:value-of select="@title"/>
  +             </b>
  +      </font>
  +    </xsl:if>                                                                
  +     <p>
  +     <font face="Arial, Helvetica, sans-serif" size="2">
  +                     <xsl:apply-templates/>  
  +      </font>
  +   </p>
  +  </xsl:template>
  +
  +  <xsl:template match="logoutparagraph">                                     
                
  +     <p>
  +     <font face="Arial, Helvetica, sans-serif" size="2">
  +                     <xsl:apply-templates/>  
  +      </font>
  +   </p>
  +  </xsl:template>
  +
  +  <xsl:template match="pageset">
  +      <frameset border="0" frameborder="0" framespacing="0" noresize="">
  +        <xsl:if test="@rows">
  +          <xsl:attribute name="rows"><xsl:value-of 
select="@rows"/></xsl:attribute>
  +        </xsl:if>
  +        <xsl:if test="@columns">
  +          <xsl:attribute name="cols"><xsl:value-of 
select="@columns"/></xsl:attribute>
  +        </xsl:if>
  +        <xsl:apply-templates/>
  +      </frameset>
  +  </xsl:template>
  +
  +  <xsl:template match="pagepart">
  +    <xsl:apply-templates/>
  +  </xsl:template>
  +
  +  <xsl:template match="part">  
  +    <frame frameborder="0" border="0" noresize="" marginHeight="0" 
marginwidth="0">
  +      <xsl:attribute name="src"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  +      <xsl:attribute name="name"><xsl:value-of 
select="@title"/></xsl:attribute>
  +      <xsl:if test="@scrolling">
  +        <xsl:attribute name="scrolling"><xsl:value-of 
select="@scrolling"/></xsl:attribute>
  +      </xsl:if>
  +      <xsl:if test="@noresize">
  +        <xsl:attribute name="noresize"><xsl:value-of 
select="@noresize"/></xsl:attribute>
  +      </xsl:if>
  +    </frame>  
  +  </xsl:template>
  +
  +  <xsl:template match="picture">
  +    <xsl:if test="action">
  +      <a href="{action/@url}">
  +        <img border="0">
  +          <xsl:attribute name="src"><xsl:value-of 
select="@url"/></xsl:attribute>
  +        </img>
  +      </a>
  +    </xsl:if>
  +    <xsl:if test="not(action)">    
  +      <img>
  +        <xsl:attribute name="src"><xsl:value-of 
select="@url"/></xsl:attribute>
  +      </img>
  +     </xsl:if>
  +  </xsl:template>
  +
  +  <xsl:template match="picturedyn">
  +    <xsl:if test="action">
  +      <a href="{action/@url}">
  +        <img border="0">
  +          <xsl:attribute name="src"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  +        </img>
  +      </a>
  +    </xsl:if>
  +    <xsl:if test="not(action)">    
  +      <img border="0">
  +        <xsl:attribute name="src"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  +      </img>
  +     </xsl:if>
  +  </xsl:template>
  +
  +  <xsl:template match="link">
  +    <a>
  +      <xsl:choose>
  +        <xsl:when test="starts-with(normalize-space(url), 'http')">
  +          <xsl:attribute name="target">_new</xsl:attribute>
  +        </xsl:when>
  +        <xsl:when test="target">
  +            <xsl:attribute name="target"><xsl:value-of 
select="normalize-space(target)"/></xsl:attribute>
  +        </xsl:when>     
  +        <xsl:otherwise>
  +          <xsl:attribute name="target">Main</xsl:attribute>
  +        </xsl:otherwise>
  +      </xsl:choose>
  +    
  +      <xsl:attribute name="href"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  +      <xsl:value-of select="normalize-space(text)"/>
  +    </a>
  +  </xsl:template>
  +
  +  <xsl:template match="field">
  +     <td>
  +     <xsl:value-of select="@name"/>
  +     </td>
  +     <td>
  +             <input type="text" size="30">
  +             <xsl:attribute name="name"><xsl:value-of 
select="@field"/></xsl:attribute>
  +             <xsl:attribute name="value"><xsl:value-of 
select="@value"/></xsl:attribute>
  +             </input>
  +     </td>
  +  </xsl:template>
  +
  +  <!-- Copy all and apply templates -->
  +  <xsl:template match="@*|node()">
  +   <xsl:copy>
  +    <xsl:apply-templates select="@*|node()" />
  +   </xsl:copy>
  +  </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +26 -28    
cocoon-2.1/src/blocks/portal-fw/samples/styles/changeuser.xsl
  
  Index: changeuser.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/changeuser.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- changeuser.xsl    9 Mar 2003 00:05:32 -0000       1.1
  +++ changeuser.xsl    6 May 2003 14:12:55 -0000       1.2
  @@ -1,28 +1,26 @@
  -<?xml version="1.0"?>
  -<!-- $Id$ 
  -
  --->
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<xsl:template match="password">
  -     <xsl:choose>
  -             <xsl:when test="normalize-space(new) = normalize-space(old)">
  -                     <password><xsl:value-of 
select="normalize-space(old)"/></password>
  -             </xsl:when>
  -             <xsl:otherwise>
  -                     <password><xsl:value-of 
select="normalize-space(hashed)"/></password>
  -             </xsl:otherwise>
  -     </xsl:choose>
  -</xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -<xsl:template match="@*|node()">
  -     <xsl:copy>
  -             <xsl:apply-templates select="@*|node()" />
  -     </xsl:copy>
  -</xsl:template>
  -
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ -->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<xsl:template match="password">
  +     <xsl:choose>
  +             <xsl:when test="normalize-space(new) = normalize-space(old)">
  +                     <password><xsl:value-of 
select="normalize-space(old)"/></password>
  +             </xsl:when>
  +             <xsl:otherwise>
  +                     <password><xsl:value-of 
select="normalize-space(hashed)"/></password>
  +             </xsl:otherwise>
  +     </xsl:choose>
  +</xsl:template>
  +
  +<!-- Copy all and apply templates -->
  +<xsl:template match="@*|node()">
  +     <xsl:copy>
  +             <xsl:apply-templates select="@*|node()" />
  +     </xsl:copy>
  +</xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +23 -25    cocoon-2.1/src/blocks/portal-fw/samples/styles/load.xsl
  
  Index: load.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/load.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- load.xsl  9 Mar 2003 00:05:32 -0000       1.1
  +++ load.xsl  6 May 2003 14:12:55 -0000       1.2
  @@ -1,25 +1,23 @@
  -<?xml version="1.0"?>
  -<!-- $Id$ 
  -
  --->
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  - <xsl:template match="ROWSET">
  -  <xsl:apply-templates/>
  -  </xsl:template>
  -
  - <xsl:template match="ROW">
  -  <xsl:apply-templates/>
  -  </xsl:template>
  -  
  -  <!-- Copy all and apply templates -->
  -  <xsl:template match="@*|node()">
  -   <xsl:copy>
  -    <xsl:apply-templates select="@*|node()" />
  -   </xsl:copy>
  -  </xsl:template>
  -
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ -->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  + <xsl:template match="ROWSET">
  +  <xsl:apply-templates/>
  +  </xsl:template>
  +
  + <xsl:template match="ROW">
  +  <xsl:apply-templates/>
  +  </xsl:template>
  +  
  +  <!-- Copy all and apply templates -->
  +  <xsl:template match="@*|node()">
  +   <xsl:copy>
  +    <xsl:apply-templates select="@*|node()" />
  +   </xsl:copy>
  +  </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +103 -104  
cocoon-2.1/src/blocks/portal-fw/samples/styles/login-html.xsl
  
  Index: login-html.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/login-html.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- login-html.xsl    9 Mar 2003 00:05:32 -0000       1.1
  +++ login-html.xsl    6 May 2003 14:12:55 -0000       1.2
  @@ -1,104 +1,103 @@
  -<?xml version="1.0"?>
  -
  -<xsl:stylesheet version="1.0"
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<!-- $Id$ 
  -
  - Description: Login page to HTML
  -
  --->
  -
  -<!-- Next transformation is "TO-html.xsl" -->
  -
  -<xsl:template match="content">
  -     <content background="sunspotdemoimg-bg_menue1.gif">
  -             <table bgColor="#ffffff" border="0" cellPadding="0" 
cellSpacing="0" width="305"><tbody>
  -             <tr>
  -                     <td>
  -                             <table bgColor="#ffffff" border="0" 
cellPadding="0" cellSpacing="2" width="100%"><tbody>
  -                                     <tr>
  -                                             <td bgColor="#46627a" 
vAlign="middle" width="15">
  -                                                             <img height="1" 
src="sunspotdemoimg-space.gif" width="15"/>
  -                                                     </td>
  -                                                     <td bgColor="#46627a" 
align="center">
  -                                                             <font 
color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="2">
  -                                                                             
<b>
  -                                                                             
<center>Cocoon Portal Login</center>
  -                                                                             
</b>
  -                                                             </font>
  -                                                     </td>
  -                                             </tr>
  -                                             <tr>
  -                                                     <td bgColor="#cccccc" 
width="15">
  -                                                     <IMG height="1" 
src="sunspotdemoimg-space.gif" width="15"/>
  -                                                     </td>
  -                                                     <td bgColor="#cccccc" 
align="center">
  -                                                     <br/>
  -                                                             <font 
face="Arial, Helvetica, sans-serif" size="2">
  -                                                                     
<xsl:apply-templates/>
  -                                                     </font>
  -                                                     <br/>
  -                                                     </td>
  -                                             </tr>
  -                                             <tr>
  -                                                 <td bgColor="#cccccc" 
width="15">
  -                                                     <img height="1" 
src="sunspotdemoimg-space.gif" width="15"/>
  -                                                     </td>
  -                                                     <td bgColor="#cccccc" 
align="center">
  -                                                     <br/>
  -                                                             <font 
face="Verdana, Arial, Helvetica, sans-serif" size="2">
  -                                                                     If you 
are not already registered, use this guest login:
  -                                                             <br/><br/>
  -                                                             User:   
<b>guest</b>
  -                                                             Password:
  -                                                             <b>guest</b>
  -                                                             <br/><br/>Or 
use this administrator login:<br/>
  -                                                             User:
  -                                                             <b>cocoon</b>
  -                                                             Password:
  -                                                             <b>cocoon</b>
  -                                                     </font>
  -                                                     <br/><br/>
  -                                                     </td>
  -                                             </tr>
  -                                     </tbody></table>
  -                             </td>
  -                     </tr>
  -             </tbody></table>
  -     </content>
  -</xsl:template>
  -
  -<xsl:template match="form">
  -     <form method="post" target="_top"><xsl:attribute 
name="action"><xsl:value-of select="normalize-space(url)"/></xsl:attribute>
  -                     <table>
  -                     <xsl:apply-templates select="field"/><br/>
  -             </table>
  -             <input type="submit" value="Login"></input>
  -     </form>
  -</xsl:template>
  -
  -<xsl:template match="field">
  -     <tr>
  -             <td>
  -                     <font face="Arial, Helvetica, sans-serif" 
size="2"><xsl:value-of select="@description"/>:</font>
  -             </td>
  -             <td>
  -                     <input>
  -                             <xsl:attribute name="name"><xsl:value-of 
select="@name"/></xsl:attribute>
  -                             <xsl:attribute name="type"><xsl:value-of 
select="@type"/></xsl:attribute>
  -                             <xsl:attribute name="size"><xsl:value-of 
select="@length"/></xsl:attribute>
  -                     </input>
  -             </td>
  -     </tr>
  -</xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -
  -<xsl:template match="@*|node()">
  -   <xsl:copy>
  -    <xsl:apply-templates select="@*|node()" />
  -   </xsl:copy>
  -  </xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!--+ $Id$ 
  +    |
  +    | Description: Login page to HTML
  +    |
  +    +-->
  +
  +<xsl:stylesheet version="1.0"
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<!-- Next transformation is "TO-html.xsl" -->
  +
  +<xsl:template match="content">
  +     <content background="sunspotdemoimg-bg_menue1.gif">
  +             <table bgColor="#ffffff" border="0" cellPadding="0" 
cellSpacing="0" width="305"><tbody>
  +             <tr>
  +                     <td>
  +                             <table bgColor="#ffffff" border="0" 
cellPadding="0" cellSpacing="2" width="100%"><tbody>
  +                                     <tr>
  +                                             <td bgColor="#46627a" 
vAlign="middle" width="15">
  +                                                             <img height="1" 
src="sunspotdemoimg-space.gif" width="15"/>
  +                                                     </td>
  +                                                     <td bgColor="#46627a" 
align="center">
  +                                                             <font 
color="#ffffff" face="Verdana, Arial, Helvetica, sans-serif" size="2">
  +                                                                             
<b>
  +                                                                             
<center>Cocoon Portal Login</center>
  +                                                                             
</b>
  +                                                             </font>
  +                                                     </td>
  +                                             </tr>
  +                                             <tr>
  +                                                     <td bgColor="#cccccc" 
width="15">
  +                                                     <IMG height="1" 
src="sunspotdemoimg-space.gif" width="15"/>
  +                                                     </td>
  +                                                     <td bgColor="#cccccc" 
align="center">
  +                                                     <br/>
  +                                                             <font 
face="Arial, Helvetica, sans-serif" size="2">
  +                                                                     
<xsl:apply-templates/>
  +                                                     </font>
  +                                                     <br/>
  +                                                     </td>
  +                                             </tr>
  +                                             <tr>
  +                                                 <td bgColor="#cccccc" 
width="15">
  +                                                     <img height="1" 
src="sunspotdemoimg-space.gif" width="15"/>
  +                                                     </td>
  +                                                     <td bgColor="#cccccc" 
align="center">
  +                                                     <br/>
  +                                                             <font 
face="Verdana, Arial, Helvetica, sans-serif" size="2">
  +                                                                     If you 
are not already registered, use this guest login:
  +                                                             <br/><br/>
  +                                                             User:   
<b>guest</b>
  +                                                             Password:
  +                                                             <b>guest</b>
  +                                                             <br/><br/>Or 
use this administrator login:<br/>
  +                                                             User:
  +                                                             <b>cocoon</b>
  +                                                             Password:
  +                                                             <b>cocoon</b>
  +                                                     </font>
  +                                                     <br/><br/>
  +                                                     </td>
  +                                             </tr>
  +                                     </tbody></table>
  +                             </td>
  +                     </tr>
  +             </tbody></table>
  +     </content>
  +</xsl:template>
  +
  +<xsl:template match="form">
  +     <form method="post" target="_top"><xsl:attribute 
name="action"><xsl:value-of select="normalize-space(url)"/></xsl:attribute>
  +                     <table>
  +                     <xsl:apply-templates select="field"/><br/>
  +             </table>
  +             <input type="submit" value="Login"></input>
  +     </form>
  +</xsl:template>
  +
  +<xsl:template match="field">
  +     <tr>
  +             <td>
  +                     <font face="Arial, Helvetica, sans-serif" 
size="2"><xsl:value-of select="@description"/>:</font>
  +             </td>
  +             <td>
  +                     <input>
  +                             <xsl:attribute name="name"><xsl:value-of 
select="@name"/></xsl:attribute>
  +                             <xsl:attribute name="type"><xsl:value-of 
select="@type"/></xsl:attribute>
  +                             <xsl:attribute name="size"><xsl:value-of 
select="@length"/></xsl:attribute>
  +                     </input>
  +             </td>
  +     </tr>
  +</xsl:template>
  +
  +  <!-- Copy all and apply templates -->
  +  <xsl:template match="@*|node()">
  +   <xsl:copy>
  +    <xsl:apply-templates select="@*|node()" />
  +   </xsl:copy>
  +  </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +148 -149  cocoon-2.1/src/blocks/portal-fw/samples/styles/portal.xsl
  
  Index: portal.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/portal.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- portal.xsl        9 Mar 2003 00:05:32 -0000       1.1
  +++ portal.xsl        6 May 2003 14:12:55 -0000       1.2
  @@ -1,149 +1,148 @@
  -<?xml version="1.0"?>
  -<!-- $Id$ 
  -
  -
  --->
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<xsl:template match="ROWSET">
  -     <xsl:apply-templates/>
  -</xsl:template>
  -
  -<xsl:template match="ROW">
  -     <xsl:apply-templates/>
  -</xsl:template>
  -
  -<xsl:template match="userdelta">
  -     <xsl:choose>
  -     <xsl:when test="user-delta">
  -            <xsl:apply-templates select="user-delta"/>
  -     </xsl:when>
  -     <xsl:otherwise>
  -     <user-delta/>
  -     </xsl:otherwise>
  -     </xsl:choose>
  -</xsl:template>
  -
  -<xsl:template match="roledelta">
  -     <xsl:choose>
  -             <xsl:when test="*">
  -                   <xsl:apply-templates/>
  -             </xsl:when>
  -             <xsl:otherwise>
  -                     <role-delta/>
  -             </xsl:otherwise>
  -     </xsl:choose>
  -</xsl:template>
  -
  -<xsl:template match="statusprofile">
  -     <xsl:choose>
  -             <xsl:when test="*">
  -                   <xsl:apply-templates/>
  -             </xsl:when>
  -             <xsl:otherwise>
  -                     <status-profile/>
  -             </xsl:otherwise>
  -     </xsl:choose>
  -</xsl:template>
  -
  -
  -<xsl:template match="loaduser">
  -     <xsl:apply-templates select="authentication/users"/>
  -</xsl:template>
  -
  -
  -<xsl:template match="authentication/users">
  -     <users>
  -             <xsl:for-each select="user">
  -                     <xsl:call-template name="includeuser"/>
  -             </xsl:for-each>
  -     </users>
  -</xsl:template>
  -
  -
  -<xsl:template name="includeuser">
  -     <xsl:variable name="type"><xsl:value-of 
select="normalize-space(ancestor::loaduser/info/type)"/></xsl:variable>
  -     <xsl:variable name="name"><xsl:value-of 
select="normalize-space(ancestor::loaduser/info/ID)"/></xsl:variable>
  -     <xsl:variable name="role"><xsl:value-of 
select="normalize-space(ancestor::loaduser/info/role)"/></xsl:variable>
  -     
  -     <xsl:choose>
  -             <xsl:when test="normalize-space(role) = $role and 
($type='users' or normalize-space(name) = $name)"> 
  -                     <user>
  -                             <ID><xsl:value-of select="name"/></ID>
  -                             <role><xsl:value-of select="role"/></role>
  -                             <data>
  -                                     <password><xsl:value-of 
select="password"/></password>
  -                                     <name><xsl:value-of 
select="name"/></name>
  -                                     <role><xsl:value-of 
select="role"/></role>
  -                                     <ID><xsl:value-of select="name"/></ID>
  -                                     <user><xsl:value-of 
select="name"/></user>
  -                                     <title><xsl:value-of 
select="title"/></title>
  -                                     <firstname><xsl:value-of 
select="firstname"/></firstname>
  -                                     <lastname><xsl:value-of 
select="lastname"/></lastname>
  -                                     <company><xsl:value-of 
select="company"/></company>
  -                                     <street><xsl:value-of 
select="street"/></street>
  -                                     <zipcode><xsl:value-of 
select="zipcode"/></zipcode>
  -                                     <city><xsl:value-of 
select="city"/></city>
  -                                     <country><xsl:value-of 
select="country"/></country>
  -                                     <phone><xsl:value-of 
select="phone"/></phone>
  -                                     <fax><xsl:value-of select="fax"/></fax>
  -                                     <email><xsl:value-of 
select="email"/></email>
  -                                     <bankid><xsl:value-of 
select="bankid"/></bankid>
  -                                     <bankname><xsl:value-of 
select="bankname"/></bankname>
  -                                     <accountid><xsl:value-of 
select="accountid"/></accountid>
  -                             </data>
  -                     </user>
  -             </xsl:when>
  -             <xsl:when test="$type='users' and string-length($role) = 0">
  -                     <user>
  -                             <ID><xsl:value-of select="name"/></ID>
  -                             <role><xsl:value-of select="role"/></role>
  -                             <data>
  -                                     <password><xsl:value-of 
select="password"/></password>
  -                                     <name><xsl:value-of 
select="name"/></name>
  -                                     <role><xsl:value-of 
select="role"/></role>
  -                                     <ID><xsl:value-of select="name"/></ID>
  -                                     <user><xsl:value-of 
select="name"/></user>
  -                                     <title><xsl:value-of 
select="title"/></title>
  -                                     <firstname><xsl:value-of 
select="firstname"/></firstname>
  -                                     <lastname><xsl:value-of 
select="lastname"/></lastname>
  -                                     <company><xsl:value-of 
select="company"/></company>
  -                                     <street><xsl:value-of 
select="street"/></street>
  -                                     <zipcode><xsl:value-of 
select="zipcode"/></zipcode>
  -                                     <city><xsl:value-of 
select="city"/></city>
  -                                     <country><xsl:value-of 
select="country"/></country>
  -                                     <phone><xsl:value-of 
select="phone"/></phone>
  -                                     <fax><xsl:value-of select="fax"/></fax>
  -                                     <email><xsl:value-of 
select="email"/></email>
  -                                     <bankid><xsl:value-of 
select="bankid"/></bankid>
  -                                     <bankname><xsl:value-of 
select="bankname"/></bankname>
  -                                     <accountid><xsl:value-of 
select="accountid"/></accountid>
  -                             </data>
  -                     </user>
  -             </xsl:when>
  -     </xsl:choose>
  -</xsl:template>
  -
  -<xsl:template match="role">
  -     <xsl:apply-templates select="role-delta"/>
  -</xsl:template>
  -
  -<xsl:template match="roles">
  -     <roles>
  -             <xsl:for-each select="role">
  -                     <role><xsl:value-of select="."/></role>
  -             </xsl:for-each>
  -     </roles>
  -</xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -<xsl:template match="@*|node()">
  -     <xsl:copy>
  -             <xsl:apply-templates select="@*|node()" />
  -     </xsl:copy>
  -</xsl:template>
  -
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<xsl:template match="ROWSET">
  +     <xsl:apply-templates/>
  +</xsl:template>
  +
  +<xsl:template match="ROW">
  +     <xsl:apply-templates/>
  +</xsl:template>
  +
  +<xsl:template match="userdelta">
  +     <xsl:choose>
  +     <xsl:when test="user-delta">
  +            <xsl:apply-templates select="user-delta"/>
  +     </xsl:when>
  +     <xsl:otherwise>
  +     <user-delta/>
  +     </xsl:otherwise>
  +     </xsl:choose>
  +</xsl:template>
  +
  +<xsl:template match="roledelta">
  +     <xsl:choose>
  +             <xsl:when test="*">
  +                   <xsl:apply-templates/>
  +             </xsl:when>
  +             <xsl:otherwise>
  +                     <role-delta/>
  +             </xsl:otherwise>
  +     </xsl:choose>
  +</xsl:template>
  +
  +<xsl:template match="statusprofile">
  +     <xsl:choose>
  +             <xsl:when test="*">
  +                   <xsl:apply-templates/>
  +             </xsl:when>
  +             <xsl:otherwise>
  +                     <status-profile/>
  +             </xsl:otherwise>
  +     </xsl:choose>
  +</xsl:template>
  +
  +
  +<xsl:template match="loaduser">
  +     <xsl:apply-templates select="authentication/users"/>
  +</xsl:template>
  +
  +
  +<xsl:template match="authentication/users">
  +     <users>
  +             <xsl:for-each select="user">
  +                     <xsl:call-template name="includeuser"/>
  +             </xsl:for-each>
  +     </users>
  +</xsl:template>
  +
  +
  +<xsl:template name="includeuser">
  +     <xsl:variable name="type"><xsl:value-of 
select="normalize-space(ancestor::loaduser/info/type)"/></xsl:variable>
  +     <xsl:variable name="name"><xsl:value-of 
select="normalize-space(ancestor::loaduser/info/ID)"/></xsl:variable>
  +     <xsl:variable name="role"><xsl:value-of 
select="normalize-space(ancestor::loaduser/info/role)"/></xsl:variable>
  +     
  +     <xsl:choose>
  +             <xsl:when test="normalize-space(role) = $role and 
($type='users' or normalize-space(name) = $name)"> 
  +                     <user>
  +                             <ID><xsl:value-of select="name"/></ID>
  +                             <role><xsl:value-of select="role"/></role>
  +                             <data>
  +                                     <password><xsl:value-of 
select="password"/></password>
  +                                     <name><xsl:value-of 
select="name"/></name>
  +                                     <role><xsl:value-of 
select="role"/></role>
  +                                     <ID><xsl:value-of select="name"/></ID>
  +                                     <user><xsl:value-of 
select="name"/></user>
  +                                     <title><xsl:value-of 
select="title"/></title>
  +                                     <firstname><xsl:value-of 
select="firstname"/></firstname>
  +                                     <lastname><xsl:value-of 
select="lastname"/></lastname>
  +                                     <company><xsl:value-of 
select="company"/></company>
  +                                     <street><xsl:value-of 
select="street"/></street>
  +                                     <zipcode><xsl:value-of 
select="zipcode"/></zipcode>
  +                                     <city><xsl:value-of 
select="city"/></city>
  +                                     <country><xsl:value-of 
select="country"/></country>
  +                                     <phone><xsl:value-of 
select="phone"/></phone>
  +                                     <fax><xsl:value-of select="fax"/></fax>
  +                                     <email><xsl:value-of 
select="email"/></email>
  +                                     <bankid><xsl:value-of 
select="bankid"/></bankid>
  +                                     <bankname><xsl:value-of 
select="bankname"/></bankname>
  +                                     <accountid><xsl:value-of 
select="accountid"/></accountid>
  +                             </data>
  +                     </user>
  +             </xsl:when>
  +             <xsl:when test="$type='users' and string-length($role) = 0">
  +                     <user>
  +                             <ID><xsl:value-of select="name"/></ID>
  +                             <role><xsl:value-of select="role"/></role>
  +                             <data>
  +                                     <password><xsl:value-of 
select="password"/></password>
  +                                     <name><xsl:value-of 
select="name"/></name>
  +                                     <role><xsl:value-of 
select="role"/></role>
  +                                     <ID><xsl:value-of select="name"/></ID>
  +                                     <user><xsl:value-of 
select="name"/></user>
  +                                     <title><xsl:value-of 
select="title"/></title>
  +                                     <firstname><xsl:value-of 
select="firstname"/></firstname>
  +                                     <lastname><xsl:value-of 
select="lastname"/></lastname>
  +                                     <company><xsl:value-of 
select="company"/></company>
  +                                     <street><xsl:value-of 
select="street"/></street>
  +                                     <zipcode><xsl:value-of 
select="zipcode"/></zipcode>
  +                                     <city><xsl:value-of 
select="city"/></city>
  +                                     <country><xsl:value-of 
select="country"/></country>
  +                                     <phone><xsl:value-of 
select="phone"/></phone>
  +                                     <fax><xsl:value-of select="fax"/></fax>
  +                                     <email><xsl:value-of 
select="email"/></email>
  +                                     <bankid><xsl:value-of 
select="bankid"/></bankid>
  +                                     <bankname><xsl:value-of 
select="bankname"/></bankname>
  +                                     <accountid><xsl:value-of 
select="accountid"/></accountid>
  +                             </data>
  +                     </user>
  +             </xsl:when>
  +     </xsl:choose>
  +</xsl:template>
  +
  +<xsl:template match="role">
  +     <xsl:apply-templates select="role-delta"/>
  +</xsl:template>
  +
  +<xsl:template match="roles">
  +     <roles>
  +             <xsl:for-each select="role">
  +                     <role><xsl:value-of select="."/></role>
  +             </xsl:for-each>
  +     </roles>
  +</xsl:template>
  +
  +<!-- Copy all and apply templates -->
  +<xsl:template match="@*|node()">
  +     <xsl:copy>
  +             <xsl:apply-templates select="@*|node()" />
  +     </xsl:copy>
  +</xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +282 -284  
cocoon-2.1/src/blocks/portal-fw/samples/styles/portalHTML-Netscape.xsl
  
  Index: portalHTML-Netscape.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/portalHTML-Netscape.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- portalHTML-Netscape.xsl   9 Mar 2003 00:05:32 -0000       1.1
  +++ portalHTML-Netscape.xsl   6 May 2003 14:12:55 -0000       1.2
  @@ -1,284 +1,282 @@
  -<?xml version="1.0"?>
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<!-- $Id$ 
  -
  -
  - Description: Portal to HTML - Alternative for netscape (swapping coplet 
icons and title)
  -
  --->
  -
  -<!-- The main element -->
  -
  -<xsl:template match="portal">
  -<html>
  -     <head>
  -     <title>Portal</title>
  -     </head>
  -     <body text="#0B2A51" link="#0B2A51" vlink="#666666" bgcolor="#cccccc">
  -             <xsl:attribute name="bgcolor"><xsl:value-of 
select="layout/portal/background/color"/></xsl:attribute>
  -             <xsl:attribute name="text"><xsl:value-of 
select="layout/portal/font/color"/></xsl:attribute>
  -             <table border="0" cellPadding="0" cellSpacing="0" width="100%" 
height="100%">
  -             <xsl:attribute name="bgcolor"><xsl:value-of 
select="layout/portal/background/color"/></xsl:attribute>
  -                     <tr>
  -                             <xsl:if test="header">
  -                                     <td noWrap="" width="193" valign="top" 
rowspan="2" bgcolor="cccccc">
  -                                     <xsl:apply-templates select="header"/>
  -                                     </td>
  -                             </xsl:if>
  -                             <td valign="top">
  -                                     <xsl:apply-templates select="columns"/>
  -                                     </td>
  -                     </tr>
  -                     <tr>
  -                             <td>
  -                                     <xsl:if test="footer">
  -                                             <xsl:apply-templates 
select="footer"/>
  -                                     </xsl:if>
  -                             </td>
  -                     </tr>
  -             </table>
  -     </body>
  -</html>
  -</xsl:template>
  -
  -<!-- the header -->
  -
  -<xsl:template match="header">
  -     <img height="2" src="sunspotdemoimg-space.gif" width="1"/>
  -     <table border="0" cellPadding="0" cellSpacing="0" width="100%" 
bgcolor="#ffffff"><tbody>
  -             <tr>
  -                     <td valign="top">
  -                             <table border="0" cellPadding="0" 
cellSpacing="2" width="100%"><tbody>
  -                                     <tr>
  -                                             <td noWrap="" width="1%" 
bgcolor="#46627A" >
  -                                                     <img 
src="sunspotdemoimg-space.gif" width="15" height="1"/>
  -                                             </td>
  -                                             <td width="99%" 
bgcolor="#46627A">
  -                                                     <font face="Arial, 
Helvetica, sans-serif" size="2" color="#FFFFFF">
  -                                                             <b><img 
height="1" src="sunspotdemoimg-space.gif" width="5"/>Cocoon Portal</b>
  -                                                     </font>
  -                                             </td>
  -                                     </tr>
  -                                     <tr>
  -                                             <td noWrap="" width="1%" 
bgcolor="#cccccc">
  -                                                     <img 
src="sunspotdemoimg-space.gif"/>
  -                                             </td>
  -                                             <td valign="top" 
bgcolor="#cccccc">
  -                                                     <br/>
  -                                                     <img height="1" 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                             <font 
face="Arial, Helvetica, sans-serif" size="2" color="#0B2A51">
  -                                                             <b>
  -                                                                     
<xsl:value-of select="ancestor::portal/personal-profile/greeting"/>
  -                                                             </b>
  -                                                             <br/><br/>
  -                                                             <xsl:if 
test="coplet">
  -                                                                     
<xsl:apply-templates select="coplet"/>
  -                                                             </xsl:if>
  -                                                             </font>
  -                                                     <br/>
  -                                             </td>
  -                                     </tr>
  -                             </tbody></table>
  -                     </td>
  -             </tr>
  -     </tbody></table>
  -</xsl:template>
  -
  -<!-- the footer -->
  -
  -<xsl:template match="footer">
  -     <xsl:apply-templates/>
  -</xsl:template>
  -
  -<!-- The content of the portal -->
  -
  -<xsl:template match="columns">
  -<table width="100%" border="0" cellspacing="0" cellpadding="0">
  -     <tr>
  -             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  -     </tr>
  -     <tr>
  -             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  -             <xsl:for-each select="column">
  -                             <xsl:sort select="@position"/>
  -                             <xsl:apply-templates select="."/>
  -             </xsl:for-each>
  -             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  -     </tr>
  -</table>
  -</xsl:template>
  -
  -<!-- The content of each column -->
  -
  -<xsl:template match="column">
  -<td vAlign="top">
  -<xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
  -<table width="100%" border="0" cellspacing="0" cellpadding="0">
  -     <xsl:for-each select="coplet">
  -             <xsl:sort select="@position"/>
  -             <tr>
  -                     <td><img src="sunspotdemoimg-space.gif" 
width="10"/></td>
  -                     <td vAlign="top">
  -                             <xsl:apply-templates select="."/>
  -                     </td>
  -             </tr>
  -     </xsl:for-each>
  -</table>
  -</td>
  -</xsl:template>
  -
  -<!-- One coplet -->
  -
  -<xsl:template match="coplet">
  -     <xsl:variable name="cmd"><xsl:value-of 
select="ancestor::portal/configuration/uri"/>&amp;portalcmd=</xsl:variable>
  -     <xsl:variable name="copletident"><xsl:value-of 
select="@id"/>_<xsl:value-of select="@number"/></xsl:variable>
  -<table border="0" cellSpacing="0" width="100%">
  -     <tr vAlign="top">
  -             <td align="left">
  -                     <xsl:attribute name="bgColor"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/background/color"/></xsl:attribute>
  -                     <font>
  -                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/color"/></xsl:attribute>
  -                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/type"/></xsl:attribute>
  -                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/size"/></xsl:attribute>
  -                             
  -                             <!-- customize -->
  -                             <xsl:if test="configuration/customizable='true' 
and (not(status/customize) or status/customize='false')">
  -                                     <xsl:variable 
name="customize"><xsl:value-of select="$cmd"/>customize_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                     <a>
  -                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($customize), ' ', 
'')"/></xsl:attribute>
  -                                             <img 
src="sunspotdemoimg-customize.gif" border="0" alt="Customize"/>
  -                                     </a>
  -                             </xsl:if>
  -                             
  -                     <!-- minimize/maximize -->
  -                     <xsl:if test="configuration/sizable='true' and 
status/size/@formpath">
  -                             <xsl:variable name="linkurlmax"><xsl:value-of 
select="$cmd"/>minimize_<xsl:value-of select="$copletident"/></xsl:variable>
  -                             <xsl:variable name="linkurlmin"><xsl:value-of 
select="$cmd"/>maximize_<xsl:value-of select="$copletident"/></xsl:variable>
  -                             <a>
  -                                     <xsl:choose>
  -                                             <xsl:when 
test="status/size='max'">
  -                                                     <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmax), ' ', 
'')"/></xsl:attribute>
  -                                                     <img 
src="sunspotdemoimg-minimize.gif" border="0" alt="Minimize"/>
  -                                             </xsl:when>
  -                                             <xsl:otherwise>
  -                                                     <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmin), ' ', 
'')"/></xsl:attribute>
  -                                                     <img 
src="sunspotdemoimg-maximize.gif" border="0" alt="Maximize"/>
  -                                             </xsl:otherwise>
  -                                     </xsl:choose>
  -                             </a>
  -                     </xsl:if>
  -                     <!-- show/ hide -->
  -                     <xsl:choose>
  -                             <xsl:when test="status/visible/@formpath and 
configuration/mandatory='false'">
  -                                     <xsl:variable 
name="linkurlshow"><xsl:value-of select="$cmd"/>show_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                     <xsl:variable 
name="linkurlhide"><xsl:value-of select="$cmd"/>hide_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                     <a>
  -                                             <xsl:choose>
  -                                                     <xsl:when 
test="status/visible='true'">
  -                                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlhide), ' ', 
'')"/></xsl:attribute>
  -                                                             <img 
src="sunspotdemoimg-hide.gif" border="0" alt="Hide"/>
  -                                                     </xsl:when>
  -                                                     <xsl:otherwise>
  -                                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlshow), ' ', 
'')"/></xsl:attribute>
  -                                                             <img 
src="sunspotdemoimg-show.gif" border="0" alt="Show"/>
  -                                                     </xsl:otherwise>
  -                                             </xsl:choose>
  -                                     </a>
  -                             </xsl:when>
  -                             <xsl:otherwise>
  -                                     <img src="sunspotdemoimg-space.gif" 
border="0"/>
  -                             </xsl:otherwise>
  -                     </xsl:choose>
  -                     <!-- mandatory/delete -->
  -                     <xsl:if test="configuration/mandatory='false'">
  -                             <xsl:variable name="linkurlmand"><xsl:value-of 
select="$cmd"/>delete_<xsl:value-of select="$copletident"/></xsl:variable>
  -                             <a>
  -                                     <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmand), ' ', 
'')"/></xsl:attribute>
  -                                     <img src="sunspotdemoimg-delete.gif" 
border="0" alt="Delete"/>
  -                             </a>
  -                     </xsl:if>
  -                     </font>
  -             </td>
  -             <td align="right">
  -                     <xsl:attribute name="bgColor"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/background/color"/></xsl:attribute>
  -                     <font>
  -                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/color"/></xsl:attribute>
  -                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/type"/></xsl:attribute>
  -                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/size"/></xsl:attribute>     
  -                             <img height="1" src="sunspotdemoimg-space.gif" 
width="5"/>                              
  -                             <b><xsl:value-of select="title"/></b>
  -                     </font>
  -             </td>
  -     </tr>
  -     <xsl:if test="content">
  -             <tr>
  -                     <td colSpan="2">
  -                     <font>
  -                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  -                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  -                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  -                             <xsl:apply-templates select="content"/>
  -                     </font>
  -                     </td>
  -             </tr>
  -     </xsl:if>
  -</table>
  -</xsl:template>
  -
  -<xsl:template match="content">
  -     <xsl:apply-templates/>
  -</xsl:template>
  -
  -<xsl:template match="td">
  -     <td><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
  -     <xsl:if test="not(font) and not(FONT)">
  -             <font>
  -                     <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  -                     <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  -                     <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  -                     <xsl:apply-templates/>
  -             </font>
  -     </xsl:if>
  -     <xsl:if test="font or FONT">
  -             <xsl:apply-templates/>
  -     </xsl:if></td>
  -</xsl:template>
  -
  -<xsl:template match="TD">
  -     <td><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
  -            <xsl:if test="not(font) and not(FONT)">
  -             <font>
  -                     <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  -                     <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  -                     <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  -                     <xsl:apply-templates/>
  -             </font>
  -     </xsl:if>
  -     <xsl:if test="font or FONT">
  -             <xsl:apply-templates/>
  -     </xsl:if></td>
  -</xsl:template>
  -
  -
  -<xsl:template match="link">
  -    <a>
  -        <xsl:if test="target">
  -            <xsl:attribute name="target"><xsl:value-of 
select="normalize-space(target)"/></xsl:attribute>
  -        </xsl:if>     
  -        <xsl:attribute name="href"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  -       <xsl:value-of select="normalize-space(text)"/>
  -    </a>
  -  </xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -
  -<xsl:template match="@*|node()">
  -   <xsl:copy>
  -    <xsl:apply-templates select="@*|node()" />
  -   </xsl:copy>
  -  </xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  + Description: Portal to HTML - Alternative for netscape (swapping coplet 
icons and title)
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<!-- The main element -->
  +
  +<xsl:template match="portal">
  +<html>
  +     <head>
  +     <title>Portal</title>
  +     </head>
  +     <body text="#0B2A51" link="#0B2A51" vlink="#666666" bgcolor="#cccccc">
  +             <xsl:attribute name="bgcolor"><xsl:value-of 
select="layout/portal/background/color"/></xsl:attribute>
  +             <xsl:attribute name="text"><xsl:value-of 
select="layout/portal/font/color"/></xsl:attribute>
  +             <table border="0" cellPadding="0" cellSpacing="0" width="100%" 
height="100%">
  +             <xsl:attribute name="bgcolor"><xsl:value-of 
select="layout/portal/background/color"/></xsl:attribute>
  +                     <tr>
  +                             <xsl:if test="header">
  +                                     <td noWrap="" width="193" valign="top" 
rowspan="2" bgcolor="cccccc">
  +                                     <xsl:apply-templates select="header"/>
  +                                     </td>
  +                             </xsl:if>
  +                             <td valign="top">
  +                                     <xsl:apply-templates select="columns"/>
  +                                     </td>
  +                     </tr>
  +                     <tr>
  +                             <td>
  +                                     <xsl:if test="footer">
  +                                             <xsl:apply-templates 
select="footer"/>
  +                                     </xsl:if>
  +                             </td>
  +                     </tr>
  +             </table>
  +     </body>
  +</html>
  +</xsl:template>
  +
  +<!-- the header -->
  +
  +<xsl:template match="header">
  +     <img height="2" src="sunspotdemoimg-space.gif" width="1"/>
  +     <table border="0" cellPadding="0" cellSpacing="0" width="100%" 
bgcolor="#ffffff"><tbody>
  +             <tr>
  +                     <td valign="top">
  +                             <table border="0" cellPadding="0" 
cellSpacing="2" width="100%"><tbody>
  +                                     <tr>
  +                                             <td noWrap="" width="1%" 
bgcolor="#46627A" >
  +                                                     <img 
src="sunspotdemoimg-space.gif" width="15" height="1"/>
  +                                             </td>
  +                                             <td width="99%" 
bgcolor="#46627A">
  +                                                     <font face="Arial, 
Helvetica, sans-serif" size="2" color="#FFFFFF">
  +                                                             <b><img 
height="1" src="sunspotdemoimg-space.gif" width="5"/>Cocoon Portal</b>
  +                                                     </font>
  +                                             </td>
  +                                     </tr>
  +                                     <tr>
  +                                             <td noWrap="" width="1%" 
bgcolor="#cccccc">
  +                                                     <img 
src="sunspotdemoimg-space.gif"/>
  +                                             </td>
  +                                             <td valign="top" 
bgcolor="#cccccc">
  +                                                     <br/>
  +                                                     <img height="1" 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                             <font 
face="Arial, Helvetica, sans-serif" size="2" color="#0B2A51">
  +                                                             <b>
  +                                                                     
<xsl:value-of select="ancestor::portal/personal-profile/greeting"/>
  +                                                             </b>
  +                                                             <br/><br/>
  +                                                             <xsl:if 
test="coplet">
  +                                                                     
<xsl:apply-templates select="coplet"/>
  +                                                             </xsl:if>
  +                                                             </font>
  +                                                     <br/>
  +                                             </td>
  +                                     </tr>
  +                             </tbody></table>
  +                     </td>
  +             </tr>
  +     </tbody></table>
  +</xsl:template>
  +
  +<!-- the footer -->
  +
  +<xsl:template match="footer">
  +     <xsl:apply-templates/>
  +</xsl:template>
  +
  +<!-- The content of the portal -->
  +
  +<xsl:template match="columns">
  +<table width="100%" border="0" cellspacing="0" cellpadding="0">
  +     <tr>
  +             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  +     </tr>
  +     <tr>
  +             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  +             <xsl:for-each select="column">
  +                             <xsl:sort select="@position"/>
  +                             <xsl:apply-templates select="."/>
  +             </xsl:for-each>
  +             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  +     </tr>
  +</table>
  +</xsl:template>
  +
  +<!-- The content of each column -->
  +
  +<xsl:template match="column">
  +<td vAlign="top">
  +<xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
  +<table width="100%" border="0" cellspacing="0" cellpadding="0">
  +     <xsl:for-each select="coplet">
  +             <xsl:sort select="@position"/>
  +             <tr>
  +                     <td><img src="sunspotdemoimg-space.gif" 
width="10"/></td>
  +                     <td vAlign="top">
  +                             <xsl:apply-templates select="."/>
  +                     </td>
  +             </tr>
  +     </xsl:for-each>
  +</table>
  +</td>
  +</xsl:template>
  +
  +<!-- One coplet -->
  +
  +<xsl:template match="coplet">
  +     <xsl:variable name="cmd"><xsl:value-of 
select="ancestor::portal/configuration/uri"/>&amp;portalcmd=</xsl:variable>
  +     <xsl:variable name="copletident"><xsl:value-of 
select="@id"/>_<xsl:value-of select="@number"/></xsl:variable>
  +<table border="0" cellSpacing="0" width="100%">
  +     <tr vAlign="top">
  +             <td align="left">
  +                     <xsl:attribute name="bgColor"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/background/color"/></xsl:attribute>
  +                     <font>
  +                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/color"/></xsl:attribute>
  +                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/type"/></xsl:attribute>
  +                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/size"/></xsl:attribute>
  +                             
  +                             <!-- customize -->
  +                             <xsl:if test="configuration/customizable='true' 
and (not(status/customize) or status/customize='false')">
  +                                     <xsl:variable 
name="customize"><xsl:value-of select="$cmd"/>customize_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                     <a>
  +                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($customize), ' ', 
'')"/></xsl:attribute>
  +                                             <img 
src="sunspotdemoimg-customize.gif" border="0" alt="Customize"/>
  +                                     </a>
  +                             </xsl:if>
  +                             
  +                     <!-- minimize/maximize -->
  +                     <xsl:if test="configuration/sizable='true' and 
status/size/@formpath">
  +                             <xsl:variable name="linkurlmax"><xsl:value-of 
select="$cmd"/>minimize_<xsl:value-of select="$copletident"/></xsl:variable>
  +                             <xsl:variable name="linkurlmin"><xsl:value-of 
select="$cmd"/>maximize_<xsl:value-of select="$copletident"/></xsl:variable>
  +                             <a>
  +                                     <xsl:choose>
  +                                             <xsl:when 
test="status/size='max'">
  +                                                     <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmax), ' ', 
'')"/></xsl:attribute>
  +                                                     <img 
src="sunspotdemoimg-minimize.gif" border="0" alt="Minimize"/>
  +                                             </xsl:when>
  +                                             <xsl:otherwise>
  +                                                     <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmin), ' ', 
'')"/></xsl:attribute>
  +                                                     <img 
src="sunspotdemoimg-maximize.gif" border="0" alt="Maximize"/>
  +                                             </xsl:otherwise>
  +                                     </xsl:choose>
  +                             </a>
  +                     </xsl:if>
  +                     <!-- show/ hide -->
  +                     <xsl:choose>
  +                             <xsl:when test="status/visible/@formpath and 
configuration/mandatory='false'">
  +                                     <xsl:variable 
name="linkurlshow"><xsl:value-of select="$cmd"/>show_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                     <xsl:variable 
name="linkurlhide"><xsl:value-of select="$cmd"/>hide_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                     <a>
  +                                             <xsl:choose>
  +                                                     <xsl:when 
test="status/visible='true'">
  +                                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlhide), ' ', 
'')"/></xsl:attribute>
  +                                                             <img 
src="sunspotdemoimg-hide.gif" border="0" alt="Hide"/>
  +                                                     </xsl:when>
  +                                                     <xsl:otherwise>
  +                                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlshow), ' ', 
'')"/></xsl:attribute>
  +                                                             <img 
src="sunspotdemoimg-show.gif" border="0" alt="Show"/>
  +                                                     </xsl:otherwise>
  +                                             </xsl:choose>
  +                                     </a>
  +                             </xsl:when>
  +                             <xsl:otherwise>
  +                                     <img src="sunspotdemoimg-space.gif" 
border="0"/>
  +                             </xsl:otherwise>
  +                     </xsl:choose>
  +                     <!-- mandatory/delete -->
  +                     <xsl:if test="configuration/mandatory='false'">
  +                             <xsl:variable name="linkurlmand"><xsl:value-of 
select="$cmd"/>delete_<xsl:value-of select="$copletident"/></xsl:variable>
  +                             <a>
  +                                     <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmand), ' ', 
'')"/></xsl:attribute>
  +                                     <img src="sunspotdemoimg-delete.gif" 
border="0" alt="Delete"/>
  +                             </a>
  +                     </xsl:if>
  +                     </font>
  +             </td>
  +             <td align="right">
  +                     <xsl:attribute name="bgColor"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/background/color"/></xsl:attribute>
  +                     <font>
  +                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/color"/></xsl:attribute>
  +                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/type"/></xsl:attribute>
  +                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/size"/></xsl:attribute>     
  +                             <img height="1" src="sunspotdemoimg-space.gif" 
width="5"/>                              
  +                             <b><xsl:value-of select="title"/></b>
  +                     </font>
  +             </td>
  +     </tr>
  +     <xsl:if test="content">
  +             <tr>
  +                     <td colSpan="2">
  +                     <font>
  +                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  +                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  +                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  +                             <xsl:apply-templates select="content"/>
  +                     </font>
  +                     </td>
  +             </tr>
  +     </xsl:if>
  +</table>
  +</xsl:template>
  +
  +<xsl:template match="content">
  +     <xsl:apply-templates/>
  +</xsl:template>
  +
  +<xsl:template match="td">
  +     <td><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
  +     <xsl:if test="not(font) and not(FONT)">
  +             <font>
  +                     <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  +                     <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  +                     <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  +                     <xsl:apply-templates/>
  +             </font>
  +     </xsl:if>
  +     <xsl:if test="font or FONT">
  +             <xsl:apply-templates/>
  +     </xsl:if></td>
  +</xsl:template>
  +
  +<xsl:template match="TD">
  +     <td><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
  +            <xsl:if test="not(font) and not(FONT)">
  +             <font>
  +                     <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  +                     <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  +                     <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  +                     <xsl:apply-templates/>
  +             </font>
  +     </xsl:if>
  +     <xsl:if test="font or FONT">
  +             <xsl:apply-templates/>
  +     </xsl:if></td>
  +</xsl:template>
  +
  +
  +  <xsl:template match="link">
  +    <a>
  +        <xsl:if test="target">
  +            <xsl:attribute name="target"><xsl:value-of 
select="normalize-space(target)"/></xsl:attribute>
  +        </xsl:if>     
  +        <xsl:attribute name="href"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  +       <xsl:value-of select="normalize-space(text)"/>
  +    </a>
  +  </xsl:template>
  +
  +  <!-- Copy all and apply templates -->
  +  <xsl:template match="@*|node()">
  +   <xsl:copy>
  +    <xsl:apply-templates select="@*|node()" />
  +   </xsl:copy>
  +  </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +284 -286  
cocoon-2.1/src/blocks/portal-fw/samples/styles/portalHTML.xsl
  
  Index: portalHTML.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/portalHTML.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- portalHTML.xsl    9 Mar 2003 00:05:32 -0000       1.1
  +++ portalHTML.xsl    6 May 2003 14:12:55 -0000       1.2
  @@ -1,286 +1,284 @@
  -<?xml version="1.0"?>
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<!-- $Id$ 
  -
  -
  - Description: Portal to HTML
  -
  --->
  -
  -<!-- The main element -->
  -
  -<xsl:template match="portal">
  -<html>
  -     <head>
  -     <title>Portal</title>
  -     </head>
  -     <body text="#0B2A51" link="#0B2A51" vlink="#666666" bgcolor="#cccccc">
  -             <xsl:attribute name="bgcolor"><xsl:value-of 
select="layout/portal/background/color"/></xsl:attribute>
  -             <xsl:attribute name="text"><xsl:value-of 
select="layout/portal/font/color"/></xsl:attribute>
  -             <table border="0" cellPadding="0" cellSpacing="0" width="100%" 
height="100%">
  -             <xsl:attribute name="bgcolor"><xsl:value-of 
select="layout/portal/background/color"/></xsl:attribute>
  -                     <tr>
  -                             <xsl:if test="header">
  -                                     <td noWrap="" width="193" valign="top" 
rowspan="2" bgcolor="cccccc">
  -                                     <xsl:apply-templates select="header"/>
  -                                     </td>
  -                             </xsl:if>
  -                             <td valign="top" width="100%">
  -                                     <xsl:apply-templates select="columns"/>
  -                                     </td>
  -                     </tr>
  -                     <tr>
  -                             <td>
  -                                     <xsl:if test="footer">
  -                                             <xsl:apply-templates 
select="footer"/>
  -                                     </xsl:if>
  -                             </td>
  -                     </tr>
  -             </table>
  -     </body>
  -</html>
  -</xsl:template>
  -
  -<!-- the header -->
  -
  -<xsl:template match="header">
  -     <img height="2" src="sunspotdemoimg-space.gif" width="1"/>
  -     <table border="0" cellPadding="0" cellSpacing="0" width="100%" 
bgcolor="#ffffff"><tbody>
  -             <tr>
  -                     <td valign="top">
  -                             <table border="0" cellPadding="0" 
cellSpacing="2" width="100%"><tbody>
  -                                     <tr>
  -                                             <td noWrap="" width="1%" 
bgcolor="#46627A" >
  -                                                     <img 
src="sunspotdemoimg-space.gif" width="15" height="1"/>
  -                                             </td>
  -                                             <td width="99%" 
bgcolor="#46627A">
  -                                                     <font face="Arial, 
Helvetica, sans-serif" size="2" color="#FFFFFF">
  -                                                             <b><img 
height="1" src="sunspotdemoimg-space.gif" width="5"/>Cocoon Portal</b>
  -                                                     </font>
  -                                             </td>
  -                                     </tr>
  -                                     <tr>
  -                                             <td noWrap="" width="1%" 
bgcolor="#cccccc">
  -                                                     <img 
src="sunspotdemoimg-space.gif"/>
  -                                             </td>
  -                                             <td valign="top" 
bgcolor="#cccccc">
  -                                                     <br/>
  -                                                     <img height="1" 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                             <font 
face="Arial, Helvetica, sans-serif" size="2" color="#0B2A51">
  -                                                             <b>
  -                                                                     
<xsl:value-of select="ancestor::portal/personal-profile/greeting"/>
  -                                                             </b>
  -                                                             <br/><br/>
  -                                                             <xsl:if 
test="coplet">
  -                                                                     
<xsl:apply-templates select="coplet"/>
  -                                                             </xsl:if>
  -                                                             </font>
  -                                                     <br/>
  -                                             </td>
  -                                     </tr>
  -                             </tbody></table>
  -                     </td>
  -             </tr>
  -     </tbody></table>
  -</xsl:template>
  -
  -<!-- the footer -->
  -
  -<xsl:template match="footer">
  -     <xsl:apply-templates/>
  -</xsl:template>
  -
  -<!-- The content of the portal -->
  -
  -<xsl:template match="columns">
  -<table width="100%" border="0" cellspacing="0" cellpadding="0">
  -     <tr>
  -             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  -     </tr>
  -     <tr>
  -             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  -             <xsl:for-each select="column">
  -                             <xsl:sort select="@position"/>
  -                             <xsl:apply-templates select="."/>
  -             </xsl:for-each>
  -             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  -     </tr>
  -</table>
  -</xsl:template>
  -
  -<!-- The content of each column -->
  -
  -<xsl:template match="column">
  -<td vAlign="top">
  -<xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
  -<table width="100%" border="0" cellspacing="0" cellpadding="0">
  -     <xsl:for-each select="coplet">
  -             <xsl:sort select="@position"/>
  -             <tr>
  -                     <td><img src="sunspotdemoimg-space.gif" 
width="10"/></td>
  -                     <td vAlign="top">
  -                             <xsl:apply-templates select="."/>
  -                     </td>
  -             </tr>
  -     </xsl:for-each>
  -</table>
  -</td>
  -</xsl:template>
  -
  -<!-- One coplet -->
  -
  -<xsl:template match="coplet">
  -     <xsl:variable name="cmd"><xsl:value-of 
select="ancestor::portal/configuration/uri"/>&amp;portalcmd=</xsl:variable>
  -     <xsl:variable name="copletident"><xsl:value-of 
select="@id"/>_<xsl:value-of select="@number"/></xsl:variable>
  -<table border="0" cellSpacing="0" width="100%">
  -     <tr vAlign="top">
  -             <td>
  -                     <xsl:attribute name="bgColor"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/background/color"/></xsl:attribute>
  -                     <font>
  -                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/color"/></xsl:attribute>
  -                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/type"/></xsl:attribute>
  -                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/size"/></xsl:attribute>     
  -                             <img height="1" src="sunspotdemoimg-space.gif" 
width="5"/>                              
  -                             <b><xsl:value-of select="title"/></b>
  -                     </font>
  -             </td>
  -             <td align="right">
  -                     <xsl:attribute name="bgColor"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/background/color"/></xsl:attribute>
  -                     <font>
  -                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/color"/></xsl:attribute>
  -                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/type"/></xsl:attribute>
  -                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/size"/></xsl:attribute>
  -                             
  -                             <!-- customize -->
  -                             <xsl:if test="configuration/customizable='true' 
and (not(status/customize) or status/customize='false')">
  -                                     <xsl:variable 
name="customize"><xsl:value-of select="$cmd"/>customize_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                     <a>
  -                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($customize), ' ', 
'')"/></xsl:attribute>
  -                                             <img 
src="sunspotdemoimg-customize.gif" border="0" alt="Customize"/>
  -                                     </a>
  -                             </xsl:if>
  -                             
  -                             <!-- minimize/maximize -->
  -                             <xsl:if test="configuration/sizable='true' and 
status/size/@formpath">
  -                                     <xsl:variable 
name="linkurlmax"><xsl:value-of select="$cmd"/>minimize_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                     <xsl:variable 
name="linkurlmin"><xsl:value-of select="$cmd"/>maximize_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                     <a>
  -                                             <xsl:choose>
  -                                                     <xsl:when 
test="status/size='max'">
  -                                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmax), ' ', 
'')"/></xsl:attribute>
  -                                                             <img 
src="sunspotdemoimg-minimize.gif" border="0" alt="Minimize"/>
  -                                                     </xsl:when>
  -                                                     <xsl:otherwise>
  -                                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmin), ' ', 
'')"/></xsl:attribute>
  -                                                             <img 
src="sunspotdemoimg-maximize.gif" border="0" alt="Maximize"/>
  -                                                     </xsl:otherwise>
  -                                             </xsl:choose>
  -                                     </a>
  -                             </xsl:if>
  -             
  -                             <!-- show/ hide -->
  -                             <xsl:choose>
  -                                     <xsl:when 
test="status/visible/@formpath and configuration/mandatory='false'">
  -                                             <xsl:variable 
name="linkurlshow"><xsl:value-of select="$cmd"/>show_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                             <xsl:variable 
name="linkurlhide"><xsl:value-of select="$cmd"/>hide_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                             <a>
  -                                                     <xsl:choose>
  -                                                             <xsl:when 
test="status/visible='true'">
  -                                                                     
<xsl:attribute name="href"><xsl:value-of 
select="translate(normalize-space($linkurlhide), ' ', '')"/></xsl:attribute>
  -                                                                     <img 
src="sunspotdemoimg-hide.gif" border="0" alt="Hide"/>
  -                                                             </xsl:when>
  -                                                             <xsl:otherwise>
  -                                                                     
<xsl:attribute name="href"><xsl:value-of 
select="translate(normalize-space($linkurlshow), ' ', '')"/></xsl:attribute>
  -                                                                     <img 
src="sunspotdemoimg-show.gif" border="0" alt="Show"/>
  -                                                             </xsl:otherwise>
  -                                                     </xsl:choose>
  -                                             </a>
  -                                     </xsl:when>
  -                                     <xsl:otherwise>
  -                                             <img 
src="sunspotdemoimg-space.gif" border="0"/>
  -                                     </xsl:otherwise>
  -                             </xsl:choose>
  -     
  -                             <!-- mandatory/delete -->
  -                             <xsl:if test="configuration/mandatory='false'">
  -                                     <xsl:variable 
name="linkurlmand"><xsl:value-of select="$cmd"/>delete_<xsl:value-of 
select="$copletident"/></xsl:variable>
  -                                     <a>
  -                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmand), ' ', 
'')"/></xsl:attribute>
  -                                             <img 
src="sunspotdemoimg-delete.gif" border="0" alt="Delete"/>
  -                                     </a>
  -                             </xsl:if>
  -                     </font>
  -             </td>
  -     </tr>
  -     <xsl:if test="content">
  -             <tr>
  -                     <td colSpan="2">
  -                     <font>
  -                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  -                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  -                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  -                             <xsl:apply-templates select="content"/>
  -                     </font>
  -                     </td>
  -             </tr>
  -     </xsl:if>
  -</table>
  -</xsl:template>
  -
  -<xsl:template match="content">
  -     <xsl:apply-templates/>
  -</xsl:template>
  -
  -<xsl:template match="td">
  -     <td><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
  -     <xsl:if test="not(font) and not(FONT)">
  -             <font>
  -                     <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  -                     <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  -                     <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  -                     <xsl:apply-templates/>
  -             </font>
  -     </xsl:if>
  -     <xsl:if test="font or FONT">
  -             <xsl:apply-templates/>
  -     </xsl:if></td>
  -</xsl:template>
  -
  -<xsl:template match="TD">
  -     <td><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
  -            <xsl:if test="not(font) and not(FONT)">
  -             <font>
  -                     <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  -                     <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  -                     <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  -                     <xsl:apply-templates/>
  -             </font>
  -     </xsl:if>
  -     <xsl:if test="font or FONT">
  -             <xsl:apply-templates/>
  -     </xsl:if></td>
  -</xsl:template>
  -
  -
  -<xsl:template match="link">
  -    <a>
  -        <xsl:if test="target">
  -            <xsl:attribute name="target"><xsl:value-of 
select="normalize-space(target)"/></xsl:attribute>
  -        </xsl:if>     
  -        <xsl:attribute name="href"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  -       <xsl:value-of select="normalize-space(text)"/>
  -    </a>
  -  </xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -
  -<xsl:template match="@*|node()">
  -   <xsl:copy>
  -    <xsl:apply-templates select="@*|node()" />
  -   </xsl:copy>
  -  </xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  + Description: Portal to HTML
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<!-- The main element -->
  +
  +<xsl:template match="portal">
  +<html>
  +     <head>
  +     <title>Portal</title>
  +     </head>
  +     <body text="#0B2A51" link="#0B2A51" vlink="#666666" bgcolor="#cccccc">
  +             <xsl:attribute name="bgcolor"><xsl:value-of 
select="layout/portal/background/color"/></xsl:attribute>
  +             <xsl:attribute name="text"><xsl:value-of 
select="layout/portal/font/color"/></xsl:attribute>
  +             <table border="0" cellPadding="0" cellSpacing="0" width="100%" 
height="100%">
  +             <xsl:attribute name="bgcolor"><xsl:value-of 
select="layout/portal/background/color"/></xsl:attribute>
  +                     <tr>
  +                             <xsl:if test="header">
  +                                     <td noWrap="" width="193" valign="top" 
rowspan="2" bgcolor="cccccc">
  +                                     <xsl:apply-templates select="header"/>
  +                                     </td>
  +                             </xsl:if>
  +                             <td valign="top" width="100%">
  +                                     <xsl:apply-templates select="columns"/>
  +                                     </td>
  +                     </tr>
  +                     <tr>
  +                             <td>
  +                                     <xsl:if test="footer">
  +                                             <xsl:apply-templates 
select="footer"/>
  +                                     </xsl:if>
  +                             </td>
  +                     </tr>
  +             </table>
  +     </body>
  +</html>
  +</xsl:template>
  +
  +<!-- the header -->
  +
  +<xsl:template match="header">
  +     <img height="2" src="sunspotdemoimg-space.gif" width="1"/>
  +     <table border="0" cellPadding="0" cellSpacing="0" width="100%" 
bgcolor="#ffffff"><tbody>
  +             <tr>
  +                     <td valign="top">
  +                             <table border="0" cellPadding="0" 
cellSpacing="2" width="100%"><tbody>
  +                                     <tr>
  +                                             <td noWrap="" width="1%" 
bgcolor="#46627A" >
  +                                                     <img 
src="sunspotdemoimg-space.gif" width="15" height="1"/>
  +                                             </td>
  +                                             <td width="99%" 
bgcolor="#46627A">
  +                                                     <font face="Arial, 
Helvetica, sans-serif" size="2" color="#FFFFFF">
  +                                                             <b><img 
height="1" src="sunspotdemoimg-space.gif" width="5"/>Cocoon Portal</b>
  +                                                     </font>
  +                                             </td>
  +                                     </tr>
  +                                     <tr>
  +                                             <td noWrap="" width="1%" 
bgcolor="#cccccc">
  +                                                     <img 
src="sunspotdemoimg-space.gif"/>
  +                                             </td>
  +                                             <td valign="top" 
bgcolor="#cccccc">
  +                                                     <br/>
  +                                                     <img height="1" 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                             <font 
face="Arial, Helvetica, sans-serif" size="2" color="#0B2A51">
  +                                                             <b>
  +                                                                     
<xsl:value-of select="ancestor::portal/personal-profile/greeting"/>
  +                                                             </b>
  +                                                             <br/><br/>
  +                                                             <xsl:if 
test="coplet">
  +                                                                     
<xsl:apply-templates select="coplet"/>
  +                                                             </xsl:if>
  +                                                             </font>
  +                                                     <br/>
  +                                             </td>
  +                                     </tr>
  +                             </tbody></table>
  +                     </td>
  +             </tr>
  +     </tbody></table>
  +</xsl:template>
  +
  +<!-- the footer -->
  +
  +<xsl:template match="footer">
  +     <xsl:apply-templates/>
  +</xsl:template>
  +
  +<!-- The content of the portal -->
  +
  +<xsl:template match="columns">
  +<table width="100%" border="0" cellspacing="0" cellpadding="0">
  +     <tr>
  +             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  +     </tr>
  +     <tr>
  +             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  +             <xsl:for-each select="column">
  +                             <xsl:sort select="@position"/>
  +                             <xsl:apply-templates select="."/>
  +             </xsl:for-each>
  +             <td><img src="sunspotdemoimg-space.gif" width="10"/></td>
  +     </tr>
  +</table>
  +</xsl:template>
  +
  +<!-- The content of each column -->
  +
  +<xsl:template match="column">
  +<td vAlign="top">
  +<xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
  +<table width="100%" border="0" cellspacing="0" cellpadding="0">
  +     <xsl:for-each select="coplet">
  +             <xsl:sort select="@position"/>
  +             <tr>
  +                     <td><img src="sunspotdemoimg-space.gif" 
width="10"/></td>
  +                     <td vAlign="top">
  +                             <xsl:apply-templates select="."/>
  +                     </td>
  +             </tr>
  +     </xsl:for-each>
  +</table>
  +</td>
  +</xsl:template>
  +
  +<!-- One coplet -->
  +
  +<xsl:template match="coplet">
  +     <xsl:variable name="cmd"><xsl:value-of 
select="ancestor::portal/configuration/uri"/>&amp;portalcmd=</xsl:variable>
  +     <xsl:variable name="copletident"><xsl:value-of 
select="@id"/>_<xsl:value-of select="@number"/></xsl:variable>
  +<table border="0" cellSpacing="0" width="100%">
  +     <tr vAlign="top">
  +             <td>
  +                     <xsl:attribute name="bgColor"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/background/color"/></xsl:attribute>
  +                     <font>
  +                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/color"/></xsl:attribute>
  +                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/type"/></xsl:attribute>
  +                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/size"/></xsl:attribute>     
  +                             <img height="1" src="sunspotdemoimg-space.gif" 
width="5"/>                              
  +                             <b><xsl:value-of select="title"/></b>
  +                     </font>
  +             </td>
  +             <td align="right">
  +                     <xsl:attribute name="bgColor"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/background/color"/></xsl:attribute>
  +                     <font>
  +                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/color"/></xsl:attribute>
  +                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/type"/></xsl:attribute>
  +                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/title/font/size"/></xsl:attribute>
  +                             
  +                             <!-- customize -->
  +                             <xsl:if test="configuration/customizable='true' 
and (not(status/customize) or status/customize='false')">
  +                                     <xsl:variable 
name="customize"><xsl:value-of select="$cmd"/>customize_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                     <a>
  +                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($customize), ' ', 
'')"/></xsl:attribute>
  +                                             <img 
src="sunspotdemoimg-customize.gif" border="0" alt="Customize"/>
  +                                     </a>
  +                             </xsl:if>
  +                             
  +                             <!-- minimize/maximize -->
  +                             <xsl:if test="configuration/sizable='true' and 
status/size/@formpath">
  +                                     <xsl:variable 
name="linkurlmax"><xsl:value-of select="$cmd"/>minimize_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                     <xsl:variable 
name="linkurlmin"><xsl:value-of select="$cmd"/>maximize_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                     <a>
  +                                             <xsl:choose>
  +                                                     <xsl:when 
test="status/size='max'">
  +                                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmax), ' ', 
'')"/></xsl:attribute>
  +                                                             <img 
src="sunspotdemoimg-minimize.gif" border="0" alt="Minimize"/>
  +                                                     </xsl:when>
  +                                                     <xsl:otherwise>
  +                                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmin), ' ', 
'')"/></xsl:attribute>
  +                                                             <img 
src="sunspotdemoimg-maximize.gif" border="0" alt="Maximize"/>
  +                                                     </xsl:otherwise>
  +                                             </xsl:choose>
  +                                     </a>
  +                             </xsl:if>
  +             
  +                             <!-- show/ hide -->
  +                             <xsl:choose>
  +                                     <xsl:when 
test="status/visible/@formpath and configuration/mandatory='false'">
  +                                             <xsl:variable 
name="linkurlshow"><xsl:value-of select="$cmd"/>show_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                             <xsl:variable 
name="linkurlhide"><xsl:value-of select="$cmd"/>hide_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                             <a>
  +                                                     <xsl:choose>
  +                                                             <xsl:when 
test="status/visible='true'">
  +                                                                     
<xsl:attribute name="href"><xsl:value-of 
select="translate(normalize-space($linkurlhide), ' ', '')"/></xsl:attribute>
  +                                                                     <img 
src="sunspotdemoimg-hide.gif" border="0" alt="Hide"/>
  +                                                             </xsl:when>
  +                                                             <xsl:otherwise>
  +                                                                     
<xsl:attribute name="href"><xsl:value-of 
select="translate(normalize-space($linkurlshow), ' ', '')"/></xsl:attribute>
  +                                                                     <img 
src="sunspotdemoimg-show.gif" border="0" alt="Show"/>
  +                                                             </xsl:otherwise>
  +                                                     </xsl:choose>
  +                                             </a>
  +                                     </xsl:when>
  +                                     <xsl:otherwise>
  +                                             <img 
src="sunspotdemoimg-space.gif" border="0"/>
  +                                     </xsl:otherwise>
  +                             </xsl:choose>
  +     
  +                             <!-- mandatory/delete -->
  +                             <xsl:if test="configuration/mandatory='false'">
  +                                     <xsl:variable 
name="linkurlmand"><xsl:value-of select="$cmd"/>delete_<xsl:value-of 
select="$copletident"/></xsl:variable>
  +                                     <a>
  +                                             <xsl:attribute 
name="href"><xsl:value-of select="translate(normalize-space($linkurlmand), ' ', 
'')"/></xsl:attribute>
  +                                             <img 
src="sunspotdemoimg-delete.gif" border="0" alt="Delete"/>
  +                                     </a>
  +                             </xsl:if>
  +                     </font>
  +             </td>
  +     </tr>
  +     <xsl:if test="content">
  +             <tr>
  +                     <td colSpan="2">
  +                     <font>
  +                             <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  +                             <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  +                             <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  +                             <xsl:apply-templates select="content"/>
  +                     </font>
  +                     </td>
  +             </tr>
  +     </xsl:if>
  +</table>
  +</xsl:template>
  +
  +<xsl:template match="content">
  +     <xsl:apply-templates/>
  +</xsl:template>
  +
  +<xsl:template match="td">
  +     <td><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
  +     <xsl:if test="not(font) and not(FONT)">
  +             <font>
  +                     <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  +                     <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  +                     <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  +                     <xsl:apply-templates/>
  +             </font>
  +     </xsl:if>
  +     <xsl:if test="font or FONT">
  +             <xsl:apply-templates/>
  +     </xsl:if></td>
  +</xsl:template>
  +
  +<xsl:template match="TD">
  +     <td><xsl:for-each select="@*"><xsl:copy/></xsl:for-each>
  +            <xsl:if test="not(font) and not(FONT)">
  +             <font>
  +                     <xsl:attribute name="color"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/color"/></xsl:attribute>
  +                     <xsl:attribute name="face"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/type"/></xsl:attribute>
  +                     <xsl:attribute name="size"><xsl:value-of 
select="ancestor::portal/layout/coplets/content/font/size"/></xsl:attribute>
  +                     <xsl:apply-templates/>
  +             </font>
  +     </xsl:if>
  +     <xsl:if test="font or FONT">
  +             <xsl:apply-templates/>
  +     </xsl:if></td>
  +</xsl:template>
  +
  +
  +  <xsl:template match="link">
  +    <a>
  +        <xsl:if test="target">
  +            <xsl:attribute name="target"><xsl:value-of 
select="normalize-space(target)"/></xsl:attribute>
  +        </xsl:if>     
  +        <xsl:attribute name="href"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  +       <xsl:value-of select="normalize-space(text)"/>
  +    </a>
  +  </xsl:template>
  +
  +  <!-- Copy all and apply templates -->
  +  <xsl:template match="@*|node()">
  +   <xsl:copy>
  +    <xsl:apply-templates select="@*|node()" />
  +   </xsl:copy>
  +  </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +6 -8      
cocoon-2.1/src/blocks/portal-fw/samples/styles/portalconfHTML.xsl
  
  Index: portalconfHTML.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/portalconfHTML.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- portalconfHTML.xsl        9 Mar 2003 00:05:32 -0000       1.1
  +++ portalconfHTML.xsl        6 May 2003 14:12:55 -0000       1.2
  @@ -1,15 +1,14 @@
   <?xml version="1.0"?>
   
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
   <!-- $Id$ 
   
  -
    Description: Portal Configuration to HTML
   
   -->
   
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
   <!-- Frameset -->
   
   <xsl:template match="pageset">
  @@ -1984,9 +1983,8 @@
        </xsl:if>
   </xsl:template>
   
  -<!-- Copy all and apply templates -->
  -
  -<xsl:template match="@*|node()">
  +  <!-- Copy all and apply templates -->
  +  <xsl:template match="@*|node()">
      <xsl:copy>
       <xsl:apply-templates select="@*|node()" />
      </xsl:copy>
  
  
  
  1.2       +33 -31    
cocoon-2.1/src/blocks/portal-fw/samples/styles/sunLet_MoreoverDotCom.xsl
  
  Index: sunLet_MoreoverDotCom.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/sunLet_MoreoverDotCom.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sunLet_MoreoverDotCom.xsl 9 Mar 2003 00:05:33 -0000       1.1
  +++ sunLet_MoreoverDotCom.xsl 6 May 2003 14:12:55 -0000       1.2
  @@ -1,31 +1,33 @@
  -<?xml version="1.0"?>
  -<!-- $Id$ 
  -
  --->
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<xsl:template match="*|/"><xsl:apply-templates/></xsl:template>
  -
  -<xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template>
  -
  -<xsl:template match="moreovernews">
  -<!-- Stylesheet to be used inside a coplet. Generates HTML from an XML-feed 
from http://w.moreover.com/ -->
  -<table>
  -     <xsl:apply-templates select ="article"/>
  -</table>
  -</xsl:template>
  -
  -<xsl:template match="article">
  -                     <xsl:if test="position() &lt; 6">
  -                             <tr bgcolor="#ffffff"><td><font face="Arial, 
Helvetica, sans-serif">
  -                     <a target="_blank"><xsl:attribute 
name="href"><xsl:value-of select="url"/></xsl:attribute>
  -                             <font size="-1" 
color="#333333"><b><xsl:value-of select="headline_text"/></b></font></a><br/>
  -                             <a target="_blank"><xsl:attribute 
name="href"><xsl:value-of select="document_url"/></xsl:attribute> 
  -                     <font size="-2" color="#46627A"><xsl:value-of select = 
"source"/></font></a>
  -                             <font size="-2" 
color="#46627A">&#160;&#160;<xsl:value-of select="harvest_time"/></font>
  -                     </font></td></tr>
  -                             <tr bgcolor="#ffffff"><td bgcolor="#ffffff" 
height="5"></td></tr>
  -                     </xsl:if>
  -</xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<xsl:template match="*|/"><xsl:apply-templates/></xsl:template>
  +
  +<xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template>
  +
  +<xsl:template match="moreovernews">
  +<!-- Stylesheet to be used inside a coplet. Generates HTML from an XML-feed 
from http://w.moreover.com/ -->
  +<table>
  +     <xsl:apply-templates select ="article"/>
  +</table>
  +</xsl:template>
  +
  +<xsl:template match="article">
  +                     <xsl:if test="position() &lt; 6">
  +                             <tr bgcolor="#ffffff"><td><font face="Arial, 
Helvetica, sans-serif">
  +                     <a target="_blank"><xsl:attribute 
name="href"><xsl:value-of select="url"/></xsl:attribute>
  +                             <font size="-1" 
color="#333333"><b><xsl:value-of select="headline_text"/></b></font></a><br/>
  +                             <a target="_blank"><xsl:attribute 
name="href"><xsl:value-of select="document_url"/></xsl:attribute> 
  +                     <font size="-2" color="#46627A"><xsl:value-of select = 
"source"/></font></a>
  +                             <font size="-2" 
color="#46627A">&#160;&#160;<xsl:value-of select="harvest_time"/></font>
  +                     </font></td></tr>
  +                             <tr bgcolor="#ffffff"><td bgcolor="#ffffff" 
height="5"></td></tr>
  +                     </xsl:if>
  +</xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +34 -34    
cocoon-2.1/src/blocks/portal-fw/samples/styles/sunLet_sundnNews.xsl
  
  Index: sunLet_sundnNews.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/sunLet_sundnNews.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sunLet_sundnNews.xsl      9 Mar 2003 00:05:33 -0000       1.1
  +++ sunLet_sundnNews.xsl      6 May 2003 14:12:55 -0000       1.2
  @@ -1,34 +1,34 @@
  -<?xml version="1.0"?>
  -
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<!-- $Id$ 
  -
  --->
  -
  -<xsl:template match="*|/"><xsl:apply-templates/></xsl:template>
  -
  -<xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template>
  -
  -<xsl:template match="news"><!-- Stylesheet to be used inside a coplet. 
Generates HTML from an XML-feed from http://w.moreover.com/ -->
  -
  -     <table>
  -             <xsl:apply-templates select ="article">
  -             </xsl:apply-templates>
  -     </table>
  -</xsl:template>
  -
  -<xsl:template match="article">
  -                     <xsl:if test="position() &lt; 6">
  -                             <tr bgcolor="#ffffff"><td><font face="Arial, 
Helvetica, sans-serif">
  -                     <a target="_blank"><xsl:attribute 
name="href"><xsl:value-of select="link"/></xsl:attribute>
  -                             <font size="-1" 
color="#333333"><b><xsl:value-of select="title"/></b></font></a><br/>
  -                             <a target="_blank"><xsl:attribute 
name="href"><xsl:value-of select="authorlink"/></xsl:attribute> 
  -                     <font size="-2" color="#46627A"><xsl:value-of select = 
"author"/></font></a>
  -                             <font size="-2" 
color="#46627A">&#160;&#160;<xsl:value-of select="date"/></font>
  -                     </font></td></tr>
  -                             <tr bgcolor="#ffffff"><td bgcolor="#ffffff" 
height="5"></td></tr>
  -                     </xsl:if>
  -</xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<!-- $Id$ 
  +
  +-->
  +
  +<xsl:template match="*|/"><xsl:apply-templates/></xsl:template>
  +
  +<xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template>
  +
  +<xsl:template match="news"><!-- Stylesheet to be used inside a coplet. 
Generates HTML from an XML-feed from http://w.moreover.com/ -->
  +
  +     <table>
  +             <xsl:apply-templates select ="article">
  +             </xsl:apply-templates>
  +     </table>
  +</xsl:template>
  +
  +<xsl:template match="article">
  +                     <xsl:if test="position() &lt; 6">
  +                             <tr bgcolor="#ffffff"><td><font face="Arial, 
Helvetica, sans-serif">
  +                     <a target="_blank"><xsl:attribute 
name="href"><xsl:value-of select="link"/></xsl:attribute>
  +                             <font size="-1" 
color="#333333"><b><xsl:value-of select="title"/></b></font></a><br/>
  +                             <a target="_blank"><xsl:attribute 
name="href"><xsl:value-of select="authorlink"/></xsl:attribute> 
  +                     <font size="-2" color="#46627A"><xsl:value-of select = 
"author"/></font></a>
  +                             <font size="-2" 
color="#46627A">&#160;&#160;<xsl:value-of select="date"/></font>
  +                     </font></td></tr>
  +                             <tr bgcolor="#ffffff"><td bgcolor="#ffffff" 
height="5"></td></tr>
  +                     </xsl:if>
  +</xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +82 -82    
cocoon-2.1/src/blocks/portal-fw/samples/styles/sunletconf.xsl
  
  Index: sunletconf.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/sunletconf.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sunletconf.xsl    9 Mar 2003 00:05:33 -0000       1.1
  +++ sunletconf.xsl    6 May 2003 14:12:55 -0000       1.2
  @@ -1,82 +1,82 @@
  -<?xml version="1.0"?>
  -<!-- $Id$ 
  -
  - Description: The configuration page of a coplet
  -
  --->
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<xsl:template match="page">
  -     <xsl:apply-templates/>
  -</xsl:template>
  -
  -<xsl:template match="picture">
  -     <img>
  -             <xsl:attribute name="src"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  -     </img>
  -</xsl:template>
  -
  -
  -<xsl:template match="form">
  -     <form>
  -             <xsl:attribute name="method"><xsl:value-of 
select="@method"/></xsl:attribute>
  -             <xsl:attribute name="action"><xsl:value-of 
select="@action"/></xsl:attribute>
  -             <table><tbody>
  -                     <xsl:apply-templates select="inputxml"/>
  -                     <tr><td colspan="2" align="middle">
  -                     <xsl:apply-templates select="input"/>
  -                     </td></tr>
  -             </tbody></table>
  -     </form>
  -</xsl:template>
  -
  -<xsl:template match="inputxml">
  -     <tr>
  -             <td><xsl:value-of select="@name"/>:&#160;</td>
  -             <td>
  -                     <xsl:choose>
  -                             <xsl:when test="@name='Newsfeed'">
  -                                     <select name="Newsfeed">
  -                                             <option value="usa">
  -                                                     <xsl:if 
test="normalize-space(.) = 'usa'">
  -                                                             <xsl:attribute 
name="selected">true</xsl:attribute>
  -                                                     </xsl:if>
  -                                                     USA
  -                                             </option>
  -                                             <option 
value="entertainmentgeneral">
  -                                                     <xsl:if 
test="normalize-space(.) = 'entertainmentgeneral'">
  -                                                             <xsl:attribute 
name="selected">true</xsl:attribute>
  -                                                     </xsl:if>
  -                                                     Entertainment
  -                                             </option>
  -                                             <option value="foodanddrink">
  -                                                     <xsl:if 
test="normalize-space(.) = 'foodanddrink'">
  -                                                             <xsl:attribute 
name="selected">true</xsl:attribute>
  -                                                     </xsl:if>
  -                                                     Food &amp; Drink
  -                                             </option>
  -                                     </select>
  -                             </xsl:when>
  -                             <xsl:otherwise>
  -                                     <input>
  -                                             <xsl:attribute 
name="name"><xsl:value-of select="@name"/></xsl:attribute>
  -                                             <xsl:attribute 
name="value"><xsl:value-of select="."/></xsl:attribute>
  -                                             <xsl:attribute 
name="type"><xsl:value-of select="@type"/></xsl:attribute>
  -                                     </input>
  -                             </xsl:otherwise>
  -                     </xsl:choose>
  -             </td>
  -     </tr>
  -</xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -<xsl:template match="@*|node()">
  -     <xsl:copy>
  -             <xsl:apply-templates select="@*|node()" />
  -     </xsl:copy>
  -</xsl:template>
  -
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  + Description: The configuration page of a coplet
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<xsl:template match="page">
  +     <xsl:apply-templates/>
  +</xsl:template>
  +
  +<xsl:template match="picture">
  +     <img>
  +             <xsl:attribute name="src"><xsl:value-of 
select="normalize-space(url)"/></xsl:attribute>
  +     </img>
  +</xsl:template>
  +
  +
  +<xsl:template match="form">
  +     <form>
  +             <xsl:attribute name="method"><xsl:value-of 
select="@method"/></xsl:attribute>
  +             <xsl:attribute name="action"><xsl:value-of 
select="@action"/></xsl:attribute>
  +             <table><tbody>
  +                     <xsl:apply-templates select="inputxml"/>
  +                     <tr><td colspan="2" align="middle">
  +                     <xsl:apply-templates select="input"/>
  +                     </td></tr>
  +             </tbody></table>
  +     </form>
  +</xsl:template>
  +
  +<xsl:template match="inputxml">
  +     <tr>
  +             <td><xsl:value-of select="@name"/>:&#160;</td>
  +             <td>
  +                     <xsl:choose>
  +                             <xsl:when test="@name='Newsfeed'">
  +                                     <select name="Newsfeed">
  +                                             <option value="usa">
  +                                                     <xsl:if 
test="normalize-space(.) = 'usa'">
  +                                                             <xsl:attribute 
name="selected">true</xsl:attribute>
  +                                                     </xsl:if>
  +                                                     USA
  +                                             </option>
  +                                             <option 
value="entertainmentgeneral">
  +                                                     <xsl:if 
test="normalize-space(.) = 'entertainmentgeneral'">
  +                                                             <xsl:attribute 
name="selected">true</xsl:attribute>
  +                                                     </xsl:if>
  +                                                     Entertainment
  +                                             </option>
  +                                             <option value="foodanddrink">
  +                                                     <xsl:if 
test="normalize-space(.) = 'foodanddrink'">
  +                                                             <xsl:attribute 
name="selected">true</xsl:attribute>
  +                                                     </xsl:if>
  +                                                     Food &amp; Drink
  +                                             </option>
  +                                     </select>
  +                             </xsl:when>
  +                             <xsl:otherwise>
  +                                     <input>
  +                                             <xsl:attribute 
name="name"><xsl:value-of select="@name"/></xsl:attribute>
  +                                             <xsl:attribute 
name="value"><xsl:value-of select="."/></xsl:attribute>
  +                                             <xsl:attribute 
name="type"><xsl:value-of select="@type"/></xsl:attribute>
  +                                     </input>
  +                             </xsl:otherwise>
  +                     </xsl:choose>
  +             </td>
  +     </tr>
  +</xsl:template>
  +
  +<!-- Copy all and apply templates -->
  +<xsl:template match="@*|node()">
  +     <xsl:copy>
  +             <xsl:apply-templates select="@*|node()" />
  +     </xsl:copy>
  +</xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +55 -54    
cocoon-2.1/src/blocks/portal-fw/samples/styles/sunrise-user.xsl
  
  Index: sunrise-user.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/sunrise-user.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sunrise-user.xsl  9 Mar 2003 00:05:33 -0000       1.1
  +++ sunrise-user.xsl  6 May 2003 14:12:55 -0000       1.2
  @@ -1,54 +1,55 @@
  -<?xml version="1.0"?>
  -<!-- $Id$ 
  -
  --->
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -
  -<xsl:param name="password"/>
  -<xsl:param name="name"/>
  -
  -
  -<xsl:template match="authentication">
  -  <authentication>
  -
  -     <xsl:apply-templates select="users"/>
  -
  -  </authentication>
  -</xsl:template>
  -
  -<xsl:template match="users">
  -<xsl:apply-templates select="user"/>
  -</xsl:template>
  -
  -<xsl:template match="user">
  -
  -<xsl:if test="normalize-space(name) = $name and normalize-space(password) = 
$password">
  -     <ID><xsl:value-of select="name"/></ID>
  -     <role><xsl:value-of select="role"/></role>
  -     <data>
  -             <name><xsl:value-of select="name"/></name>
  -             <role><xsl:value-of select="role"/></role>
  -             <ID><xsl:value-of select="name"/></ID>
  -             <user><xsl:value-of select="name"/></user>
  -             <title><xsl:value-of select="title"/></title>
  -             <firstname><xsl:value-of select="firstname"/></firstname>
  -             <lastname><xsl:value-of select="lastname"/></lastname>
  -             <company><xsl:value-of select="company"/></company>
  -             <street><xsl:value-of select="street"/></street>
  -             <zipcode><xsl:value-of select="zipcode"/></zipcode>
  -             <city><xsl:value-of select="city"/></city>
  -             <country><xsl:value-of select="country"/></country>
  -             <phone><xsl:value-of select="phone"/></phone>
  -             <fax><xsl:value-of select="fax"/></fax>
  -             <email><xsl:value-of select="email"/></email>
  -             <bankid><xsl:value-of select="bankid"/></bankid>
  -             <bankname><xsl:value-of select="bankname"/></bankname>
  -             <accountid><xsl:value-of select="accountid"/></accountid>
  -     </data>
  -</xsl:if>
  -</xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +
  +<xsl:param name="password"/>
  +<xsl:param name="name"/>
  +
  +
  +<xsl:template match="authentication">
  +  <authentication>
  +
  +     <xsl:apply-templates select="users"/>
  +
  +  </authentication>
  +</xsl:template>
  +
  +<xsl:template match="users">
  +<xsl:apply-templates select="user"/>
  +</xsl:template>
  +
  +<xsl:template match="user">
  +
  +<xsl:if test="normalize-space(name) = $name and normalize-space(password) = 
$password">
  +     <ID><xsl:value-of select="name"/></ID>
  +     <role><xsl:value-of select="role"/></role>
  +     <data>
  +             <name><xsl:value-of select="name"/></name>
  +             <role><xsl:value-of select="role"/></role>
  +             <ID><xsl:value-of select="name"/></ID>
  +             <user><xsl:value-of select="name"/></user>
  +             <title><xsl:value-of select="title"/></title>
  +             <firstname><xsl:value-of select="firstname"/></firstname>
  +             <lastname><xsl:value-of select="lastname"/></lastname>
  +             <company><xsl:value-of select="company"/></company>
  +             <street><xsl:value-of select="street"/></street>
  +             <zipcode><xsl:value-of select="zipcode"/></zipcode>
  +             <city><xsl:value-of select="city"/></city>
  +             <country><xsl:value-of select="country"/></country>
  +             <phone><xsl:value-of select="phone"/></phone>
  +             <fax><xsl:value-of select="fax"/></fax>
  +             <email><xsl:value-of select="email"/></email>
  +             <bankid><xsl:value-of select="bankid"/></bankid>
  +             <bankname><xsl:value-of select="bankname"/></bankname>
  +             <accountid><xsl:value-of select="accountid"/></accountid>
  +     </data>
  +</xsl:if>
  +</xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +601 -602  
cocoon-2.1/src/blocks/portal-fw/samples/styles/sunriseconfHTML.xsl
  
  Index: sunriseconfHTML.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/sunriseconfHTML.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sunriseconfHTML.xsl       9 Mar 2003 00:05:33 -0000       1.1
  +++ sunriseconfHTML.xsl       6 May 2003 14:12:55 -0000       1.2
  @@ -1,602 +1,601 @@
  -<?xml version="1.0"?>
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<!-- $Id$ 
  -
  - Description: Portal User configuration to HTML. This stylesheet is
  -              used for the administrator when he manages the users
  -
  --->
  -
  -<xsl:template match="configuration">
  -     <xsl:variable name="role" select="normalize-space(role)"/>
  -
  -     <html>
  -             <head>
  -                     <title>Portal User Management</title>
  -             </head>
  -             <body text="#0B2A51" link="#0B2A51" vlink="#666666" 
bgColor="#cccccc">
  -             <table bgColor="#ffffff" border="0" cellPadding="0" 
cellSpacing="0" width="100%"><tbody>
  -                     <tr>
  -                                     <td>
  -                                     <table border="0" cellPadding="0" 
cellSpacing="2" height="100%" width="100%"><tbody>
  -<!-- Start Header -->                                <tr>
  -                                             <td bgcolor="#AAB9BF" noWrap="" 
colspan="3">
  -                                                              <img 
src="sunspotdemoimg-space.gif" height="5"/>
  -                                                     </td>
  -                                             </tr>
  -                                                     <tr>
  -                                                             <td 
bgcolor="#AAB9BF" noWrap="">        
  -                                                             <img 
src="sunspotdemoimg-logo.jpg"/>
  -                                                             </td>
  -                                                             <td 
bgcolor="#AAB9BF" align="center" valign="bottom" colspan="2">
  -                                                                     <font 
face="Arial, Helvetica, sans-serif" size="6" color="#46627A">
  -                                                                     
<b>Portal User Management</b>
  -                                                             </font>
  -                                                             </td>
  -                                             </tr>
  -                                                     <tr>
  -                                                             <td noWrap="" 
width="10%" bgcolor="#cccccc">
  -                                                             <img 
src="sunspotdemoimg-space.gif" height="10"/>
  -                                                             </td>
  -                                                             <td width="90%" 
bgcolor="#cccccc" colspan="2">
  -                                                             <img 
src="sunspotdemoimg-space.gif"/>
  -                                                     </td>
  -                                                     </tr>
  -<!-- Ende Header -->
  -<!-- Start Content -->
  -                                             <tr>
  -                                                             <td 
bgcolor="#46627a">
  -                                                             <img 
src="sunspotdemoimg-space.gif"/>
  -                                                     </td>
  -                                                     <td><img 
src="sunspotdemoimg-space.gif" width="10"/></td>
  -                                                             <td 
align="center"><img src="sunspotdemoimg-space.gif" height="10"/>
  -<!-- add new role -->                                                <xsl:if 
test="menue/addrole">
  -                                                                     <form 
method="post">
  -                                                                             
<xsl:attribute name="action"><xsl:value-of 
select="normalize-space(uri)"/></xsl:attribute>
  -                                                                             
<input type="hidden" value="addrole" name="authstate"/> 
  -                                                                             
<table cellpadding="2" cellspacing="0" border="0" bgcolor="#46627A" width="60%">
  -                                                                             
        <tr>    
  -                                                                             
                <td>
  -                                                                             
                        <table cellpadding="0" cellspacing="0" border="0" 
bgcolor="#ffffff" width="100%">
  -                                                                             
                                <tr>
  -                                                                             
                                        <td colspan="4"><img 
src="sunspotdemoimg-space.gif" height="10"/></td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif" width="30"/></td>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-kast_m.gif"/></td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        <input type="text" 
name="authrole" size="20"/>
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="97%">
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        <input type="submit" 
value="Create New Role"/>
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td colspan="4"><img 
src="sunspotdemoimg-space.gif" height="10"/></td>
  -                                                                             
                                </tr>
  -                                                                             
                        </table>
  -                                                                             
                </td>
  -                                                                             
        </tr>
  -                                                                             
</table>
  -                                                                     </form>
  -                                                             </xsl:if>
  -<!-- delete a role -->                                               <xsl:if 
test="menue/delrole">
  -                                                                     <form 
method="post">
  -                                                                             
<xsl:attribute name="action"><xsl:value-of 
select="normalize-space(uri)"/></xsl:attribute>
  -                                                                             
<input type="hidden" value="delrole" name="authstate"/> 
  -                                                                             
<table cellpadding="2" cellspacing="0" border="0" bgcolor="#46627A" width="60%">
  -                                                                             
        <tr>    
  -                                                                             
                <td>
  -                                                                             
                        <table cellpadding="0" cellspacing="0" border="0" 
bgcolor="#ffffff" width="100%">
  -                                                                             
                                <tr>
  -                                                                             
                                        <td colspan="4"><img 
src="sunspotdemoimg-space.gif" height="10"/></td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif" width="30"/></td>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-kast_m.gif"/></td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        <select name="authrole">
  -                                                                             
                                                                <xsl:for-each 
select="roles/role">
  -                                                                             
                                                                        <option>
  -                                                                             
                                                                                
<xsl:attribute name="value">
  -                                                                             
                                                                                
        <xsl:value-of select="normalize-space(.)"/>
  -                                                                             
                                                                                
</xsl:attribute>
  -                                                                             
                                                                                
<xsl:value-of select="normalize-space(.)"/>
  -                                                                             
                                                                        
</option>
  -                                                                             
                                                                </xsl:for-each>
  -                                                                             
                                                        </select>
  -                                                                             
                                                </font>
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="90" height="1"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="97%">
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        <input type="submit" 
value="Delete Role"/>
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td colspan="4"><img 
src="sunspotdemoimg-space.gif" height="10"/></td>
  -                                                                             
                                </tr>
  -                                                                             
                        </table>
  -                                                                             
                </td>
  -                                                                             
        </tr>
  -                                                                             
</table>
  -                                                                     </form>
  -                                                             </xsl:if>
  -<!-- User: select role -->                                           <table 
cellpadding="2" cellspacing="0" border="0" bgcolor="#46627A" width="60%">
  -                                                                     <tr>    
  -                                                                             
<td>
  -                                                                             
        <table cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff" 
width="100%">
  -                                                                             
                <tr>
  -                                                                             
                        <td colspan="4"><img src="sunspotdemoimg-space.gif" 
height="10"/></td>
  -                                                                             
                </tr>
  -                                                                             
                <form method="post">
  -                                                                             
                        <xsl:attribute name="action">
  -                                                                             
                                <xsl:value-of select="normalize-space(uri)"/>
  -                                                                             
                        </xsl:attribute>
  -                                                                             
                        <input type="hidden" value="selrole" name="authstate"/>
  -                                                                             
                        <tr>
  -                                                                             
                                <td width="1%">
  -                                                                             
                                        <img src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                </td>
  -                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-kast_o.gif"/></td>
  -                                                                             
                                <td width="1%" colspan="2">
  -                                                                             
                                        <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                <b>User</b>
  -                                                                             
                                        </font>
  -                                                                             
                                </td>
  -                                                                             
                        </tr>
  -                                                                             
                        <tr>
  -                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                        <img src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                </td>
  -                                                                             
                                <td colspan="2"><img 
src="sunspotdemoimg-space.gif" height="20"/></td>
  -                                                                             
                        </tr>
  -                                                                             
                        <tr>
  -                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-space.gif" width="30"/></td>
  -                                                                             
                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                        <img 
src="sunspotdemoimg-kast.gif"/></td>
  -                                                                             
                                <td width="1%">
  -                                                                             
                                        <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                <select name="authrole">
  -                                                                             
                                                        <xsl:for-each 
select="roles/role">
  -                                                                             
                                                                <option>
  -                                                                             
                                                                        
<xsl:attribute name="value">
  -                                                                             
                                                                                
<xsl:value-of select="normalize-space(.)"/>
  -                                                                             
                                                                        
</xsl:attribute>
  -                                                                             
                                                                        <xsl:if 
test="normalize-space(.)=$role">
  -                                                                             
                                                                                
<xsl:attribute name="selected">
  -                                                                             
                                                                                
        true
  -                                                                             
                                                                                
</xsl:attribute>
  -                                                                             
                                                                        
</xsl:if>
  -                                                                             
                                                                        
<xsl:value-of select="normalize-space(.)"/>
  -                                                                             
                                                                </option>
  -                                                                             
                                                        </xsl:for-each>
  -                                                                             
                                                </select>
  -                                                                             
                                        </font>
  -                                                                             
                                        <img src="sunspotdemoimg-space.gif" 
width="90" height="1"/>
  -                                                                             
                                </td>
  -                                                                             
                                <td>
  -                                                                             
                                        <img src="sunspotdemoimg-space.gif" 
width="10"/>
  -                                                                             
                                        <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                <input type="submit" 
value="Choose Role"/>
  -                                                                             
                                        </font>
  -                                                                             
                                </td>
  -                                                                             
                        </tr>
  -                                                                             
                </form>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif" 
valign="bottom">
  -                                                                             
                                <img src="sunspotdemoimg-line_end.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td colspan="2"><img src="sunspotdemoimg-space.gif" 
height="20"/></td>
  -                                                                             
                </tr>   
  -<!-- User: select user or new user -->
  -                                                                             
                <xsl:if test="role and not(user)">
  -                                                                             
                        <tr>
  -                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif"><img 
src="sunspotdemoimg-kast.gif"/></td>
  -                                                                             
                                <td width="1%">
  -                                                                             
                                        <img src="sunspotdemoimg-space.gif"/>   
  -                                                                             
                                </td>
  -                                                                             
                                <form method="post">
  -                                                                             
                                        <xsl:attribute name="action">
  -                                                                             
                                                <xsl:value-of 
select="normalize-space(uri)"/>
  -                                                                             
                                        </xsl:attribute>
  -                                                                             
                                        <input type="hidden" value="adduser" 
name="authstate"/>
  -                                                                             
                                                    <input type="hidden" 
name="authrole">
  -                                                                             
                                                <xsl:attribute name="value">
  -                                                                             
                                                        <xsl:value-of 
select="$role"/>
  -                                                                             
                                                </xsl:attribute>
  -                                                                             
                                        </input>
  -                                                                             
                                        <td>
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <input type="submit" 
value="Create New User"/>  
  -                                                                             
                                        </td>
  -                                                                             
                                </form>
  -                                                                             
                        </tr>
  -                                                                             
                        <tr>
  -                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif" valign="bottom">
  -                                                                             
                                        <img src="sunspotdemoimg-line_end.gif"/>
  -                                                                             
                                </td>
  -                                                                             
                                <td colspan="2"><img 
src="sunspotdemoimg-space.gif" height="20"/></td>
  -                                                                             
                        </tr>
  -                                                                             
                        <xsl:if test="users/user/ID">
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <img 
src="sunspotdemoimg-kast_u.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <form method="post">
  -                                                                             
                                                <xsl:attribute name="action">
  -                                                                             
                                                        <xsl:value-of 
select="normalize-space(uri)"/>
  -                                                                             
                                                </xsl:attribute>
  -                                                                             
                                                <input type="hidden" 
value="seluser" name="authstate"/>
  -                                                                             
                                                                 <input 
type="hidden" name="authrole">
  -                                                                             
                                                        <xsl:attribute 
name="value">
  -                                                                             
                                                                <xsl:value-of 
select="$role"/>
  -                                                                             
                                                        </xsl:attribute>
  -                                                                             
                                                </input>
  -                                                                             
                                                <td width="1%">
  -                                                                             
                                                        <select name="authid">
  -                                                                             
                                                                <xsl:for-each 
select="users/user/ID">
  -                                                                             
                                                                        <option>
  -                                                                             
                                                                                
<xsl:attribute name="value">
  -                                                                             
                                                                                
        <xsl:value-of select="normalize-space(.)"/>
  -                                                                             
                                                                                
</xsl:attribute>
  -                                                                             
                                                                                
<xsl:if test="normalize-space(.)=$role">
  -                                                                             
                                                                                
        <xsl:attribute name="selected">
  -                                                                             
                                                                                
                true
  -                                                                             
                                                                                
        </xsl:attribute>
  -                                                                             
                                                                                
</xsl:if>
  -                                                                             
                                                                                
<xsl:value-of select="normalize-space(.)"/>
  -                                                                             
                                                                        
</option>
  -                                                                             
                                                                </xsl:for-each>
  -                                                                             
                                                        </select>       
  -                                                                             
                                                </td>
  -                                                                             
                                                <td>
  -                                                                             
                                                        <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                        <input type="submit" 
value="Choose User"/>      
  -                                                                             
                                                </td>
  -                                                                             
                                        </form>
  -                                                                             
                                </tr>
  -                                                                             
                        </xsl:if>
  -                                                                             
                </xsl:if>
  -                                                                             
                <xsl:if test="user">    
  -                                                                             
                        <xsl:variable name="user" 
select="normalize-space(user)"/>
  -                                                                             
                        <form method="post">
  -                                                                             
                                <xsl:attribute name="action"><xsl:value-of 
select="normalize-space(uri)"/></xsl:attribute>
  -                                                                             
                                <input type="hidden" value="chguser" 
name="authstate"/>
  -                                                                             
                                <input type="hidden" name="authuser">
  -                                                                             
                                        <xsl:choose>
  -                                                                             
                                                <xsl:when test="$user='error'">
  -                                                                             
                                                        <xsl:attribute 
name="value">new</xsl:attribute>
  -                                                                             
                                                </xsl:when>
  -                                                                             
                                                <xsl:otherwise>
  -                                                                             
                                                        <xsl:attribute 
name="value">
  -                                                                             
                                                                <xsl:value-of 
select="normalize-space(user)"/>
  -                                                                             
                                                        </xsl:attribute>
  -                                                                             
                                                </xsl:otherwise>
  -                                                                             
                                        </xsl:choose>
  -                                                                             
                                </input>
  -                                                                             
                                <input type="hidden" name="autholdrole" 
value="{$role}"/>
  -                                                                             
                                <input type="hidden" name="autholdpassword" 
value="{normalize-space(uservalues/data/password)}"/>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                <img 
src="sunspotdemoimg-kast.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="1%" colspan="2">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        <b>User Information</b>
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        Title:
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td>
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <select name="title">
  -                                                                             
                                                        <option>
  -                                                                             
                                                                <xsl:if 
test="normalize-space(uservalues/data/title)='Mr.'">
  -                                                                             
                                                                        
<xsl:attribute name="selected">
  -                                                                             
                                                                                
true
  -                                                                             
                                                                        
</xsl:attribute>
  -                                                                             
                                                                </xsl:if>
  -                                                                             
                                                                                
        Mr.
  -                                                                             
                                                        </option>
  -                                                                             
                                                        <option>
  -                                                                             
                                                                <xsl:if 
test="normalize-space(uservalues/data/title)='Mrs.'">
  -                                                                             
                                                                        
<xsl:attribute name="selected">
  -                                                                             
                                                                                
true
  -                                                                             
                                                                        
</xsl:attribute>
  -                                                                             
                                                                </xsl:if>
  -                                                                             
                                                                                
        Mrs.
  -                                                                             
                                                        </option>
  -                                                                             
                                                </select>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        Firstname:
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td>
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <xsl:choose>
  -                                                                             
                                                        <xsl:when 
test="$user='new'">
  -                                                                             
                                                                <input 
type="text" name="firstname" value="??"/>
  -                                                                             
                                                        </xsl:when>
  -                                                                             
                                                        <xsl:when 
test="$user='error'">
  -                                                                             
                                                                <input 
type="text" name="firstname" value="{uservalues/data/firstname}"/> 
  -                                                                             
                                                        </xsl:when>
  -                                                                             
                                                        <xsl:otherwise>
  -                                                                             
                                                                <input 
type="text" name="firstname" value="{uservalues/data/firstname}"/>
  -                                                                             
                                                        </xsl:otherwise>
  -                                                                             
                                                </xsl:choose>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        Lastname:
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td>
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <xsl:choose>
  -                                                                             
                                                        <xsl:when 
test="$user='new'">
  -                                                                             
                                                                <input 
type="text" name="lastname" value="??"/>
  -                                                                             
                                                        </xsl:when>
  -                                                                             
                                                        <xsl:otherwise>
  -                                                                             
                                                                <input 
type="text" name="lastname">
  -                                                                             
                                                                        
<xsl:attribute name="value">
  -                                                                             
                                                                                
<xsl:value-of select="uservalues/data/lastname"/>
  -                                                                             
                                                                        
</xsl:attribute>
  -                                                                             
                                                                </input>
  -                                                                             
                                                        </xsl:otherwise>
  -                                                                             
                                                </xsl:choose>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        Login:
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td>
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                        <xsl:choose>
  -                                                                             
                                                                <xsl:when 
test="$user='new'">
  -                                                                             
                                                                        <input 
type="text" name="authid" value="??"/>
  -                                                                             
                                                                </xsl:when>
  -                                                                             
                                                                <xsl:when 
test="$user='error'">
  -                                                                             
                                                                        <input 
type="text" name="authid" value="{uservalues/data/ID}"/>
  -                                                                             
                                                                </xsl:when>
  -                                                                             
                                                                <xsl:otherwise>
  -                                                                             
                                                                        
<xsl:value-of select="uservalues/data/ID"/>
  -                                                                             
                                                                        <input 
type="hidden" name="authid">
  -                                                                             
                                                                                
<xsl:attribute name="value">
  -                                                                             
                                                                                
        <xsl:value-of select="normalize-space(uservalues/data/ID)"/>
  -                                                                             
                                                                                
</xsl:attribute>
  -                                                                             
                                                                        </input>
  -                                                                             
                                                                </xsl:otherwise>
  -                                                                             
                                                        </xsl:choose>
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <xsl:if test="$user='error'">
  -                                                                             
                                        <tr>
  -                                                                             
                                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                        <img 
src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                                </td>
  -                                                                             
                                                <td width="1%">
  -                                                                             
                                                        <font face="Arial, 
Helvetica, sans-serif" size="2">&#160;</font>
  -                                                                             
                                                </td>
  -                                                                             
                                                <td>
  -                                                                             
                                                        <font face="Arial, 
Helvetica, sans-serif" size="2" color="ff1111">
  -                                                                             
                                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                                User already 
exists
  -                                                                             
                                                        </font>
  -                                                                             
                                                </td>
  -                                                                             
                                        </tr>
  -                                                                             
                                </xsl:if>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        Password:
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td>
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <xsl:choose>
  -                                                                             
                                                        <xsl:when 
test="$user='new'">
  -                                                                             
                                                                <input 
type="password" name="password" value=""/>
  -                                                                             
                                                        </xsl:when>
  -                                                                             
                                                        <xsl:otherwise>
  -                                                                             
                                                                <input 
type="password" name="password" value="{uservalues/data/password}"/>
  -                                                                             
                                                        </xsl:otherwise>
  -                                                                             
                                                </xsl:choose>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  -                                                                             
                                                        Role:
  -                                                                             
                                                </font>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td>
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <select name="authrole">
  -                                                                             
                                                        <xsl:for-each 
select="roles/role">
  -                                                                             
                                                                <option>
  -                                                                             
                                                                        
<xsl:attribute name="value">
  -                                                                             
                                                                                
<xsl:value-of select="normalize-space(.)"/>
  -                                                                             
                                                                        
</xsl:attribute>
  -                                                                             
                                                                        <xsl:if 
test="normalize-space(.)=$role">
  -                                                                             
                                                                                
<xsl:attribute name="selected">
  -                                                                             
                                                                                
        true
  -                                                                             
                                                                                
</xsl:attribute>
  -                                                                             
                                                                        
</xsl:if>
  -                                                                             
                                                                        
<xsl:value-of select="normalize-space(.)"/>
  -                                                                             
                                                                </option>
  -                                                                             
                                                        </xsl:for-each>
  -                                                                             
                                                </select>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif" valign="bottom">
  -                                                                             
                                                <img 
src="sunspotdemoimg-line_end.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td colspan="2"><img 
src="sunspotdemoimg-space.gif" height="20"/></td>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                <img 
src="sunspotdemoimg-kast_url_u.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <xsl:choose>
  -                                                                             
                                                <xsl:when 
test="not($user='new') and not($user='error')">
  -                                                                             
                                                        <td width="1%">
  -                                                                             
                                                                <font 
face="Arial, Helvetica, sans-serif" size="2">
  -                                                                             
                                                                        <input 
type="checkbox" value="true" name="authdeluser"/>        
  -                                                                             
                                                                </font>         
        
  -                                                                             
                                                        </td>
  -                                                                             
                                                        <td width="97%">
  -                                                                             
                                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                                <font 
face="Arial, Helvetica, sans-serif" size="2">
  -                                                                             
                                                                        Delete 
User
  -                                                                             
                                                                </font>
  -                                                                             
                                                        </td>
  -                                                                             
                                                </xsl:when>
  -                                                                             
                                                <xsl:otherwise>
  -                                                                             
                                                        <td width="1%">
  -                                                                             
                                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>                
  -                                                                             
                                                        </td>
  -                                                                             
                                                        <td width="97%">
  -                                                                             
                                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                        </td>
  -                                                                             
                                                </xsl:otherwise>
  -                                                                             
                                        </xsl:choose>
  -                                                                             
                                </tr>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif" valign="bottom">
  -                                                                             
                                                <img 
src="sunspotdemoimg-line_end.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td colspan="2"><img 
src="sunspotdemoimg-space.gif" height="20"/></td>
  -                                                                             
                                </tr>
  -                                                                             
                                <xsl:if test="addeduser">       
  -                                                                             
                                        <tr>
  -                                                                             
                                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                                        <img 
src="sunspotdemoimg-kast.gif"/>
  -                                                                             
                                                </td>
  -                                                                             
                                                <td width="1%" colspan="2">
  -                                                                             
                                                        <font face="Arial, 
Helvetica, sans-serif" size="2">
  -                                                                             
                                                                User 
<xsl:value-of select="normalize-space(addeduser)"/> created.
  -                                                                             
                                                        </font>
  -                                                                             
                                                </td>
  -                                                                             
                                        </tr>
  -                                                                             
                                </xsl:if>
  -                                                                             
                                <tr>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                                        <td width="1%">
  -                                                                             
                                                <img 
src="sunspotdemoimg-kast_url_u.gif"/>
  -                                                                             
                                        </td>
  -                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif" width="10"/></td>
  -                                                                             
                                        <td>
  -                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                                <xsl:choose>
  -                                                                             
                                                        <xsl:when 
test="$user='new' or $user='error'">
  -                                                                             
                                                                <input 
type="submit" name="Create New" value="Create New"/>
  -                                                                             
                                                        </xsl:when>
  -                                                                             
                                                        <xsl:otherwise>
  -                                                                             
                                                                <input 
type="submit" name="Change" value="Change"/>
  -                                                                             
                                                        </xsl:otherwise>
  -                                                                             
                                                </xsl:choose>
  -                                                                             
                                        </td>
  -                                                                             
                                </tr>
  -                                                                             
                        </form>
  -                                                                             
                </xsl:if>
  -                                                                             
                <tr>
  -                                                                             
                        <td colspan="4"><img src="sunspotdemoimg-space.gif" 
height="10"/></td>
  -                                                                             
                </tr>
  -                                                                             
        </table>
  -                                                                             
</td>
  -                                                                     </tr>
  -                                                             </table>
  -                                                             <img 
src="sunspotdemoimg-space.gif" height="20"/>
  -                                                     </td>
  -                                                     </tr>
  -<!-- Ende Content -->
  -
  -<!-- Start Bottom -->
  -                                             <tr>   
  -                                                             <td 
bgcolor="#AAB9BF" noWrap="" colspan="3">
  -                                                             <img 
src="sunspotdemoimg-space.gif" height="8"/>
  -                                                     </td>
  -                                             </tr>
  -<!-- Ende Bottom -->
  -
  -                                     </tbody></table>
  -                             </td>
  -                     </tr>
  -             </tbody></table>
  -     </body>
  -</html>
  -</xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -
  -<xsl:template match="@*|node()">
  -   <xsl:copy>
  -    <xsl:apply-templates select="@*|node()" />
  -   </xsl:copy>
  -  </xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  + Description: Portal User configuration to HTML. This stylesheet is
  +              used for the administrator when he manages the users
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<xsl:template match="configuration">
  +     <xsl:variable name="role" select="normalize-space(role)"/>
  +
  +     <html>
  +             <head>
  +                     <title>Portal User Management</title>
  +             </head>
  +             <body text="#0B2A51" link="#0B2A51" vlink="#666666" 
bgColor="#cccccc">
  +             <table bgColor="#ffffff" border="0" cellPadding="0" 
cellSpacing="0" width="100%"><tbody>
  +                     <tr>
  +                                     <td>
  +                                     <table border="0" cellPadding="0" 
cellSpacing="2" height="100%" width="100%"><tbody>
  +<!-- Start Header -->                                <tr>
  +                                             <td bgcolor="#AAB9BF" noWrap="" 
colspan="3">
  +                                                              <img 
src="sunspotdemoimg-space.gif" height="5"/>
  +                                                     </td>
  +                                             </tr>
  +                                                     <tr>
  +                                                             <td 
bgcolor="#AAB9BF" noWrap="">        
  +                                                             <img 
src="sunspotdemoimg-logo.jpg"/>
  +                                                             </td>
  +                                                             <td 
bgcolor="#AAB9BF" align="center" valign="bottom" colspan="2">
  +                                                                     <font 
face="Arial, Helvetica, sans-serif" size="6" color="#46627A">
  +                                                                     
<b>Portal User Management</b>
  +                                                             </font>
  +                                                             </td>
  +                                             </tr>
  +                                                     <tr>
  +                                                             <td noWrap="" 
width="10%" bgcolor="#cccccc">
  +                                                             <img 
src="sunspotdemoimg-space.gif" height="10"/>
  +                                                             </td>
  +                                                             <td width="90%" 
bgcolor="#cccccc" colspan="2">
  +                                                             <img 
src="sunspotdemoimg-space.gif"/>
  +                                                     </td>
  +                                                     </tr>
  +<!-- Ende Header -->
  +<!-- Start Content -->
  +                                             <tr>
  +                                                             <td 
bgcolor="#46627a">
  +                                                             <img 
src="sunspotdemoimg-space.gif"/>
  +                                                     </td>
  +                                                     <td><img 
src="sunspotdemoimg-space.gif" width="10"/></td>
  +                                                             <td 
align="center"><img src="sunspotdemoimg-space.gif" height="10"/>
  +<!-- add new role -->                                                <xsl:if 
test="menue/addrole">
  +                                                                     <form 
method="post">
  +                                                                             
<xsl:attribute name="action"><xsl:value-of 
select="normalize-space(uri)"/></xsl:attribute>
  +                                                                             
<input type="hidden" value="addrole" name="authstate"/> 
  +                                                                             
<table cellpadding="2" cellspacing="0" border="0" bgcolor="#46627A" width="60%">
  +                                                                             
        <tr>    
  +                                                                             
                <td>
  +                                                                             
                        <table cellpadding="0" cellspacing="0" border="0" 
bgcolor="#ffffff" width="100%">
  +                                                                             
                                <tr>
  +                                                                             
                                        <td colspan="4"><img 
src="sunspotdemoimg-space.gif" height="10"/></td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif" width="30"/></td>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-kast_m.gif"/></td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        <input type="text" 
name="authrole" size="20"/>
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="97%">
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        <input type="submit" 
value="Create New Role"/>
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td colspan="4"><img 
src="sunspotdemoimg-space.gif" height="10"/></td>
  +                                                                             
                                </tr>
  +                                                                             
                        </table>
  +                                                                             
                </td>
  +                                                                             
        </tr>
  +                                                                             
</table>
  +                                                                     </form>
  +                                                             </xsl:if>
  +<!-- delete a role -->                                               <xsl:if 
test="menue/delrole">
  +                                                                     <form 
method="post">
  +                                                                             
<xsl:attribute name="action"><xsl:value-of 
select="normalize-space(uri)"/></xsl:attribute>
  +                                                                             
<input type="hidden" value="delrole" name="authstate"/> 
  +                                                                             
<table cellpadding="2" cellspacing="0" border="0" bgcolor="#46627A" width="60%">
  +                                                                             
        <tr>    
  +                                                                             
                <td>
  +                                                                             
                        <table cellpadding="0" cellspacing="0" border="0" 
bgcolor="#ffffff" width="100%">
  +                                                                             
                                <tr>
  +                                                                             
                                        <td colspan="4"><img 
src="sunspotdemoimg-space.gif" height="10"/></td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif" width="30"/></td>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-kast_m.gif"/></td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        <select name="authrole">
  +                                                                             
                                                                <xsl:for-each 
select="roles/role">
  +                                                                             
                                                                        <option>
  +                                                                             
                                                                                
<xsl:attribute name="value">
  +                                                                             
                                                                                
        <xsl:value-of select="normalize-space(.)"/>
  +                                                                             
                                                                                
</xsl:attribute>
  +                                                                             
                                                                                
<xsl:value-of select="normalize-space(.)"/>
  +                                                                             
                                                                        
</option>
  +                                                                             
                                                                </xsl:for-each>
  +                                                                             
                                                        </select>
  +                                                                             
                                                </font>
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="90" height="1"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="97%">
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        <input type="submit" 
value="Delete Role"/>
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td colspan="4"><img 
src="sunspotdemoimg-space.gif" height="10"/></td>
  +                                                                             
                                </tr>
  +                                                                             
                        </table>
  +                                                                             
                </td>
  +                                                                             
        </tr>
  +                                                                             
</table>
  +                                                                     </form>
  +                                                             </xsl:if>
  +<!-- User: select role -->                                           <table 
cellpadding="2" cellspacing="0" border="0" bgcolor="#46627A" width="60%">
  +                                                                     <tr>    
  +                                                                             
<td>
  +                                                                             
        <table cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff" 
width="100%">
  +                                                                             
                <tr>
  +                                                                             
                        <td colspan="4"><img src="sunspotdemoimg-space.gif" 
height="10"/></td>
  +                                                                             
                </tr>
  +                                                                             
                <form method="post">
  +                                                                             
                        <xsl:attribute name="action">
  +                                                                             
                                <xsl:value-of select="normalize-space(uri)"/>
  +                                                                             
                        </xsl:attribute>
  +                                                                             
                        <input type="hidden" value="selrole" name="authstate"/>
  +                                                                             
                        <tr>
  +                                                                             
                                <td width="1%">
  +                                                                             
                                        <img src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                </td>
  +                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-kast_o.gif"/></td>
  +                                                                             
                                <td width="1%" colspan="2">
  +                                                                             
                                        <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                <b>User</b>
  +                                                                             
                                        </font>
  +                                                                             
                                </td>
  +                                                                             
                        </tr>
  +                                                                             
                        <tr>
  +                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                        <img src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                </td>
  +                                                                             
                                <td colspan="2"><img 
src="sunspotdemoimg-space.gif" height="20"/></td>
  +                                                                             
                        </tr>
  +                                                                             
                        <tr>
  +                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-space.gif" width="30"/></td>
  +                                                                             
                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                        <img 
src="sunspotdemoimg-kast.gif"/></td>
  +                                                                             
                                <td width="1%">
  +                                                                             
                                        <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                <select name="authrole">
  +                                                                             
                                                        <xsl:for-each 
select="roles/role">
  +                                                                             
                                                                <option>
  +                                                                             
                                                                        
<xsl:attribute name="value">
  +                                                                             
                                                                                
<xsl:value-of select="normalize-space(.)"/>
  +                                                                             
                                                                        
</xsl:attribute>
  +                                                                             
                                                                        <xsl:if 
test="normalize-space(.)=$role">
  +                                                                             
                                                                                
<xsl:attribute name="selected">
  +                                                                             
                                                                                
        true
  +                                                                             
                                                                                
</xsl:attribute>
  +                                                                             
                                                                        
</xsl:if>
  +                                                                             
                                                                        
<xsl:value-of select="normalize-space(.)"/>
  +                                                                             
                                                                </option>
  +                                                                             
                                                        </xsl:for-each>
  +                                                                             
                                                </select>
  +                                                                             
                                        </font>
  +                                                                             
                                        <img src="sunspotdemoimg-space.gif" 
width="90" height="1"/>
  +                                                                             
                                </td>
  +                                                                             
                                <td>
  +                                                                             
                                        <img src="sunspotdemoimg-space.gif" 
width="10"/>
  +                                                                             
                                        <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                <input type="submit" 
value="Choose Role"/>
  +                                                                             
                                        </font>
  +                                                                             
                                </td>
  +                                                                             
                        </tr>
  +                                                                             
                </form>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif" 
valign="bottom">
  +                                                                             
                                <img src="sunspotdemoimg-line_end.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td colspan="2"><img src="sunspotdemoimg-space.gif" 
height="20"/></td>
  +                                                                             
                </tr>   
  +<!-- User: select user or new user -->
  +                                                                             
                <xsl:if test="role and not(user)">
  +                                                                             
                        <tr>
  +                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif"><img 
src="sunspotdemoimg-kast.gif"/></td>
  +                                                                             
                                <td width="1%">
  +                                                                             
                                        <img src="sunspotdemoimg-space.gif"/>   
  +                                                                             
                                </td>
  +                                                                             
                                <form method="post">
  +                                                                             
                                        <xsl:attribute name="action">
  +                                                                             
                                                <xsl:value-of 
select="normalize-space(uri)"/>
  +                                                                             
                                        </xsl:attribute>
  +                                                                             
                                        <input type="hidden" value="adduser" 
name="authstate"/>
  +                                                                             
                                                    <input type="hidden" 
name="authrole">
  +                                                                             
                                                <xsl:attribute name="value">
  +                                                                             
                                                        <xsl:value-of 
select="$role"/>
  +                                                                             
                                                </xsl:attribute>
  +                                                                             
                                        </input>
  +                                                                             
                                        <td>
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <input type="submit" 
value="Create New User"/>  
  +                                                                             
                                        </td>
  +                                                                             
                                </form>
  +                                                                             
                        </tr>
  +                                                                             
                        <tr>
  +                                                                             
                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif" valign="bottom">
  +                                                                             
                                        <img src="sunspotdemoimg-line_end.gif"/>
  +                                                                             
                                </td>
  +                                                                             
                                <td colspan="2"><img 
src="sunspotdemoimg-space.gif" height="20"/></td>
  +                                                                             
                        </tr>
  +                                                                             
                        <xsl:if test="users/user/ID">
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <img 
src="sunspotdemoimg-kast_u.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <form method="post">
  +                                                                             
                                                <xsl:attribute name="action">
  +                                                                             
                                                        <xsl:value-of 
select="normalize-space(uri)"/>
  +                                                                             
                                                </xsl:attribute>
  +                                                                             
                                                <input type="hidden" 
value="seluser" name="authstate"/>
  +                                                                             
                                                                 <input 
type="hidden" name="authrole">
  +                                                                             
                                                        <xsl:attribute 
name="value">
  +                                                                             
                                                                <xsl:value-of 
select="$role"/>
  +                                                                             
                                                        </xsl:attribute>
  +                                                                             
                                                </input>
  +                                                                             
                                                <td width="1%">
  +                                                                             
                                                        <select name="authid">
  +                                                                             
                                                                <xsl:for-each 
select="users/user/ID">
  +                                                                             
                                                                        <option>
  +                                                                             
                                                                                
<xsl:attribute name="value">
  +                                                                             
                                                                                
        <xsl:value-of select="normalize-space(.)"/>
  +                                                                             
                                                                                
</xsl:attribute>
  +                                                                             
                                                                                
<xsl:if test="normalize-space(.)=$role">
  +                                                                             
                                                                                
        <xsl:attribute name="selected">
  +                                                                             
                                                                                
                true
  +                                                                             
                                                                                
        </xsl:attribute>
  +                                                                             
                                                                                
</xsl:if>
  +                                                                             
                                                                                
<xsl:value-of select="normalize-space(.)"/>
  +                                                                             
                                                                        
</option>
  +                                                                             
                                                                </xsl:for-each>
  +                                                                             
                                                        </select>       
  +                                                                             
                                                </td>
  +                                                                             
                                                <td>
  +                                                                             
                                                        <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                        <input type="submit" 
value="Choose User"/>      
  +                                                                             
                                                </td>
  +                                                                             
                                        </form>
  +                                                                             
                                </tr>
  +                                                                             
                        </xsl:if>
  +                                                                             
                </xsl:if>
  +                                                                             
                <xsl:if test="user">    
  +                                                                             
                        <xsl:variable name="user" 
select="normalize-space(user)"/>
  +                                                                             
                        <form method="post">
  +                                                                             
                                <xsl:attribute name="action"><xsl:value-of 
select="normalize-space(uri)"/></xsl:attribute>
  +                                                                             
                                <input type="hidden" value="chguser" 
name="authstate"/>
  +                                                                             
                                <input type="hidden" name="authuser">
  +                                                                             
                                        <xsl:choose>
  +                                                                             
                                                <xsl:when test="$user='error'">
  +                                                                             
                                                        <xsl:attribute 
name="value">new</xsl:attribute>
  +                                                                             
                                                </xsl:when>
  +                                                                             
                                                <xsl:otherwise>
  +                                                                             
                                                        <xsl:attribute 
name="value">
  +                                                                             
                                                                <xsl:value-of 
select="normalize-space(user)"/>
  +                                                                             
                                                        </xsl:attribute>
  +                                                                             
                                                </xsl:otherwise>
  +                                                                             
                                        </xsl:choose>
  +                                                                             
                                </input>
  +                                                                             
                                <input type="hidden" name="autholdrole" 
value="{$role}"/>
  +                                                                             
                                <input type="hidden" name="autholdpassword" 
value="{normalize-space(uservalues/data/password)}"/>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                <img 
src="sunspotdemoimg-kast.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="1%" colspan="2">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        <b>User Information</b>
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        Title:
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td>
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <select name="title">
  +                                                                             
                                                        <option>
  +                                                                             
                                                                <xsl:if 
test="normalize-space(uservalues/data/title)='Mr.'">
  +                                                                             
                                                                        
<xsl:attribute name="selected">
  +                                                                             
                                                                                
true
  +                                                                             
                                                                        
</xsl:attribute>
  +                                                                             
                                                                </xsl:if>
  +                                                                             
                                                                                
        Mr.
  +                                                                             
                                                        </option>
  +                                                                             
                                                        <option>
  +                                                                             
                                                                <xsl:if 
test="normalize-space(uservalues/data/title)='Mrs.'">
  +                                                                             
                                                                        
<xsl:attribute name="selected">
  +                                                                             
                                                                                
true
  +                                                                             
                                                                        
</xsl:attribute>
  +                                                                             
                                                                </xsl:if>
  +                                                                             
                                                                                
        Mrs.
  +                                                                             
                                                        </option>
  +                                                                             
                                                </select>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        Firstname:
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td>
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <xsl:choose>
  +                                                                             
                                                        <xsl:when 
test="$user='new'">
  +                                                                             
                                                                <input 
type="text" name="firstname" value="??"/>
  +                                                                             
                                                        </xsl:when>
  +                                                                             
                                                        <xsl:when 
test="$user='error'">
  +                                                                             
                                                                <input 
type="text" name="firstname" value="{uservalues/data/firstname}"/> 
  +                                                                             
                                                        </xsl:when>
  +                                                                             
                                                        <xsl:otherwise>
  +                                                                             
                                                                <input 
type="text" name="firstname" value="{uservalues/data/firstname}"/>
  +                                                                             
                                                        </xsl:otherwise>
  +                                                                             
                                                </xsl:choose>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        Lastname:
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td>
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <xsl:choose>
  +                                                                             
                                                        <xsl:when 
test="$user='new'">
  +                                                                             
                                                                <input 
type="text" name="lastname" value="??"/>
  +                                                                             
                                                        </xsl:when>
  +                                                                             
                                                        <xsl:otherwise>
  +                                                                             
                                                                <input 
type="text" name="lastname">
  +                                                                             
                                                                        
<xsl:attribute name="value">
  +                                                                             
                                                                                
<xsl:value-of select="uservalues/data/lastname"/>
  +                                                                             
                                                                        
</xsl:attribute>
  +                                                                             
                                                                </input>
  +                                                                             
                                                        </xsl:otherwise>
  +                                                                             
                                                </xsl:choose>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        Login:
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td>
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                        <xsl:choose>
  +                                                                             
                                                                <xsl:when 
test="$user='new'">
  +                                                                             
                                                                        <input 
type="text" name="authid" value="??"/>
  +                                                                             
                                                                </xsl:when>
  +                                                                             
                                                                <xsl:when 
test="$user='error'">
  +                                                                             
                                                                        <input 
type="text" name="authid" value="{uservalues/data/ID}"/>
  +                                                                             
                                                                </xsl:when>
  +                                                                             
                                                                <xsl:otherwise>
  +                                                                             
                                                                        
<xsl:value-of select="uservalues/data/ID"/>
  +                                                                             
                                                                        <input 
type="hidden" name="authid">
  +                                                                             
                                                                                
<xsl:attribute name="value">
  +                                                                             
                                                                                
        <xsl:value-of select="normalize-space(uservalues/data/ID)"/>
  +                                                                             
                                                                                
</xsl:attribute>
  +                                                                             
                                                                        </input>
  +                                                                             
                                                                </xsl:otherwise>
  +                                                                             
                                                        </xsl:choose>
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <xsl:if test="$user='error'">
  +                                                                             
                                        <tr>
  +                                                                             
                                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                        <img 
src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                                </td>
  +                                                                             
                                                <td width="1%">
  +                                                                             
                                                        <font face="Arial, 
Helvetica, sans-serif" size="2">&#160;</font>
  +                                                                             
                                                </td>
  +                                                                             
                                                <td>
  +                                                                             
                                                        <font face="Arial, 
Helvetica, sans-serif" size="2" color="ff1111">
  +                                                                             
                                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                                User already 
exists
  +                                                                             
                                                        </font>
  +                                                                             
                                                </td>
  +                                                                             
                                        </tr>
  +                                                                             
                                </xsl:if>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        Password:
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td>
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <xsl:choose>
  +                                                                             
                                                        <xsl:when 
test="$user='new'">
  +                                                                             
                                                                <input 
type="password" name="password" value=""/>
  +                                                                             
                                                        </xsl:when>
  +                                                                             
                                                        <xsl:otherwise>
  +                                                                             
                                                                <input 
type="password" name="password" value="{uservalues/data/password}"/>
  +                                                                             
                                                        </xsl:otherwise>
  +                                                                             
                                                </xsl:choose>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <font face="Arial, Helvetica, 
sans-serif" size="2">
  +                                                                             
                                                        Role:
  +                                                                             
                                                </font>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td>
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <select name="authrole">
  +                                                                             
                                                        <xsl:for-each 
select="roles/role">
  +                                                                             
                                                                <option>
  +                                                                             
                                                                        
<xsl:attribute name="value">
  +                                                                             
                                                                                
<xsl:value-of select="normalize-space(.)"/>
  +                                                                             
                                                                        
</xsl:attribute>
  +                                                                             
                                                                        <xsl:if 
test="normalize-space(.)=$role">
  +                                                                             
                                                                                
<xsl:attribute name="selected">
  +                                                                             
                                                                                
        true
  +                                                                             
                                                                                
</xsl:attribute>
  +                                                                             
                                                                        
</xsl:if>
  +                                                                             
                                                                        
<xsl:value-of select="normalize-space(.)"/>
  +                                                                             
                                                                </option>
  +                                                                             
                                                        </xsl:for-each>
  +                                                                             
                                                </select>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif" valign="bottom">
  +                                                                             
                                                <img 
src="sunspotdemoimg-line_end.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td colspan="2"><img 
src="sunspotdemoimg-space.gif" height="20"/></td>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                <img 
src="sunspotdemoimg-kast_url_u.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <xsl:choose>
  +                                                                             
                                                <xsl:when 
test="not($user='new') and not($user='error')">
  +                                                                             
                                                        <td width="1%">
  +                                                                             
                                                                <font 
face="Arial, Helvetica, sans-serif" size="2">
  +                                                                             
                                                                        <input 
type="checkbox" value="true" name="authdeluser"/>        
  +                                                                             
                                                                </font>         
        
  +                                                                             
                                                        </td>
  +                                                                             
                                                        <td width="97%">
  +                                                                             
                                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                                <font 
face="Arial, Helvetica, sans-serif" size="2">
  +                                                                             
                                                                        Delete 
User
  +                                                                             
                                                                </font>
  +                                                                             
                                                        </td>
  +                                                                             
                                                </xsl:when>
  +                                                                             
                                                <xsl:otherwise>
  +                                                                             
                                                        <td width="1%">
  +                                                                             
                                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>                
  +                                                                             
                                                        </td>
  +                                                                             
                                                        <td width="97%">
  +                                                                             
                                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                        </td>
  +                                                                             
                                                </xsl:otherwise>
  +                                                                             
                                        </xsl:choose>
  +                                                                             
                                </tr>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%" 
background="sunspotdemoimg-line_bg.gif" valign="bottom">
  +                                                                             
                                                <img 
src="sunspotdemoimg-line_end.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td colspan="2"><img 
src="sunspotdemoimg-space.gif" height="20"/></td>
  +                                                                             
                                </tr>
  +                                                                             
                                <xsl:if test="addeduser">       
  +                                                                             
                                        <tr>
  +                                                                             
                                                <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                                <td width="1%" 
background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                                        <img 
src="sunspotdemoimg-kast.gif"/>
  +                                                                             
                                                </td>
  +                                                                             
                                                <td width="1%" colspan="2">
  +                                                                             
                                                        <font face="Arial, 
Helvetica, sans-serif" size="2">
  +                                                                             
                                                                User 
<xsl:value-of select="normalize-space(addeduser)"/> created.
  +                                                                             
                                                        </font>
  +                                                                             
                                                </td>
  +                                                                             
                                        </tr>
  +                                                                             
                                </xsl:if>
  +                                                                             
                                <tr>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                                        <td width="1%">
  +                                                                             
                                                <img 
src="sunspotdemoimg-kast_url_u.gif"/>
  +                                                                             
                                        </td>
  +                                                                             
                                        <td width="1%"><img 
src="sunspotdemoimg-space.gif" width="10"/></td>
  +                                                                             
                                        <td>
  +                                                                             
                                                <img 
src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                                <xsl:choose>
  +                                                                             
                                                        <xsl:when 
test="$user='new' or $user='error'">
  +                                                                             
                                                                <input 
type="submit" name="Create New" value="Create New"/>
  +                                                                             
                                                        </xsl:when>
  +                                                                             
                                                        <xsl:otherwise>
  +                                                                             
                                                                <input 
type="submit" name="Change" value="Change"/>
  +                                                                             
                                                        </xsl:otherwise>
  +                                                                             
                                                </xsl:choose>
  +                                                                             
                                        </td>
  +                                                                             
                                </tr>
  +                                                                             
                        </form>
  +                                                                             
                </xsl:if>
  +                                                                             
                <tr>
  +                                                                             
                        <td colspan="4"><img src="sunspotdemoimg-space.gif" 
height="10"/></td>
  +                                                                             
                </tr>
  +                                                                             
        </table>
  +                                                                             
</td>
  +                                                                     </tr>
  +                                                             </table>
  +                                                             <img 
src="sunspotdemoimg-space.gif" height="20"/>
  +                                                     </td>
  +                                                     </tr>
  +<!-- Ende Content -->
  +
  +<!-- Start Bottom -->
  +                                             <tr>   
  +                                                             <td 
bgcolor="#AAB9BF" noWrap="" colspan="3">
  +                                                             <img 
src="sunspotdemoimg-space.gif" height="8"/>
  +                                                     </td>
  +                                             </tr>
  +<!-- Ende Bottom -->
  +
  +                                     </tbody></table>
  +                             </td>
  +                     </tr>
  +             </tbody></table>
  +     </body>
  +</html>
  +</xsl:template>
  +
  +  <!-- Copy all and apply templates -->
  +  <xsl:template match="@*|node()">
  +   <xsl:copy>
  +    <xsl:apply-templates select="@*|node()" />
  +   </xsl:copy>
  +  </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +219 -220  
cocoon-2.1/src/blocks/portal-fw/samples/styles/sunriseeditHTML.xsl
  
  Index: sunriseeditHTML.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/portal-fw/samples/styles/sunriseeditHTML.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sunriseeditHTML.xsl       9 Mar 2003 00:05:33 -0000       1.1
  +++ sunriseeditHTML.xsl       6 May 2003 14:12:55 -0000       1.2
  @@ -1,220 +1,219 @@
  -<?xml version="1.0"?>
  -
  -<xsl:stylesheet version="1.0" 
  -                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -
  -<!-- $Id$ 
  -
  - Description: Portal User Management to HTML. This stylesheet is used
  -              if the user changes his own information.
  -
  --->
  -
  -<xsl:template match="configuration">
  -     <xsl:variable name="role" select="normalize-space(role)"/>
  -
  -<html>
  -<head>
  -    <title>Portal User Managemenet</title>
  -</head>
  -<body text="#0B2A51" link="#0B2A51" vlink="#666666" bgColor="#ffffff">
  -<table border="0" cellPadding="0" cellSpacing="0" height="100%" width="100%">
  -     <tr>
  -
  -<!-- menue -->
  -             <td height="100%" noWrap="" width="193" valign="top" 
bgcolor="#cccccc">
  -             <img height="2" src="sunspotdemoimg-space.gif" width="1"/>
  -                     <table bgColor="#ffffff" border="0" cellPadding="0" 
cellSpacing="0" width="100%">
  -                             <tr>
  -                                     <td>
  -                                             <table bgColor="#ffffff" 
border="0" cellPadding="0" cellSpacing="2" width="100%">
  -                                                     <tr>
  -                                                             <td 
bgcolor="#46627A" width="1%">
  -                                                                     <img 
src="sunspotdemoimg-space.gif" width="20" height="40"/>
  -                                                             </td>
  -                                                             <td 
bgcolor="#cccccc">
  -                                                                     <br/>
  -                                                                     <font 
face="Arial, Helvetica, sans-serif" size="2">
  -                                                                             
<b><a target="_top" href="sunspotdemo-portal">
  -                                                                             
        <blockquote>Your Portal</blockquote>
  -                                                                             
</a></b>
  -                                                                     </font>
  -                                                             </td>
  -                                                     </tr>
  -                                             </table>
  -                                     </td>
  -                             </tr>
  -                     </table>
  -             </td>
  -<!-- /menue -->
  -             <td>
  -<!-- content -->
  -                     <table border="0" cellPadding="0" cellSpacing="2" 
height="100%" width="100%">
  -                                     <tbody>
  -                                     <tr>
  -                                             <td><img 
src="sunspotdemoimg-space.gif" width="10"/></td>
  -                                             <td valign="top"><img 
src="sunspotdemoimg-space.gif" height="10"/><br/>
  -                                                     <table cellpadding="2" 
cellspacing="0" border="0" bgcolor="#46627A">
  -                                                             <tr>
  -                                                                     <td>
  -                                                                             
<table cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff">
  -                                                                             
        <tr>
  -                                                                             
                <td colspan="5"><img src="sunspotdemoimg-space.gif" 
height="10"/></td>
  -                                                                             
        </tr>
  -                                                                             
        <xsl:variable name="user" select="normalize-space(user)"/>
  -                                                                             
        <xsl:variable name="linkurl"><xsl:value-of 
select="normalize-space(uri)"/><xsl:value-of 
select="urlrewrite"/></xsl:variable>
  -                                                                             
        <form method="post" action="{translate(normalize-space($linkurl), ' ', 
'')}">
  -                                                                             
                <input type="hidden" name="authstate" value="chguser"/>
  -                                                                             
        <input type="hidden" name="authrole" value="{$role}"/>
  -                                                                             
                <input type="hidden" name="authuser" 
value="{normalize-space(user)}"/>
  -                                                                             
                <input type="hidden" name="autholdrole" value="{$role}"/>
  -                                                                             
                <input type="hidden" name="autholdpassword" 
value="{normalize-space(uservalues/data/password)}"/>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%">
  -                                                                             
                                <img src="sunspotdemoimg-kast_o.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%" colspan="2">
  -                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  -                                                                             
                                        <b>User Information</b>
  -                                                                             
                                </font>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                </tr>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%">
  -                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  -                                                                             
                                        Title:
  -                                                                             
                                </font>
  -                                                                             
                        </td>
  -                                                                             
                        <td>
  -                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                <select name="title">
  -                                                                             
                                        <option><xsl:if 
test="normalize-space(uservalues/data/title)='Mr.'"><xsl:attribute 
name="selected">true</xsl:attribute></xsl:if>Mr.</option>
  -                                                                             
                                        <option><xsl:if 
test="normalize-space(uservalues/data/title)='Mrs.'"><xsl:attribute 
name="selected">true</xsl:attribute></xsl:if>Mrs.</option>
  -                                                                             
                                </select>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                </tr>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%">
  -                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  -                                                                             
                                        Firstname:
  -                                                                             
                                </font>
  -                                                                             
                        </td>
  -                                                                             
                        <td>
  -                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                <input size="35" type="text" name="firstname" 
value="{normalize-space(uservalues/data/firstname)}"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                </tr>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%">
  -                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  -                                                                             
                                        Lastname:
  -                                                                             
                                </font>
  -                                                                             
                        </td>
  -                                                                             
                        <td>
  -                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                <input size="35" type="text" name="lastname" 
value="{normalize-space(uservalues/data/lastname)}"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                </tr>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%">
  -                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  -                                                                             
                                        Login:
  -                                                                             
                                </font>
  -                                                                             
                        </td>
  -                                                                             
                        <td>
  -                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  -                                                                             
                                        <xsl:value-of 
select="uservalues/data/ID"/>
  -                                                                             
                                        <input type="hidden" name="authid" 
value="{normalize-space(uservalues/data/ID)}"/>
  -                                                                             
                                </font>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                </tr>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  -                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%">
  -                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  -                                                                             
                                        Password:
  -                                                                             
                                </font>
  -                                                                             
                        </td>
  -                                                                             
                        <td>
  -                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                <input size="35" type="password" 
name="password" value="{normalize-space(uservalues/data/password)}"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                </tr>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif" 
valign="bottom">
  -                                                                             
                                <img src="sunspotdemoimg-line_end.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td colspan="2"><img src="sunspotdemoimg-space.gif" 
height="20"/></td>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                </tr>
  -                                                                             
                <tr>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                        <td width="1%">
  -                                                                             
                                <img src="sunspotdemoimg-kast_url_u.gif"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%"><img src="sunspotdemoimg-space.gif" 
width="10"/></td>
  -                                                                             
                        <td>
  -                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  -                                                                             
                                <input type="submit" name="Change" 
value="Change"/>
  -                                                                             
                        </td>
  -                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  -                                                                             
                </tr>
  -                                                                             
                </form>
  -                                                                             
                <tr>
  -                                                                             
                        <td colspan="5"><img src="sunspotdemoimg-space.gif" 
height="10"/></td>
  -                                                                             
                </tr>
  -                                                                             
        </table>
  -                                                                             
</td>
  -                                                                     </tr>
  -                                                             </table>
  -                                                             <img 
src="sunspotdemoimg-space.gif" height="20"/>
  -                                                     </td>
  -                                             </tr>
  -                                     </tbody>
  -                             </table>
  -                     </td>
  -<!-- /content -->
  -
  -             </tr>
  -     </table>
  -</body>
  -</html>
  -</xsl:template>
  -
  -<!-- Copy all and apply templates -->
  -
  -<xsl:template match="@*|node()">
  -   <xsl:copy>
  -    <xsl:apply-templates select="@*|node()" />
  -   </xsl:copy>
  -  </xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<!-- $Id$ 
  +
  + Description: Portal User Management to HTML. This stylesheet is used
  +              if the user changes his own information.
  +
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +
  +<xsl:template match="configuration">
  +     <xsl:variable name="role" select="normalize-space(role)"/>
  +
  +<html>
  +<head>
  +    <title>Portal User Managemenet</title>
  +</head>
  +<body text="#0B2A51" link="#0B2A51" vlink="#666666" bgColor="#ffffff">
  +<table border="0" cellPadding="0" cellSpacing="0" height="100%" width="100%">
  +     <tr>
  +
  +<!-- menue -->
  +             <td height="100%" noWrap="" width="193" valign="top" 
bgcolor="#cccccc">
  +             <img height="2" src="sunspotdemoimg-space.gif" width="1"/>
  +                     <table bgColor="#ffffff" border="0" cellPadding="0" 
cellSpacing="0" width="100%">
  +                             <tr>
  +                                     <td>
  +                                             <table bgColor="#ffffff" 
border="0" cellPadding="0" cellSpacing="2" width="100%">
  +                                                     <tr>
  +                                                             <td 
bgcolor="#46627A" width="1%">
  +                                                                     <img 
src="sunspotdemoimg-space.gif" width="20" height="40"/>
  +                                                             </td>
  +                                                             <td 
bgcolor="#cccccc">
  +                                                                     <br/>
  +                                                                     <font 
face="Arial, Helvetica, sans-serif" size="2">
  +                                                                             
<b><a target="_top" href="sunspotdemo-portal">
  +                                                                             
        <blockquote>Your Portal</blockquote>
  +                                                                             
</a></b>
  +                                                                     </font>
  +                                                             </td>
  +                                                     </tr>
  +                                             </table>
  +                                     </td>
  +                             </tr>
  +                     </table>
  +             </td>
  +<!-- /menue -->
  +             <td>
  +<!-- content -->
  +                     <table border="0" cellPadding="0" cellSpacing="2" 
height="100%" width="100%">
  +                                     <tbody>
  +                                     <tr>
  +                                             <td><img 
src="sunspotdemoimg-space.gif" width="10"/></td>
  +                                             <td valign="top"><img 
src="sunspotdemoimg-space.gif" height="10"/><br/>
  +                                                     <table cellpadding="2" 
cellspacing="0" border="0" bgcolor="#46627A">
  +                                                             <tr>
  +                                                                     <td>
  +                                                                             
<table cellpadding="0" cellspacing="0" border="0" bgcolor="#ffffff">
  +                                                                             
        <tr>
  +                                                                             
                <td colspan="5"><img src="sunspotdemoimg-space.gif" 
height="10"/></td>
  +                                                                             
        </tr>
  +                                                                             
        <xsl:variable name="user" select="normalize-space(user)"/>
  +                                                                             
        <xsl:variable name="linkurl"><xsl:value-of 
select="normalize-space(uri)"/><xsl:value-of 
select="urlrewrite"/></xsl:variable>
  +                                                                             
        <form method="post" action="{translate(normalize-space($linkurl), ' ', 
'')}">
  +                                                                             
                <input type="hidden" name="authstate" value="chguser"/>
  +                                                                             
        <input type="hidden" name="authrole" value="{$role}"/>
  +                                                                             
                <input type="hidden" name="authuser" 
value="{normalize-space(user)}"/>
  +                                                                             
                <input type="hidden" name="autholdrole" value="{$role}"/>
  +                                                                             
                <input type="hidden" name="autholdpassword" 
value="{normalize-space(uservalues/data/password)}"/>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%">
  +                                                                             
                                <img src="sunspotdemoimg-kast_o.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%" colspan="2">
  +                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  +                                                                             
                                        <b>User Information</b>
  +                                                                             
                                </font>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                </tr>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%">
  +                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  +                                                                             
                                        Title:
  +                                                                             
                                </font>
  +                                                                             
                        </td>
  +                                                                             
                        <td>
  +                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                <select name="title">
  +                                                                             
                                        <option><xsl:if 
test="normalize-space(uservalues/data/title)='Mr.'"><xsl:attribute 
name="selected">true</xsl:attribute></xsl:if>Mr.</option>
  +                                                                             
                                        <option><xsl:if 
test="normalize-space(uservalues/data/title)='Mrs.'"><xsl:attribute 
name="selected">true</xsl:attribute></xsl:if>Mrs.</option>
  +                                                                             
                                </select>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                </tr>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%">
  +                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  +                                                                             
                                        Firstname:
  +                                                                             
                                </font>
  +                                                                             
                        </td>
  +                                                                             
                        <td>
  +                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                <input size="35" type="text" name="firstname" 
value="{normalize-space(uservalues/data/firstname)}"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                </tr>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%">
  +                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  +                                                                             
                                        Lastname:
  +                                                                             
                                </font>
  +                                                                             
                        </td>
  +                                                                             
                        <td>
  +                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                <input size="35" type="text" name="lastname" 
value="{normalize-space(uservalues/data/lastname)}"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                </tr>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%">
  +                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  +                                                                             
                                        Login:
  +                                                                             
                                </font>
  +                                                                             
                        </td>
  +                                                                             
                        <td>
  +                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  +                                                                             
                                        <xsl:value-of 
select="uservalues/data/ID"/>
  +                                                                             
                                        <input type="hidden" name="authid" 
value="{normalize-space(uservalues/data/ID)}"/>
  +                                                                             
                                </font>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                </tr>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif">
  +                                                                             
                                <img src="sunspotdemoimg-space.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%">
  +                                                                             
                                <font face="Arial, Helvetica, sans-serif" 
size="2">
  +                                                                             
                                        Password:
  +                                                                             
                                </font>
  +                                                                             
                        </td>
  +                                                                             
                        <td>
  +                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                <input size="35" type="password" 
name="password" value="{normalize-space(uservalues/data/password)}"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                </tr>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%" background="sunspotdemoimg-line_bg.gif" 
valign="bottom">
  +                                                                             
                                <img src="sunspotdemoimg-line_end.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td colspan="2"><img src="sunspotdemoimg-space.gif" 
height="20"/></td>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                </tr>
  +                                                                             
                <tr>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                        <td width="1%">
  +                                                                             
                                <img src="sunspotdemoimg-kast_url_u.gif"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%"><img src="sunspotdemoimg-space.gif" 
width="10"/></td>
  +                                                                             
                        <td>
  +                                                                             
                                <img src="sunspotdemoimg-space.gif" width="10"/>
  +                                                                             
                                <input type="submit" name="Change" 
value="Change"/>
  +                                                                             
                        </td>
  +                                                                             
                        <td width="1%"><img 
src="sunspotdemoimg-space.gif"/></td>
  +                                                                             
                </tr>
  +                                                                             
                </form>
  +                                                                             
                <tr>
  +                                                                             
                        <td colspan="5"><img src="sunspotdemoimg-space.gif" 
height="10"/></td>
  +                                                                             
                </tr>
  +                                                                             
        </table>
  +                                                                             
</td>
  +                                                                     </tr>
  +                                                             </table>
  +                                                             <img 
src="sunspotdemoimg-space.gif" height="20"/>
  +                                                     </td>
  +                                             </tr>
  +                                     </tbody>
  +                             </table>
  +                     </td>
  +<!-- /content -->
  +
  +             </tr>
  +     </table>
  +</body>
  +</html>
  +</xsl:template>
  +
  +  <!-- Copy all and apply templates -->
  +  <xsl:template match="@*|node()">
  +   <xsl:copy>
  +    <xsl:apply-templates select="@*|node()" />
  +   </xsl:copy>
  +  </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +1 -0      cocoon-2.1/src/blocks/precept/samples/samples.xml
  
  Index: samples.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/samples.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- samples.xml       11 Mar 2003 15:43:27 -0000      1.1
  +++ samples.xml       6 May 2003 14:12:56 -0000       1.2
  @@ -1,4 +1,5 @@
   <?xml version="1.0" encoding="iso-8859-1"?>
  +
   <samples xmlns:xlink="http://www.w3.org/1999/xlink"; name="precept block">
   
    <group name="Main examples page.">
  
  
  
  1.2       +3 -3      cocoon-2.1/src/blocks/precept/samples/example1/README
  
  Index: README
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/README,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- README    9 Mar 2003 00:05:45 -0000       1.1
  +++ README    6 May 2003 14:12:56 -0000       1.2
  @@ -1,3 +1,3 @@
  -This example always inserts the full instance into the SAX stream and uses
  -the different stylesheets to display only parts of it.
  -
  +This example always inserts the full instance into the SAX stream and uses
  +the different stylesheets to display only parts of it.
  +
  
  
  
  1.2       +9 -9      cocoon-2.1/src/blocks/precept/samples/example1/error.xml
  
  Index: error.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/error.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- error.xml 9 Mar 2003 00:05:45 -0000       1.1
  +++ error.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,9 +1,9 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<root xmlns:f="http://www.dff.st/dform";
  -      xmlns:r="http://www.dff.st/drender";
  -      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  -      >
  -
  -   Sorry, submit failed
  -   
  -</root>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +<root xmlns:f="http://www.dff.st/dform";
  +      xmlns:r="http://www.dff.st/drender";
  +      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  +      >
  +
  +   Sorry, submit failed
  +   
  +</root>
  
  
  
  1.2       +17 -18    cocoon-2.1/src/blocks/precept/samples/example1/error.xsl
  
  Index: error.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/error.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- error.xsl 9 Mar 2003 00:05:45 -0000       1.1
  +++ error.xsl 6 May 2003 14:12:56 -0000       1.2
  @@ -1,18 +1,17 @@
  -<?xml version="1.0"?>
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  -                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -
  -
  -   <xsl:template match="root">
  -     <html><body><xsl:apply-templates/></body></html>
  -   </xsl:template>
  -      
  -   <xsl:template match="/|*">
  -      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -</xsl:stylesheet>
  -
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +   <xsl:template match="root">
  +     <html><body><xsl:apply-templates/></body></html>
  +   </xsl:template>
  +      
  +   <xsl:template match="/|*">
  +      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +</xsl:stylesheet>
  +
  
  
  
  1.2       +9 -9      cocoon-2.1/src/blocks/precept/samples/example1/thanks.xml
  
  Index: thanks.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/thanks.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- thanks.xml        9 Mar 2003 00:05:45 -0000       1.1
  +++ thanks.xml        6 May 2003 14:12:56 -0000       1.2
  @@ -1,9 +1,9 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<root xmlns:f="http://www.dff.st/dform";
  -      xmlns:r="http://www.dff.st/drender";
  -      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  -      >
  -
  -   Successfully submitted your data!
  -   
  -</root>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +<root xmlns:f="http://www.dff.st/dform";
  +      xmlns:r="http://www.dff.st/drender";
  +      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  +      >
  +
  +   Successfully submitted your data!
  +   
  +</root>
  
  
  
  1.2       +17 -18    cocoon-2.1/src/blocks/precept/samples/example1/thanks.xsl
  
  Index: thanks.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/thanks.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- thanks.xsl        9 Mar 2003 00:05:45 -0000       1.1
  +++ thanks.xsl        6 May 2003 14:12:56 -0000       1.2
  @@ -1,18 +1,17 @@
  -<?xml version="1.0"?>
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  -                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -
  -
  -   <xsl:template match="root">
  -     <html><body><xsl:apply-templates/></body></html>
  -   </xsl:template>
  -      
  -   <xsl:template match="/|*">
  -      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -</xsl:stylesheet>
  -
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +   <xsl:template match="root">
  +     <html><body><xsl:apply-templates/></body></html>
  +   </xsl:template>
  +      
  +   <xsl:template match="/|*">
  +      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +</xsl:stylesheet>
  +
  
  
  
  1.2       +33 -33    cocoon-2.1/src/blocks/precept/samples/example1/view1.xml
  
  Index: view1.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/view1.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view1.xml 9 Mar 2003 00:05:45 -0000       1.1
  +++ view1.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,33 +1,33 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<root xmlns:f="http://www.dff.st/dform";
  -      xmlns:r="http://www.dff.st/drender";
  -      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  -      >
  -
  -   <i:insert-instance id="form-feedback"/>
  -   
  -   <!--
  -   <r:render>
  -      <f:label r:x="108" r:y="77" r:w="181" r:h="108">Name</f:label>
  -      <f:textbox ref="cocoon-user/name" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  -      <f:textbox ref="cocoon-user/surname" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  -      <f:textbox ref="cocoon-user/email" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  -      <f:textbox ref="cocoon-user/age" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  -      <f:textbox ref="cocoon-user/city" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  -      <f:textbox ref="cocoon-user/zip" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  -      <f:textbox ref="cocoon-user/number-of-projects" r:x="108" r:y="77" 
r:w="181" r:h="108"/>
  -
  -      <f:selectOne ref="cocoon-user/position" 
preferred-presentation="combobox" r:x="108" r:y="77" r:w="181" r:h="108"/>
  -
  -      <f:selectMany ref="cocoon-user/os" preferred-presentation="listbox" 
r:x="108" r:y="77" r:w="181" r:h="108"/>
  -
  -      <f:selectBoolean ref="cocoon-user/like-it" 
preferred-presentation="checkbox" r:x="108" r:y="77" r:w="181" r:h="108"/>
  -
  -      <f:button method="next" r:x="108" r:y="77" r:w="181" r:h="108">
  -         <f:caption>Next Page</f:caption>
  -         <f:hint>Click here to get to next page</f:hint>
  -      </f:button>
  -
  -   </r:render>
  -   -->
  -</root>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<root xmlns:f="http://www.dff.st/dform";
  +      xmlns:r="http://www.dff.st/drender";
  +      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +
  +   <i:insert-instance id="form-feedback"/>
  +   
  +   <!--
  +   <r:render>
  +      <f:label r:x="108" r:y="77" r:w="181" r:h="108">Name</f:label>
  +      <f:textbox ref="cocoon-user/name" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  +      <f:textbox ref="cocoon-user/surname" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  +      <f:textbox ref="cocoon-user/email" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  +      <f:textbox ref="cocoon-user/age" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  +      <f:textbox ref="cocoon-user/city" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  +      <f:textbox ref="cocoon-user/zip" r:x="108" r:y="77" r:w="181" 
r:h="108"/>
  +      <f:textbox ref="cocoon-user/number-of-projects" r:x="108" r:y="77" 
r:w="181" r:h="108"/>
  +
  +      <f:selectOne ref="cocoon-user/position" 
preferred-presentation="combobox" r:x="108" r:y="77" r:w="181" r:h="108"/>
  +
  +      <f:selectMany ref="cocoon-user/os" preferred-presentation="listbox" 
r:x="108" r:y="77" r:w="181" r:h="108"/>
  +
  +      <f:selectBoolean ref="cocoon-user/like-it" 
preferred-presentation="checkbox" r:x="108" r:y="77" r:w="181" r:h="108"/>
  +
  +      <f:button method="next" r:x="108" r:y="77" r:w="181" r:h="108">
  +         <f:caption>Next Page</f:caption>
  +         <f:hint>Click here to get to next page</f:hint>
  +      </f:button>
  +
  +   </r:render>
  +   -->
  +</root>
  
  
  
  1.2       +42 -44    cocoon-2.1/src/blocks/precept/samples/example1/view1.xsl
  
  Index: view1.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/view1.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view1.xsl 9 Mar 2003 00:05:45 -0000       1.1
  +++ view1.xsl 6 May 2003 14:12:56 -0000       1.2
  @@ -1,44 +1,42 @@
  -<?xml version="1.0"?>
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  -                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -
  -
  -   <xsl:template match="root">
  -     <html><body><form 
method="POST"><xsl:apply-templates/></form></body></html>
  -   </xsl:template>
  -   
  -   <xsl:template match="cocoon-installation">
  -     <table border="1">
  -     <tr>
  -       <td>Firstname</td>
  -       <td><input type="textbox" name="cocoon-installation/user/firstname" 
value="{user/firstname/text()}"/></td>
  -       <td><xsl:apply-templates select="user/firstname/constraint"/></td>
  -     </tr>
  -     <tr>
  -       <td>Lastname</td>
  -       <td><input type="textbox" name="cocoon-installation/user/lastname" 
value="{user/lastname/text()}"/></td>
  -       <td><xsl:apply-templates select="user/lastname/constraint"/></td>
  -     </tr>
  -     <tr>
  -       <td>Email</td>
  -       <td><input type="textbox" name="cocoon-installation/user/email" 
value="{user/email/text()}"/></td>
  -       <td><xsl:apply-templates select="user/email/constraint"/></td>
  -     </tr>
  -     <tr>
  -       <td>Age</td>
  -       <td><input type="textbox" name="cocoon-installation/user/age" 
value="{user/age/text()}"/></td>
  -       <td><xsl:apply-templates select="user/age/constraint"/></td>
  -     </tr>
  -     </table>
  -     <input type="submit" name="cocoon-method-next2" value="Next Page"/>
  -   </xsl:template>
  -   
  -   <xsl:template match="/|*">
  -      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -</xsl:stylesheet>
  -
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +   <xsl:template match="root">
  +     <html><body><form 
method="POST"><xsl:apply-templates/></form></body></html>
  +   </xsl:template>
  +   
  +   <xsl:template match="cocoon-installation">
  +     <table border="1">
  +     <tr>
  +       <td>Firstname</td>
  +       <td><input type="textbox" name="cocoon-installation/user/firstname" 
value="{user/firstname/text()}"/></td>
  +       <td><xsl:apply-templates select="user/firstname/constraint"/></td>
  +     </tr>
  +     <tr>
  +       <td>Lastname</td>
  +       <td><input type="textbox" name="cocoon-installation/user/lastname" 
value="{user/lastname/text()}"/></td>
  +       <td><xsl:apply-templates select="user/lastname/constraint"/></td>
  +     </tr>
  +     <tr>
  +       <td>Email</td>
  +       <td><input type="textbox" name="cocoon-installation/user/email" 
value="{user/email/text()}"/></td>
  +       <td><xsl:apply-templates select="user/email/constraint"/></td>
  +     </tr>
  +     <tr>
  +       <td>Age</td>
  +       <td><input type="textbox" name="cocoon-installation/user/age" 
value="{user/age/text()}"/></td>
  +       <td><xsl:apply-templates select="user/age/constraint"/></td>
  +     </tr>
  +     </table>
  +     <input type="submit" name="cocoon-method-next2" value="Next Page"/>
  +   </xsl:template>
  +   
  +   <xsl:template match="/|*">
  +      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +</xsl:stylesheet>
  
  
  
  1.2       +9 -9      cocoon-2.1/src/blocks/precept/samples/example1/view2.xml
  
  Index: view2.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/view2.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view2.xml 9 Mar 2003 00:05:46 -0000       1.1
  +++ view2.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,9 +1,9 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<root xmlns:f="http://www.dff.st/dform";
  -      xmlns:r="http://www.dff.st/drender";
  -      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  -      >
  -
  -   <i:insert-instance id="form-feedback"/>
  -   
  -</root>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<root xmlns:f="http://www.dff.st/dform";
  +      xmlns:r="http://www.dff.st/drender";
  +      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +
  +   <i:insert-instance id="form-feedback"/>
  +   
  +</root>
  
  
  
  1.2       +41 -42    cocoon-2.1/src/blocks/precept/samples/example1/view2.xsl
  
  Index: view2.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/view2.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view2.xsl 9 Mar 2003 00:05:46 -0000       1.1
  +++ view2.xsl 6 May 2003 14:12:56 -0000       1.2
  @@ -1,42 +1,41 @@
  -<?xml version="1.0"?>
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  -                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -
  -
  -   <xsl:template match="root">
  -     <html><body><form 
method="POST"><xsl:apply-templates/></form></body></html>
  -   </xsl:template>
  -   
  -   <xsl:template match="cocoon-installation">
  -     <table border="1">
  -     <tr>
  -       <td>Installation number</td>
  -       <td><input type="textbox" name="cocoon-installation/number" 
value="{number/text()}"/></td>
  -     </tr>
  -     <tr>
  -       <td>Live URL</td>
  -       <td><input type="textbox" name="cocoon-installation/live-url" 
value="{live-url/text()}"/></td>
  -     </tr>
  -     <tr>
  -       <td>Publish this URL</td>
  -       <td><input type="checkbox" name="cocoon-installation/publish" 
value="true">
  -              <xsl:if test="publish/text() = 'true'">
  -                <xsl:attribute name="checked"/>
  -              </xsl:if>
  -           </input>
  -       </td>
  -     </tr>
  -     </table>
  -     <input type="submit" name="cocoon-method-prev1" value="Prev Page"/>
  -     <input type="submit" name="cocoon-method-next3" value="Next Page"/>
  -   </xsl:template>
  -   
  -   <xsl:template match="/|*">
  -      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -</xsl:stylesheet>
  -
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +   <xsl:template match="root">
  +     <html><body><form 
method="POST"><xsl:apply-templates/></form></body></html>
  +   </xsl:template>
  +   
  +   <xsl:template match="cocoon-installation">
  +     <table border="1">
  +     <tr>
  +       <td>Installation number</td>
  +       <td><input type="textbox" name="cocoon-installation/number" 
value="{number/text()}"/></td>
  +     </tr>
  +     <tr>
  +       <td>Live URL</td>
  +       <td><input type="textbox" name="cocoon-installation/live-url" 
value="{live-url/text()}"/></td>
  +     </tr>
  +     <tr>
  +       <td>Publish this URL</td>
  +       <td><input type="checkbox" name="cocoon-installation/publish" 
value="true">
  +              <xsl:if test="publish/text() = 'true'">
  +                <xsl:attribute name="checked"/>
  +              </xsl:if>
  +           </input>
  +       </td>
  +     </tr>
  +     </table>
  +     <input type="submit" name="cocoon-method-prev1" value="Prev Page"/>
  +     <input type="submit" name="cocoon-method-next3" value="Next Page"/>
  +   </xsl:template>
  +   
  +   <xsl:template match="/|*">
  +      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +</xsl:stylesheet>
  +
  
  
  
  1.2       +9 -9      cocoon-2.1/src/blocks/precept/samples/example1/view3.xml
  
  Index: view3.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/view3.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view3.xml 9 Mar 2003 00:05:46 -0000       1.1
  +++ view3.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,9 +1,9 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<root xmlns:f="http://www.dff.st/dform";
  -      xmlns:r="http://www.dff.st/drender";
  -      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  -      >
  -
  -   <i:insert-instance id="form-feedback"/>
  -   
  -</root>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<root xmlns:f="http://www.dff.st/dform";
  +      xmlns:r="http://www.dff.st/drender";
  +      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +
  +   <i:insert-instance id="form-feedback"/>
  +   
  +</root>
  
  
  
  1.2       +65 -66    cocoon-2.1/src/blocks/precept/samples/example1/view3.xsl
  
  Index: view3.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/view3.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view3.xsl 9 Mar 2003 00:05:46 -0000       1.1
  +++ view3.xsl 6 May 2003 14:12:56 -0000       1.2
  @@ -1,66 +1,65 @@
  -<?xml version="1.0"?>
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  -                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -
  -
  -   <xsl:template match="root">
  -     <html><body><form 
method="POST"><xsl:apply-templates/></form></body></html>
  -   </xsl:template>
  -   
  -   <xsl:template match="cocoon-installation">
  -     <table border="1">
  -     <tr>
  -       <td>os</td>
  -       <td>
  -          <select name="cocoon-installation/system/os"> 
  -            <option value="linux">
  -              <xsl:if test="system/os = 'linux'">
  -                <xsl:attribute name="selected"/>
  -              </xsl:if>
  -              Linux
  -            </option>
  -            <option value="w2k">
  -              <xsl:if test="system/os = 'w2k'">
  -                <xsl:attribute name="selected"/>
  -              </xsl:if>
  -              Windows 2k
  -            </option>
  -          </select>          
  -       </td>
  -       <td><xsl:apply-templates select="system/os/constraint"/></td>
  -     </tr>
  -     <tr>
  -       <td>processor</td>
  -       <td><input type="textbox" name="cocoon-installation/system/processor" 
value="{system/processor/text()}"/></td>
  -       <td><xsl:apply-templates select="system/processor/constraint"/></td>
  -     </tr>
  -     <tr>
  -       <td>ram</td>
  -       <td><input type="textbox" name="cocoon-installation/system/ram" 
value="{system/ram/text()}"/></td>
  -       <td><xsl:apply-templates select="system/ram/constraint"/></td>
  -     </tr>
  -     <tr>
  -       <td>servlet engine</td>
  -       <td><input type="textbox" 
name="cocoon-installation/system/servlet-engine" 
value="{system/servlet-engine/text()}"/></td>
  -       <td><xsl:apply-templates 
select="system/servlet-engine/constraint"/></td>
  -     </tr>
  -     <tr>
  -       <td>java version</td>
  -       <td><input type="textbox" 
name="cocoon-installation/system/java-version" 
value="{system/java-version/text()}"/></td>
  -       <td><xsl:apply-templates 
select="system/java-version/constraint"/></td>
  -     </tr>
  -
  -     </table>
  -     <input type="submit" name="cocoon-action-prev2" value="Prev Page"/>     
  -     <input type="submit" name="cocoon-action-next4" value="Next Page"/>     
  -   </xsl:template>
  -   
  -   <xsl:template match="/|*">
  -      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -</xsl:stylesheet>
  -
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +   <xsl:template match="root">
  +     <html><body><form 
method="POST"><xsl:apply-templates/></form></body></html>
  +   </xsl:template>
  +   
  +   <xsl:template match="cocoon-installation">
  +     <table border="1">
  +     <tr>
  +       <td>os</td>
  +       <td>
  +          <select name="cocoon-installation/system/os"> 
  +            <option value="linux">
  +              <xsl:if test="system/os = 'linux'">
  +                <xsl:attribute name="selected"/>
  +              </xsl:if>
  +              Linux
  +            </option>
  +            <option value="w2k">
  +              <xsl:if test="system/os = 'w2k'">
  +                <xsl:attribute name="selected"/>
  +              </xsl:if>
  +              Windows 2k
  +            </option>
  +          </select>          
  +       </td>
  +       <td><xsl:apply-templates select="system/os/constraint"/></td>
  +     </tr>
  +     <tr>
  +       <td>processor</td>
  +       <td><input type="textbox" name="cocoon-installation/system/processor" 
value="{system/processor/text()}"/></td>
  +       <td><xsl:apply-templates select="system/processor/constraint"/></td>
  +     </tr>
  +     <tr>
  +       <td>ram</td>
  +       <td><input type="textbox" name="cocoon-installation/system/ram" 
value="{system/ram/text()}"/></td>
  +       <td><xsl:apply-templates select="system/ram/constraint"/></td>
  +     </tr>
  +     <tr>
  +       <td>servlet engine</td>
  +       <td><input type="textbox" 
name="cocoon-installation/system/servlet-engine" 
value="{system/servlet-engine/text()}"/></td>
  +       <td><xsl:apply-templates 
select="system/servlet-engine/constraint"/></td>
  +     </tr>
  +     <tr>
  +       <td>java version</td>
  +       <td><input type="textbox" 
name="cocoon-installation/system/java-version" 
value="{system/java-version/text()}"/></td>
  +       <td><xsl:apply-templates 
select="system/java-version/constraint"/></td>
  +     </tr>
  +
  +     </table>
  +     <input type="submit" name="cocoon-action-prev2" value="Prev Page"/>     
  +     <input type="submit" name="cocoon-action-next4" value="Next Page"/>     
  +   </xsl:template>
  +   
  +   <xsl:template match="/|*">
  +      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +</xsl:stylesheet>
  +
  
  
  
  1.2       +9 -9      cocoon-2.1/src/blocks/precept/samples/example1/view4.xml
  
  Index: view4.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/view4.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view4.xml 9 Mar 2003 00:05:46 -0000       1.1
  +++ view4.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,9 +1,9 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<root xmlns:f="http://www.dff.st/dform";
  -      xmlns:r="http://www.dff.st/drender";
  -      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  -      >
  -
  -   <i:insert-instance id="form-feedback"/>
  -   
  -</root>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<root xmlns:f="http://www.dff.st/dform";
  +      xmlns:r="http://www.dff.st/drender";
  +      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +
  +   <i:insert-instance id="form-feedback"/>
  +   
  +</root>
  
  
  
  1.2       +77 -78    cocoon-2.1/src/blocks/precept/samples/example1/view4.xsl
  
  Index: view4.xsl
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example1/view4.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view4.xsl 9 Mar 2003 00:05:46 -0000       1.1
  +++ view4.xsl 6 May 2003 14:12:56 -0000       1.2
  @@ -1,78 +1,77 @@
  -<?xml version="1.0"?>
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  -                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -
  -
  -   <xsl:template match="root">
  -     <html><body><form 
method="POST"><xsl:apply-templates/></form></body></html>
  -   </xsl:template>
  -   
  -   <xsl:template match="cocoon-installation">
  -     <table border="1">
  -
  -     <tr>
  -       <td>Firstname</td>
  -       <td><xsl:value-of select="user/firstname/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>Lastname</td>
  -       <td><xsl:value-of select="user/lastname/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>Email</td>
  -       <td><xsl:value-of select="user/email/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>Age</td>
  -       <td><xsl:value-of select="user/age/text()"/></td>
  -     </tr>
  -
  -     <tr>
  -       <td>Installation number</td>
  -       <td><xsl:value-of select="number/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>Live URL</td>
  -       <td><xsl:value-of select="live-url/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>Please publish it as cocoon live-site example</td>
  -       <td><xsl:value-of select="publish/text()"/></td>
  -     </tr>
  -
  -     <tr>
  -       <td>os</td>
  -       <td><xsl:value-of select="system/os/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>processor</td>
  -       <td><xsl:value-of select="system/processor/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>ram</td>
  -       <td><xsl:value-of select="system/ram/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>servlet engine</td>
  -       <td><xsl:value-of select="system/servlet-engine/text()"/></td>
  -     </tr>
  -     <tr>
  -       <td>java version</td>
  -       <td><xsl:value-of select="system/java-version/text()"/></td>
  -     </tr>
  -
  -
  -     </table>
  -     <input type="submit" name="cocoon-action-prev3" value="Prev Page"/>     
  -     <input type="submit" name="cocoon-action-submit" value="Submit"/>     
  -   </xsl:template>
  -   
  -   <xsl:template match="/|*">
  -      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -</xsl:stylesheet>
  -
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +                              
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +   <xsl:template match="root">
  +     <html><body><form 
method="POST"><xsl:apply-templates/></form></body></html>
  +   </xsl:template>
  +   
  +   <xsl:template match="cocoon-installation">
  +     <table border="1">
  +
  +     <tr>
  +       <td>Firstname</td>
  +       <td><xsl:value-of select="user/firstname/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>Lastname</td>
  +       <td><xsl:value-of select="user/lastname/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>Email</td>
  +       <td><xsl:value-of select="user/email/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>Age</td>
  +       <td><xsl:value-of select="user/age/text()"/></td>
  +     </tr>
  +
  +     <tr>
  +       <td>Installation number</td>
  +       <td><xsl:value-of select="number/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>Live URL</td>
  +       <td><xsl:value-of select="live-url/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>Please publish it as cocoon live-site example</td>
  +       <td><xsl:value-of select="publish/text()"/></td>
  +     </tr>
  +
  +     <tr>
  +       <td>os</td>
  +       <td><xsl:value-of select="system/os/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>processor</td>
  +       <td><xsl:value-of select="system/processor/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>ram</td>
  +       <td><xsl:value-of select="system/ram/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>servlet engine</td>
  +       <td><xsl:value-of select="system/servlet-engine/text()"/></td>
  +     </tr>
  +     <tr>
  +       <td>java version</td>
  +       <td><xsl:value-of select="system/java-version/text()"/></td>
  +     </tr>
  +
  +
  +     </table>
  +     <input type="submit" name="cocoon-action-prev3" value="Prev Page"/>     
  +     <input type="submit" name="cocoon-action-submit" value="Submit"/>     
  +   </xsl:template>
  +   
  +   <xsl:template match="/|*">
  +      <xsl:copy><xsl:copy-of select="@*"/><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +</xsl:stylesheet>
  +
  
  
  
  1.2       +9 -9      cocoon-2.1/src/blocks/precept/samples/example2/error.xml
  
  Index: error.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example2/error.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- error.xml 9 Mar 2003 00:05:47 -0000       1.1
  +++ error.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,9 +1,9 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<root xmlns:f="http://www.dff.st/dform";
  -      xmlns:r="http://www.dff.st/drender";
  -      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  -      >
  -
  -   Sorry, submit failed
  -   
  -</root>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<root xmlns:f="http://www.dff.st/dform";
  +      xmlns:r="http://www.dff.st/drender";
  +      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +
  +   Sorry, submit failed
  +   
  +</root>
  
  
  
  1.2       +73 -72    cocoon-2.1/src/blocks/precept/samples/example2/i2html.xsl
  
  Index: i2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/precept/samples/example2/i2html.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- i2html.xsl        9 Mar 2003 00:05:47 -0000       1.1
  +++ i2html.xsl        6 May 2003 14:12:56 -0000       1.2
  @@ -1,72 +1,73 @@
  -<?xml version="1.0" encoding="iso-8859-1" ?>
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -   <xsl:template match="/">
  -      <html>
  -         <body>
  -         <form method="POST">
  -            <xsl:apply-templates />
  -         </form>
  -         </body>
  -      </html>
  -   </xsl:template>
  -
  -   <xsl:template match="rows">
  -       <table border="1">
  -           <xsl:apply-templates/>
  -       </table>
  -   </xsl:template>
  -
  -   <xsl:template match="row">
  -       <tr><td><xsl:apply-templates 
select="label"/></td><td><xsl:apply-templates select="i:*"/></td></tr>
  -   </xsl:template>
  -
  -   <xsl:template match="i:output">
  -      [<xsl:value-of select="i:value/text()"/>]
  -   </xsl:template>
  -
  -   <xsl:template match="i:textbox">
  -      <input name="[EMAIL PROTECTED]" type="textbox" 
value="{i:value/text()}" />
  -   </xsl:template>
  -
  -   <xsl:template match="i:password">
  -      <input name="[EMAIL PROTECTED]" type="password" 
value="{i:value/text()}" />
  -   </xsl:template>
  -
  -   <xsl:template match="i:selectBoolean">
  -      <input name="[EMAIL PROTECTED]" type="checkbox" value="true">
  -        <xsl:if test="i:value/text() = 'true'">
  -          <xsl:attribute name="checked"/>
  -        </xsl:if>
  -      </input>
  -   </xsl:template>
  -
  -   <xsl:template match="i:selectOne">
  -     <select name="[EMAIL PROTECTED]">
  -       <xsl:variable name="selected" select="i:value/text()"/>
  -       <xsl:for-each select="[EMAIL PROTECTED] = 'choice']/choice">
  -         <option value="[EMAIL PROTECTED]">
  -           <xsl:if test="$selected = @value">
  -             <xsl:attribute name="selected"/>
  -           </xsl:if>
  -           <xsl:value-of select="."/>
  -         </option>
  -       </xsl:for-each>
  -     </select>
  -   </xsl:template>
  -
  -   <xsl:template match="i:selectMany">
  -   </xsl:template>
  -
  -   <xsl:template match="i:button">
  -      <input name="[EMAIL PROTECTED]" type="submit" 
value="{i:caption/text()}" />
  -   </xsl:template>
  -
  -   <xsl:template match="*">
  -      <xsl:copy><xsl:copy-of select="@*" /><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -</xsl:stylesheet>
  -
  +<?xml version="1.0" encoding="iso-8859-1" ?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +   <xsl:template match="/">
  +      <html>
  +         <body>
  +         <form method="POST">
  +            <xsl:apply-templates />
  +         </form>
  +         </body>
  +      </html>
  +   </xsl:template>
  +
  +   <xsl:template match="rows">
  +       <table border="1">
  +           <xsl:apply-templates/>
  +       </table>
  +   </xsl:template>
  +
  +   <xsl:template match="row">
  +       <tr><td><xsl:apply-templates 
select="label"/></td><td><xsl:apply-templates select="i:*"/></td></tr>
  +   </xsl:template>
  +
  +   <xsl:template match="i:output">
  +      [<xsl:value-of select="i:value/text()"/>]
  +   </xsl:template>
  +
  +   <xsl:template match="i:textbox">
  +      <input name="[EMAIL PROTECTED]" type="textbox" 
value="{i:value/text()}" />
  +   </xsl:template>
  +
  +   <xsl:template match="i:password">
  +      <input name="[EMAIL PROTECTED]" type="password" 
value="{i:value/text()}" />
  +   </xsl:template>
  +
  +   <xsl:template match="i:selectBoolean">
  +      <input name="[EMAIL PROTECTED]" type="checkbox" value="true">
  +        <xsl:if test="i:value/text() = 'true'">
  +          <xsl:attribute name="checked"/>
  +        </xsl:if>
  +      </input>
  +   </xsl:template>
  +
  +   <xsl:template match="i:selectOne">
  +     <select name="[EMAIL PROTECTED]">
  +       <xsl:variable name="selected" select="i:value/text()"/>
  +       <xsl:for-each select="[EMAIL PROTECTED] = 'choice']/choice">
  +         <option value="[EMAIL PROTECTED]">
  +           <xsl:if test="$selected = @value">
  +             <xsl:attribute name="selected"/>
  +           </xsl:if>
  +           <xsl:value-of select="."/>
  +         </option>
  +       </xsl:for-each>
  +     </select>
  +   </xsl:template>
  +
  +   <xsl:template match="i:selectMany">
  +   </xsl:template>
  +
  +   <xsl:template match="i:button">
  +      <input name="[EMAIL PROTECTED]" type="submit" 
value="{i:caption/text()}" />
  +   </xsl:template>
  +
  +   <xsl:template match="*">
  +      <xsl:copy><xsl:copy-of select="@*" /><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +</xsl:stylesheet>
  +
  
  
  
  1.2       +9 -9      cocoon-2.1/src/blocks/precept/samples/example2/thanks.xml
  
  Index: thanks.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/precept/samples/example2/thanks.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- thanks.xml        9 Mar 2003 00:05:47 -0000       1.1
  +++ thanks.xml        6 May 2003 14:12:56 -0000       1.2
  @@ -1,9 +1,9 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<root xmlns:f="http://www.dff.st/dform";
  -      xmlns:r="http://www.dff.st/drender";
  -      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";
  -      >
  -
  -   Successfully submitted your data!
  -   
  -</root>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<root xmlns:f="http://www.dff.st/dform";
  +      xmlns:r="http://www.dff.st/drender";
  +      xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +
  +   Successfully submitted your data!
  +   
  +</root>
  
  
  
  1.2       +21 -20    cocoon-2.1/src/blocks/precept/samples/example2/view1.xml
  
  Index: view1.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example2/view1.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view1.xml 9 Mar 2003 00:05:47 -0000       1.1
  +++ view1.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,20 +1,21 @@
  -<?xml version="1.0" ?>
  -<root xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -  <errors>
  -    <i:insert-violations/>
  -  </errors>
  -
  -  <rows>
  -    <i:instance id="form-feedback">
  -      <row><label>Firstname</label><i:textbox 
ref="cocoon-installation/user/firstname"/></row>
  -      <row><label>Lastname</label><i:textbox 
ref="cocoon-installation/user/lastname"/></row>
  -      <row><label>Email</label><i:textbox 
ref="cocoon-installation/user/email"/></row>
  -    </i:instance>
  -
  -    <row><label>Age</label><i:textbox ref="cocoon-installation/user/age" 
instance="form-feedback"/></row>
  -  </rows>
  -
  -  <i:button method="next2">
  -    <i:caption>Next</i:caption>
  -  </i:button>
  -</root>
  +<?xml version="1.0" ?>
  +
  +<root xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +  <errors>
  +    <i:insert-violations/>
  +  </errors>
  +
  +  <rows>
  +    <i:instance id="form-feedback">
  +      <row><label>Firstname</label><i:textbox 
ref="cocoon-installation/user/firstname"/></row>
  +      <row><label>Lastname</label><i:textbox 
ref="cocoon-installation/user/lastname"/></row>
  +      <row><label>Email</label><i:textbox 
ref="cocoon-installation/user/email"/></row>
  +    </i:instance>
  +
  +    <row><label>Age</label><i:textbox ref="cocoon-installation/user/age" 
instance="form-feedback"/></row>
  +  </rows>
  +
  +  <i:button method="next2">
  +    <i:caption>Next</i:caption>
  +  </i:button>
  +</root>
  
  
  
  1.2       +23 -22    cocoon-2.1/src/blocks/precept/samples/example2/view2.xml
  
  Index: view2.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example2/view2.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view2.xml 9 Mar 2003 00:05:47 -0000       1.1
  +++ view2.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,22 +1,23 @@
  -<?xml version="1.0" ?>
  -<root xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -  <errors>
  -    <i:insert-violations/>
  -  </errors>
  -
  -  <rows>
  -    <i:instance id="form-feedback">
  -      <row><label>Number of installations</label><i:textbox 
ref="cocoon-installation/number"/></row>
  -      <row><label>Live URL</label><i:textbox 
ref="cocoon-installation/live-url"/></row>
  -      <row><label>Publish</label><i:selectBoolean 
ref="cocoon-installation/publish"/></row>
  -    </i:instance>
  -  </rows>
  -
  -  <i:button method="prev1">
  -    <i:caption>Prev</i:caption>
  -  </i:button>
  -
  -  <i:button method="next3">
  -    <i:caption>Next</i:caption>
  -  </i:button>
  -</root>
  +<?xml version="1.0" ?>
  +
  +<root xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +  <errors>
  +    <i:insert-violations/>
  +  </errors>
  +
  +  <rows>
  +    <i:instance id="form-feedback">
  +      <row><label>Number of installations</label><i:textbox 
ref="cocoon-installation/number"/></row>
  +      <row><label>Live URL</label><i:textbox 
ref="cocoon-installation/live-url"/></row>
  +      <row><label>Publish</label><i:selectBoolean 
ref="cocoon-installation/publish"/></row>
  +    </i:instance>
  +  </rows>
  +
  +  <i:button method="prev1">
  +    <i:caption>Prev</i:caption>
  +  </i:button>
  +
  +  <i:button method="next3">
  +    <i:caption>Next</i:caption>
  +  </i:button>
  +</root>
  
  
  
  1.2       +25 -24    cocoon-2.1/src/blocks/precept/samples/example2/view3.xml
  
  Index: view3.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example2/view3.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view3.xml 9 Mar 2003 00:05:48 -0000       1.1
  +++ view3.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,24 +1,25 @@
  -<?xml version="1.0" ?>
  -<root xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -  <errors>
  -    <i:insert-violations/>
  -  </errors>
  -
  -  <rows>
  -    <i:instance id="form-feedback">
  -      <row><label>OS</label><i:selectOne 
ref="cocoon-installation/system/os"/></row>
  -      <row><label>Processor</label><i:selectOne 
ref="cocoon-installation/system/processor"/></row>
  -      <row><label>RAM</label><i:textbox 
ref="cocoon-installation/system/ram"/></row>
  -      <row><label>Servlet Engine</label><i:selectOne 
ref="cocoon-installation/system/servlet-engine"/></row>
  -      <row><label>Java Version</label><i:selectOne 
ref="cocoon-installation/system/java-version"/></row>
  -    </i:instance>
  -  </rows>
  -
  -  <i:button method="prev2">
  -    <i:caption>Prev</i:caption>
  -  </i:button>
  -
  -  <i:button method="next4">
  -    <i:caption>Next</i:caption>
  -  </i:button>
  -</root>
  +<?xml version="1.0" ?>
  +
  +<root xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +  <errors>
  +    <i:insert-violations/>
  +  </errors>
  +
  +  <rows>
  +    <i:instance id="form-feedback">
  +      <row><label>OS</label><i:selectOne 
ref="cocoon-installation/system/os"/></row>
  +      <row><label>Processor</label><i:selectOne 
ref="cocoon-installation/system/processor"/></row>
  +      <row><label>RAM</label><i:textbox 
ref="cocoon-installation/system/ram"/></row>
  +      <row><label>Servlet Engine</label><i:selectOne 
ref="cocoon-installation/system/servlet-engine"/></row>
  +      <row><label>Java Version</label><i:selectOne 
ref="cocoon-installation/system/java-version"/></row>
  +    </i:instance>
  +  </rows>
  +
  +  <i:button method="prev2">
  +    <i:caption>Prev</i:caption>
  +  </i:button>
  +
  +  <i:button method="next4">
  +    <i:caption>Next</i:caption>
  +  </i:button>
  +</root>
  
  
  
  1.2       +32 -31    cocoon-2.1/src/blocks/precept/samples/example2/view4.xml
  
  Index: view4.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/precept/samples/example2/view4.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- view4.xml 9 Mar 2003 00:05:48 -0000       1.1
  +++ view4.xml 6 May 2003 14:12:56 -0000       1.2
  @@ -1,31 +1,32 @@
  -<?xml version="1.0" ?>
  -<root xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  -  <errors>
  -    <i:insert-violations/>
  -  </errors>
  -
  -  <rows>
  -    <i:instance id="form-feedback">
  -      <row><label>Firstname</label><i:output 
ref="cocoon-installation/user/firstname"/></row>
  -      <row><label>Lastname</label><i:output 
ref="cocoon-installation/user/lastname"/></row>
  -      <row><label>Email</label><i:output 
ref="cocoon-installation/user/email"/></row>
  -
  -      <row><label>Number of installations</label><i:output 
ref="cocoon-installation/number"/></row>
  -      <row><label>Live URL</label><i:output 
ref="cocoon-installation/live-url"/></row>
  -      <row><label>Publish</label><i:output 
ref="cocoon-installation/publish"/></row>
  -
  -      <row><label>OS</label><i:output 
ref="cocoon-installation/system/os"/></row>
  -      <row><label>Processor</label><i:output 
ref="cocoon-installation/system/processor"/></row>
  -      <row><label>RAM</label><i:output 
ref="cocoon-installation/system/ram"/></row>
  -      <row><label>Servlet Engine</label><i:output 
ref="cocoon-installation/system/servlet-engine"/></row>
  -      <row><label>Java Version</label><i:output 
ref="cocoon-installation/system/java-version"/></row>
  -    </i:instance>
  -  </rows>
  -  <i:button method="prev3">
  -    <i:caption>Prev</i:caption>
  -  </i:button>
  -
  -  <i:button method="submit">
  -    <i:caption>Submit</i:caption>
  -  </i:button>
  -</root>
  +<?xml version="1.0" ?>
  +
  +<root xmlns:i="http://www.dff.st/ns/desire/instance/1.0";>
  +  <errors>
  +    <i:insert-violations/>
  +  </errors>
  +
  +  <rows>
  +    <i:instance id="form-feedback">
  +      <row><label>Firstname</label><i:output 
ref="cocoon-installation/user/firstname"/></row>
  +      <row><label>Lastname</label><i:output 
ref="cocoon-installation/user/lastname"/></row>
  +      <row><label>Email</label><i:output 
ref="cocoon-installation/user/email"/></row>
  +
  +      <row><label>Number of installations</label><i:output 
ref="cocoon-installation/number"/></row>
  +      <row><label>Live URL</label><i:output 
ref="cocoon-installation/live-url"/></row>
  +      <row><label>Publish</label><i:output 
ref="cocoon-installation/publish"/></row>
  +
  +      <row><label>OS</label><i:output 
ref="cocoon-installation/system/os"/></row>
  +      <row><label>Processor</label><i:output 
ref="cocoon-installation/system/processor"/></row>
  +      <row><label>RAM</label><i:output 
ref="cocoon-installation/system/ram"/></row>
  +      <row><label>Servlet Engine</label><i:output 
ref="cocoon-installation/system/servlet-engine"/></row>
  +      <row><label>Java Version</label><i:output 
ref="cocoon-installation/system/java-version"/></row>
  +    </i:instance>
  +  </rows>
  +  <i:button method="prev3">
  +    <i:caption>Prev</i:caption>
  +  </i:button>
  +
  +  <i:button method="submit">
  +    <i:caption>Submit</i:caption>
  +  </i:button>
  +</root>
  
  
  
  1.2       +61 -60    cocoon-2.1/src/blocks/precept/samples/model/easyrelax.xml
  
  Index: easyrelax.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/precept/samples/model/easyrelax.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- easyrelax.xml     9 Mar 2003 00:05:48 -0000       1.1
  +++ easyrelax.xml     6 May 2003 14:12:57 -0000       1.2
  @@ -1,60 +1,61 @@
  -<?xml version="1.0"?>
  -<grammar xmlns="http://www.dff.st/ns/desire/easyrelax/grammar/1.0";>
  -  <start>
  -    <element name="cocoon-installation">
  -
  -      <!-- the user who installed cocoon -->
  -      <element name="user">
  -        <element name="firstname"/>
  -        <element name="lastname"/>
  -        <element name="email">
  -          <constraint type="regexpr" name="E_EMAIL">[EMAIL 
PROTECTED](\.[a-zA-Z0-9-]+)+$</constraint>
  -        </element>
  -        <optional>
  -          <element name="age"/>
  -          <element name="gender"/>
  -        </optional>
  -      </element>
  -
  -      <!-- serial number of cocoon installation -->
  -      <element name="number"/>
  -
  -      <!-- an optional live url -->
  -      <optional>
  -        <element name="live-url"/>
  -        <element name="publish"/>
  -      </optional>
  -
  -      <!-- the system cocoon is running on -->
  -      <element name="system">
  -        <element name="os">
  -          <constraint type="choice" name="E_OS">
  -            <choice value="linux">Linux</choice>
  -            <choice value="w2k">Windows 2000</choice>
  -          </constraint>
  -        </element>
  -        <element name="processor">
  -          <constraint type="choice" name="E_PROCESSOR">
  -            <choice value="intel">Intel</choice>
  -            <choice value="powerpc">PowerPC</choice>
  -          </constraint>
  -        </element>
  -        <element name="ram"/>
  -        <element name="servlet-engine">
  -          <constraint type="choice" name="E_ENGINE">
  -            <choice value="tc4">Tomcat 4</choice>
  -            <choice value="tc3">Tomcat 3</choice>
  -            <choice value="resin">Resin</choice>
  -          </constraint>
  -        </element>
  -        <element name="java-version">
  -          <constraint type="choice" name="E_JAVA">
  -            <choice value="1.2">JDK 1.2.x</choice>
  -            <choice value="1.3">JDK 1.3.x</choice>
  -            <choice value="1.4">JDK 1.4.x</choice>
  -          </constraint>
  -        </element>        
  -      </element>
  -    </element>
  -  </start>
  -</grammar>
  +<?xml version="1.0"?>
  +
  +<grammar xmlns="http://www.dff.st/ns/desire/easyrelax/grammar/1.0";>
  +  <start>
  +    <element name="cocoon-installation">
  +
  +      <!-- the user who installed cocoon -->
  +      <element name="user">
  +        <element name="firstname"/>
  +        <element name="lastname"/>
  +        <element name="email">
  +          <constraint type="regexpr" name="E_EMAIL">[EMAIL 
PROTECTED](\.[a-zA-Z0-9-]+)+$</constraint>
  +        </element>
  +        <optional>
  +          <element name="age"/>
  +          <element name="gender"/>
  +        </optional>
  +      </element>
  +
  +      <!-- serial number of cocoon installation -->
  +      <element name="number"/>
  +
  +      <!-- an optional live url -->
  +      <optional>
  +        <element name="live-url"/>
  +        <element name="publish"/>
  +      </optional>
  +
  +      <!-- the system cocoon is running on -->
  +      <element name="system">
  +        <element name="os">
  +          <constraint type="choice" name="E_OS">
  +            <choice value="linux">Linux</choice>
  +            <choice value="w2k">Windows 2000</choice>
  +          </constraint>
  +        </element>
  +        <element name="processor">
  +          <constraint type="choice" name="E_PROCESSOR">
  +            <choice value="intel">Intel</choice>
  +            <choice value="powerpc">PowerPC</choice>
  +          </constraint>
  +        </element>
  +        <element name="ram"/>
  +        <element name="servlet-engine">
  +          <constraint type="choice" name="E_ENGINE">
  +            <choice value="tc4">Tomcat 4</choice>
  +            <choice value="tc3">Tomcat 3</choice>
  +            <choice value="resin">Resin</choice>
  +          </constraint>
  +        </element>
  +        <element name="java-version">
  +          <constraint type="choice" name="E_JAVA">
  +            <choice value="1.2">JDK 1.2.x</choice>
  +            <choice value="1.3">JDK 1.3.x</choice>
  +            <choice value="1.4">JDK 1.4.x</choice>
  +          </constraint>
  +        </element>        
  +      </element>
  +    </element>
  +  </start>
  +</grammar>
  
  
  
  1.2       +11 -11    cocoon-2.1/src/blocks/session-fw/conf/session-act.xmap
  
  Index: session-act.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/session-fw/conf/session-act.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- session-act.xmap  9 Mar 2003 00:06:06 -0000       1.1
  +++ session-act.xmap  6 May 2003 14:12:57 -0000       1.2
  @@ -1,11 +1,11 @@
  -<?xml version="1.0"?>
  -
  -<xmap xpath="/sitemap/components/actions"
  -      unless="[EMAIL PROTECTED]'session']">
  -
  -    <map:action name="session"
  -                
src="org.apache.cocoon.webapps.session.acting.SessionAction"/>
  -
  -    <map:action name="session-form"
  -                
src="org.apache.cocoon.webapps.session.acting.SessionFormAction"/>
  -</xmap>
  +<?xml version="1.0"?>
  +
  +<xmap xpath="/sitemap/components/actions"
  +      unless="[EMAIL PROTECTED]'session']">
  +
  +    <map:action name="session"
  +                
src="org.apache.cocoon.webapps.session.acting.SessionAction"/>
  +
  +    <map:action name="session-form"
  +                
src="org.apache.cocoon.webapps.session.acting.SessionFormAction"/>
  +</xmap>
  
  
  
  1.3       +8 -7      cocoon-2.1/src/blocks/session-fw/conf/session-sel.xmap
  
  Index: session-sel.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/session-fw/conf/session-sel.xmap,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- session-sel.xmap  6 May 2003 13:43:55 -0000       1.2
  +++ session-sel.xmap  6 May 2003 14:12:57 -0000       1.3
  @@ -1,7 +1,8 @@
  -<?xml version="1.0"?>
  -<xmap xpath="/sitemap/components/selectors"
  -      unless="[EMAIL PROTECTED]'session-media']">
  -
  -    <map:selector name="session-media"
  -                  
src="org.apache.cocoon.webapps.session.selection.MediaSelector"/>
  -</xmap>
  +<?xml version="1.0"?>
  +
  +<xmap xpath="/sitemap/components/selectors"
  +      unless="[EMAIL PROTECTED]'session-media']">
  +
  +    <map:selector name="session-media"
  +                  
src="org.apache.cocoon.webapps.session.selection.MediaSelector"/>
  +</xmap>
  
  
  
  1.2       +14 -14    cocoon-2.1/src/blocks/session-fw/conf/session-tran.xmap
  
  Index: session-tran.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/session-fw/conf/session-tran.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- session-tran.xmap 9 Mar 2003 00:06:06 -0000       1.1
  +++ session-tran.xmap 6 May 2003 14:12:57 -0000       1.2
  @@ -1,15 +1,15 @@
  -<?xml version="1.0"?>
  -
  -<xmap xpath="/sitemap/components/transformers"
  -      unless="[EMAIL PROTECTED]'session']">
  -
  -    <map:transformer name="session"
  -                     
src="org.apache.cocoon.webapps.session.transformation.SessionTransformer"
  -                     pool-max="32" pool-min="8" pool-grow="4"/>
  -    <map:transformer name="session-pre"
  -                     
src="org.apache.cocoon.webapps.session.transformation.SessionPreTransformer"
  -                     pool-max="32" pool-min="8" pool-grow="4"/>
  -    <map:transformer name="session-post"
  -                     
src="org.apache.cocoon.webapps.session.transformation.SessionPostTransformer"
  -                     pool-max="32" pool-min="8" pool-grow="4"/>
  +<?xml version="1.0"?>
  +
  +<xmap xpath="/sitemap/components/transformers"
  +      unless="[EMAIL PROTECTED]'session']">
  +
  +    <map:transformer name="session"
  +                     
src="org.apache.cocoon.webapps.session.transformation.SessionTransformer"
  +                     pool-max="32" pool-min="8" pool-grow="4"/>
  +    <map:transformer name="session-pre"
  +                     
src="org.apache.cocoon.webapps.session.transformation.SessionPreTransformer"
  +                     pool-max="32" pool-min="8" pool-grow="4"/>
  +    <map:transformer name="session-post"
  +                     
src="org.apache.cocoon.webapps.session.transformation.SessionPostTransformer"
  +                     pool-max="32" pool-min="8" pool-grow="4"/>
   </xmap>
  
  
  
  1.3       +476 -476  
cocoon-2.1/src/blocks/slide/java/org/apache/cocoon/components/repository/impl/SlideConfigurationAdapter.java
  
  Index: SlideConfigurationAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/slide/java/org/apache/cocoon/components/repository/impl/SlideConfigurationAdapter.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SlideConfigurationAdapter.java    16 Mar 2003 17:49:06 -0000      1.2
  +++ SlideConfigurationAdapter.java    6 May 2003 14:12:58 -0000       1.3
  @@ -1,476 +1,476 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:   "This product includes software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -
  -package org.apache.cocoon.components.repository.impl;
  -
  -import org.apache.slide.util.conf.Configuration;
  -import org.apache.slide.util.conf.ConfigurationException;
  -
  -import java.util.*;
  -
  -/**
  - * The class represent an adapter for the configuration class from jakarta 
slide
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Stephan Michels</a>
  - * @version CVS $Id$
  - */
  -public class SlideConfigurationAdapter implements Configuration {
  -
  -    private org.apache.avalon.framework.configuration.Configuration 
configuration;
  -
  -    /**
  -     * Create a new adapter to map a Avalon configuration 
  -     * to a Slide configuration 
  -     *
  -     * @param configuration Avalon configuration
  -     */
  -    public 
SlideConfigurationAdapter(org.apache.avalon.framework.configuration.Configuration
 configuration) {
  -        this.configuration = configuration;
  -    }
  -
  -    /**
  -     * Return the name of the node.
  -     *
  -     * @return name of the <code>Configuration</code> node.
  -     */
  -    public String getName() {
  -        return this.configuration.getName();
  -    }
  -
  -    /**
  -     * Return a new <code>Configuration</code> instance encapsulating the
  -     * specified child node.
  -     *
  -     * @param child The name of the child node.
  -     *
  -     * @return Configuration
  -     *
  -     * @throws ConfigurationException If no child with that name exists.
  -     */
  -    public Configuration getConfiguration(String child)
  -      throws ConfigurationException {
  -        return new 
SlideConfigurationAdapter(this.configuration.getChild(child));
  -    }
  -
  -    /**
  -     * Return an <code>Enumeration</code> of <code>Configuration<code>
  -     * elements containing all node children with the specified name.
  -     *
  -     * @param name The name of the children to get.
  -     *
  -     * @return Enumeration.  The <code>Enumeration</code> will be
  -     *         empty if there are no nodes by the specified name.
  -     */
  -    public Enumeration getConfigurations(String name) {
  -
  -        Vector configurations = new Vector();
  -        org.apache.avalon.framework.configuration.Configuration[] childs = 
this.configuration.getChildren(name);
  -
  -        for (int i = 0; i<childs.length; i++) {
  -            configurations.addElement(new 
SlideConfigurationAdapter(childs[i]));
  -        }
  -        return configurations.elements();
  -    }
  -
  -    /**
  -     * Return the value of specified attribute.
  -     *
  -     * @param paramName The name of the parameter you ask the value of.
  -     *
  -     * @return String value of attribute.
  -     *
  -     * @throws ConfigurationException If no attribute with that name exists.
  -     */
  -    public String getAttribute(String paramName)
  -      throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getAttribute(paramName);
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Return the <code>int</code> value of the specified attribute contained
  -     * in this node.
  -     *
  -     * @param paramName The name of the parameter you ask the value of.
  -     *
  -     * @return int value of attribute
  -     *
  -     * @throws ConfigurationException If no parameter with that name exists.
  -     *                                or if conversion to <code>int</code> 
fails.
  -     */
  -    public int getAttributeAsInt(String paramName)
  -      throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getAttributeAsInteger(paramName);
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Returns the value of the attribute specified by its name as a
  -     * <code>long</code>.
  -     *
  -     *
  -     * @param name       
  -     *
  -     * @return long value of attribute
  -     *
  -     * @throws ConfigurationException If no parameter with that name exists.
  -     *                                or if conversion to <code>long</code> 
fails.
  -     */
  -    public long getAttributeAsLong(String name)
  -      throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getAttributeAsLong(name);
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Return the <code>float</code> value of the specified parameter 
contained
  -     * in this node.
  -     *
  -     * @param paramName The name of the parameter you ask the value of.
  -     *
  -     * @return float value of attribute
  -     *
  -     * @throws ConfigurationException If no parameter with that name exists.
  -     *                                or if conversion to <code>float</code> 
fails.
  -     */
  -    public float getAttributeAsFloat(String paramName)
  -      throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getAttributeAsFloat(paramName);
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Return the <code>boolean</code> value of the specified parameter 
contained
  -     * in this node.<br>
  -     *
  -     * @param paramName The name of the parameter you ask the value of.
  -     *
  -     * @return boolean value of attribute
  -     *
  -     * @throws ConfigurationException If no parameter with that name exists.
  -     *                                   or if conversion to 
<code>boolean</code> fails.
  -     */
  -    public boolean getAttributeAsBoolean(String paramName)
  -      throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getAttributeAsBoolean(paramName);
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Return the <code>String</code> value of the node.
  -     *
  -     * @return the value of the node.
  -     */
  -    public String getValue() {
  -
  -        try {
  -            return this.configuration.getValue();
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            return "";
  -        }
  -    }
  -
  -    /**
  -     * Return the <code>int</code> value of the node.
  -     *
  -     * @return the value of the node.
  -     *
  -     * @throws ConfigurationException If conversion to <code>int</code> 
fails.
  -     */
  -    public int getValueAsInt() throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getValueAsInteger();
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Return the <code>float</code> value of the node.
  -     *
  -     * @return the value of the node.
  -     *
  -     * @throws ConfigurationException If conversion to <code>float</code> 
fails.
  -     */
  -    public float getValueAsFloat() throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getValueAsFloat();
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Return the <code>boolean</code> value of the node.
  -     *
  -     * @return the value of the node.
  -     *
  -     * @throws ConfigurationException If conversion to <code>boolean</code> 
fails.
  -     */
  -    public boolean getValueAsBoolean() throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getValueAsBoolean();
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Return the <code>long</code> value of the node.<br>
  -     *
  -     * @return the value of the node.
  -     *
  -     * @throws ConfigurationException If conversion to <code>long</code> 
fails.
  -     */
  -    public long getValueAsLong() throws ConfigurationException {
  -
  -        try {
  -            return this.configuration.getValueAsLong();
  -        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            throw new ConfigurationException(ce.getMessage(), this);
  -        }
  -    }
  -
  -    /**
  -     * Returns the value of the configuration element as a 
<code>String</code>.
  -     * If the configuration value is not set, the default value will be
  -     * used.
  -     *
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return String value of the <code>Configuration</code>, or default
  -     *         if none specified.
  -     */
  -    public String getValue(String defaultValue) {
  -
  -        return this.configuration.getValue(defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the configuration element as an <code>int</code>.
  -     * If the configuration value is not set, the default value will be
  -     * used.
  -     *
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return int value of the <code>Configuration</code>, or default
  -     *         if none specified.
  -     */
  -    public int getValueAsInt(int defaultValue) {
  -
  -        return this.configuration.getValueAsInteger(defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the configuration element as a <code>long</code>.
  -     * If the configuration value is not set, the default value will be
  -     * used.
  -     *
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return long value of the <code>Configuration</code>, or default
  -     *         if none specified.
  -     */
  -    public long getValueAsLong(long defaultValue) {
  -
  -        return this.configuration.getValueAsLong(defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the configuration element as a 
<code>float</code>.
  -     * If the configuration value is not set, the default value will be
  -     * used.
  -     *
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return float value of the <code>Configuration</code>, or default
  -     *         if none specified.
  -     */
  -    public float getValueAsFloat(float defaultValue) {
  -
  -        return this.configuration.getValueAsFloat(defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the configuration element as a 
<code>boolean</code>.
  -     * If the configuration value is not set, the default value will be
  -     * used.
  -     *
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return boolean value of the <code>Configuration</code>, or default
  -     *         if none specified.
  -     */
  -    public boolean getValueAsBoolean(boolean defaultValue) {
  -
  -        return this.configuration.getValueAsBoolean(defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the attribute specified by its name as a
  -     * <code>String</code>, or the default value if no attribute by
  -     * that name exists or is empty.
  -     *
  -     * @param name The name of the attribute you ask the value of.
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return String value of attribute. It will return the default
  -     *         value if the named attribute does not exist, or if
  -     *         the value is not set.
  -     */
  -    public String getAttribute(String name, String defaultValue) {
  -
  -        return this.configuration.getAttribute(name, defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the attribute specified by its name as a
  -     * <code>int</code>, or the default value if no attribute by
  -     * that name exists or is empty.
  -     *
  -     * @param name The name of the attribute you ask the value of.
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return int value of attribute. It will return the default
  -     *         value if the named attribute does not exist, or if
  -     *         the value is not set.
  -     */
  -    public int getAttributeAsInt(String name, int defaultValue) {
  -
  -        return this.configuration.getAttributeAsInteger(name, defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the attribute specified by its name as a
  -     * <code>long</code>, or the default value if no attribute by
  -     * that name exists or is empty.
  -     *
  -     * @param name The name of the attribute you ask the value of.
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return long value of attribute. It will return the default
  -     *         value if the named attribute does not exist, or if
  -     *         the value is not set.
  -     */
  -    public long getAttributeAsLong(String name, long defaultValue) {
  -
  -        return this.configuration.getAttributeAsLong(name, defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the attribute specified by its name as a
  -     * <code>float</code>, or the default value if no attribute by
  -     * that name exists or is empty.
  -     *
  -     * @param name The name of the attribute you ask the value of.
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return float value of attribute. It will return the default
  -     *         value if the named attribute does not exist, or if
  -     *         the value is not set.
  -     */
  -    public float getAttributeAsFloat(String name, float defaultValue) {
  -
  -        return this.configuration.getAttributeAsFloat(name, defaultValue);
  -    }
  -
  -    /**
  -     * Returns the value of the attribute specified by its name as a
  -     * <code>boolean</code>, or the default value if no attribute by
  -     * that name exists or is empty.
  -     *
  -     * @param name The name of the attribute you ask the value of.
  -     * @param defaultValue The default value desired.
  -     *
  -     * @return boolean value of attribute. It will return the default
  -     *         value if the named attribute does not exist, or if
  -     *         the value is not set.
  -     */
  -    public boolean getAttributeAsBoolean(String name, boolean defaultValue) {
  -
  -        return this.configuration.getAttributeAsBoolean(name, defaultValue);
  -    }
  -
  -    /**
  -     * Return a <code>String</code> indicating the position of this
  -     * configuration element in a source file or URI.
  -     *
  -     * @return String if a source file or URI is specified.  Otherwise
  -     *         it returns <code>null</code>
  -     */
  -    public String getLocation() {
  -
  -        return this.configuration.getLocation();
  -    }
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2002 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:   "This product includes software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +
  +package org.apache.cocoon.components.repository.impl;
  +
  +import org.apache.slide.util.conf.Configuration;
  +import org.apache.slide.util.conf.ConfigurationException;
  +
  +import java.util.*;
  +
  +/**
  + * The class represent an adapter for the configuration class from jakarta 
slide
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Stephan Michels</a>
  + * @version CVS $Id$
  + */
  +public class SlideConfigurationAdapter implements Configuration {
  +
  +    private org.apache.avalon.framework.configuration.Configuration 
configuration;
  +
  +    /**
  +     * Create a new adapter to map a Avalon configuration 
  +     * to a Slide configuration 
  +     *
  +     * @param configuration Avalon configuration
  +     */
  +    public 
SlideConfigurationAdapter(org.apache.avalon.framework.configuration.Configuration
 configuration) {
  +        this.configuration = configuration;
  +    }
  +
  +    /**
  +     * Return the name of the node.
  +     *
  +     * @return name of the <code>Configuration</code> node.
  +     */
  +    public String getName() {
  +        return this.configuration.getName();
  +    }
  +
  +    /**
  +     * Return a new <code>Configuration</code> instance encapsulating the
  +     * specified child node.
  +     *
  +     * @param child The name of the child node.
  +     *
  +     * @return Configuration
  +     *
  +     * @throws ConfigurationException If no child with that name exists.
  +     */
  +    public Configuration getConfiguration(String child)
  +      throws ConfigurationException {
  +        return new 
SlideConfigurationAdapter(this.configuration.getChild(child));
  +    }
  +
  +    /**
  +     * Return an <code>Enumeration</code> of <code>Configuration<code>
  +     * elements containing all node children with the specified name.
  +     *
  +     * @param name The name of the children to get.
  +     *
  +     * @return Enumeration.  The <code>Enumeration</code> will be
  +     *         empty if there are no nodes by the specified name.
  +     */
  +    public Enumeration getConfigurations(String name) {
  +
  +        Vector configurations = new Vector();
  +        org.apache.avalon.framework.configuration.Configuration[] childs = 
this.configuration.getChildren(name);
  +
  +        for (int i = 0; i<childs.length; i++) {
  +            configurations.addElement(new 
SlideConfigurationAdapter(childs[i]));
  +        }
  +        return configurations.elements();
  +    }
  +
  +    /**
  +     * Return the value of specified attribute.
  +     *
  +     * @param paramName The name of the parameter you ask the value of.
  +     *
  +     * @return String value of attribute.
  +     *
  +     * @throws ConfigurationException If no attribute with that name exists.
  +     */
  +    public String getAttribute(String paramName)
  +      throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getAttribute(paramName);
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Return the <code>int</code> value of the specified attribute contained
  +     * in this node.
  +     *
  +     * @param paramName The name of the parameter you ask the value of.
  +     *
  +     * @return int value of attribute
  +     *
  +     * @throws ConfigurationException If no parameter with that name exists.
  +     *                                or if conversion to <code>int</code> 
fails.
  +     */
  +    public int getAttributeAsInt(String paramName)
  +      throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getAttributeAsInteger(paramName);
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Returns the value of the attribute specified by its name as a
  +     * <code>long</code>.
  +     *
  +     *
  +     * @param name       
  +     *
  +     * @return long value of attribute
  +     *
  +     * @throws ConfigurationException If no parameter with that name exists.
  +     *                                or if conversion to <code>long</code> 
fails.
  +     */
  +    public long getAttributeAsLong(String name)
  +      throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getAttributeAsLong(name);
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Return the <code>float</code> value of the specified parameter 
contained
  +     * in this node.
  +     *
  +     * @param paramName The name of the parameter you ask the value of.
  +     *
  +     * @return float value of attribute
  +     *
  +     * @throws ConfigurationException If no parameter with that name exists.
  +     *                                or if conversion to <code>float</code> 
fails.
  +     */
  +    public float getAttributeAsFloat(String paramName)
  +      throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getAttributeAsFloat(paramName);
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Return the <code>boolean</code> value of the specified parameter 
contained
  +     * in this node.<br>
  +     *
  +     * @param paramName The name of the parameter you ask the value of.
  +     *
  +     * @return boolean value of attribute
  +     *
  +     * @throws ConfigurationException If no parameter with that name exists.
  +     *                                   or if conversion to 
<code>boolean</code> fails.
  +     */
  +    public boolean getAttributeAsBoolean(String paramName)
  +      throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getAttributeAsBoolean(paramName);
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Return the <code>String</code> value of the node.
  +     *
  +     * @return the value of the node.
  +     */
  +    public String getValue() {
  +
  +        try {
  +            return this.configuration.getValue();
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            return "";
  +        }
  +    }
  +
  +    /**
  +     * Return the <code>int</code> value of the node.
  +     *
  +     * @return the value of the node.
  +     *
  +     * @throws ConfigurationException If conversion to <code>int</code> 
fails.
  +     */
  +    public int getValueAsInt() throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getValueAsInteger();
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Return the <code>float</code> value of the node.
  +     *
  +     * @return the value of the node.
  +     *
  +     * @throws ConfigurationException If conversion to <code>float</code> 
fails.
  +     */
  +    public float getValueAsFloat() throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getValueAsFloat();
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Return the <code>boolean</code> value of the node.
  +     *
  +     * @return the value of the node.
  +     *
  +     * @throws ConfigurationException If conversion to <code>boolean</code> 
fails.
  +     */
  +    public boolean getValueAsBoolean() throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getValueAsBoolean();
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Return the <code>long</code> value of the node.<br>
  +     *
  +     * @return the value of the node.
  +     *
  +     * @throws ConfigurationException If conversion to <code>long</code> 
fails.
  +     */
  +    public long getValueAsLong() throws ConfigurationException {
  +
  +        try {
  +            return this.configuration.getValueAsLong();
  +        } catch 
(org.apache.avalon.framework.configuration.ConfigurationException ce) {
  +            throw new ConfigurationException(ce.getMessage(), this);
  +        }
  +    }
  +
  +    /**
  +     * Returns the value of the configuration element as a 
<code>String</code>.
  +     * If the configuration value is not set, the default value will be
  +     * used.
  +     *
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return String value of the <code>Configuration</code>, or default
  +     *         if none specified.
  +     */
  +    public String getValue(String defaultValue) {
  +
  +        return this.configuration.getValue(defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the configuration element as an <code>int</code>.
  +     * If the configuration value is not set, the default value will be
  +     * used.
  +     *
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return int value of the <code>Configuration</code>, or default
  +     *         if none specified.
  +     */
  +    public int getValueAsInt(int defaultValue) {
  +
  +        return this.configuration.getValueAsInteger(defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the configuration element as a <code>long</code>.
  +     * If the configuration value is not set, the default value will be
  +     * used.
  +     *
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return long value of the <code>Configuration</code>, or default
  +     *         if none specified.
  +     */
  +    public long getValueAsLong(long defaultValue) {
  +
  +        return this.configuration.getValueAsLong(defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the configuration element as a 
<code>float</code>.
  +     * If the configuration value is not set, the default value will be
  +     * used.
  +     *
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return float value of the <code>Configuration</code>, or default
  +     *         if none specified.
  +     */
  +    public float getValueAsFloat(float defaultValue) {
  +
  +        return this.configuration.getValueAsFloat(defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the configuration element as a 
<code>boolean</code>.
  +     * If the configuration value is not set, the default value will be
  +     * used.
  +     *
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return boolean value of the <code>Configuration</code>, or default
  +     *         if none specified.
  +     */
  +    public boolean getValueAsBoolean(boolean defaultValue) {
  +
  +        return this.configuration.getValueAsBoolean(defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the attribute specified by its name as a
  +     * <code>String</code>, or the default value if no attribute by
  +     * that name exists or is empty.
  +     *
  +     * @param name The name of the attribute you ask the value of.
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return String value of attribute. It will return the default
  +     *         value if the named attribute does not exist, or if
  +     *         the value is not set.
  +     */
  +    public String getAttribute(String name, String defaultValue) {
  +
  +        return this.configuration.getAttribute(name, defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the attribute specified by its name as a
  +     * <code>int</code>, or the default value if no attribute by
  +     * that name exists or is empty.
  +     *
  +     * @param name The name of the attribute you ask the value of.
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return int value of attribute. It will return the default
  +     *         value if the named attribute does not exist, or if
  +     *         the value is not set.
  +     */
  +    public int getAttributeAsInt(String name, int defaultValue) {
  +
  +        return this.configuration.getAttributeAsInteger(name, defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the attribute specified by its name as a
  +     * <code>long</code>, or the default value if no attribute by
  +     * that name exists or is empty.
  +     *
  +     * @param name The name of the attribute you ask the value of.
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return long value of attribute. It will return the default
  +     *         value if the named attribute does not exist, or if
  +     *         the value is not set.
  +     */
  +    public long getAttributeAsLong(String name, long defaultValue) {
  +
  +        return this.configuration.getAttributeAsLong(name, defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the attribute specified by its name as a
  +     * <code>float</code>, or the default value if no attribute by
  +     * that name exists or is empty.
  +     *
  +     * @param name The name of the attribute you ask the value of.
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return float value of attribute. It will return the default
  +     *         value if the named attribute does not exist, or if
  +     *         the value is not set.
  +     */
  +    public float getAttributeAsFloat(String name, float defaultValue) {
  +
  +        return this.configuration.getAttributeAsFloat(name, defaultValue);
  +    }
  +
  +    /**
  +     * Returns the value of the attribute specified by its name as a
  +     * <code>boolean</code>, or the default value if no attribute by
  +     * that name exists or is empty.
  +     *
  +     * @param name The name of the attribute you ask the value of.
  +     * @param defaultValue The default value desired.
  +     *
  +     * @return boolean value of attribute. It will return the default
  +     *         value if the named attribute does not exist, or if
  +     *         the value is not set.
  +     */
  +    public boolean getAttributeAsBoolean(String name, boolean defaultValue) {
  +
  +        return this.configuration.getAttributeAsBoolean(name, defaultValue);
  +    }
  +
  +    /**
  +     * Return a <code>String</code> indicating the position of this
  +     * configuration element in a source file or URI.
  +     *
  +     * @return String if a source file or URI is specified.  Otherwise
  +     *         it returns <code>null</code>
  +     */
  +    public String getLocation() {
  +
  +        return this.configuration.getLocation();
  +    }
  +}
  
  
  
  1.4       +6 -9      cocoon-2.1/src/blocks/slide/samples/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/slide/samples/sitemap.xmap,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- sitemap.xmap      6 May 2003 11:38:10 -0000       1.3
  +++ sitemap.xmap      6 May 2003 14:12:58 -0000       1.4
  @@ -1,4 +1,5 @@
   <?xml version="1.0"?>
  +
   <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
   
   <!-- =========================== Components 
=================================== -->
  @@ -43,7 +44,6 @@
   <!-- =========================== Views =================================== 
-->
   
    <map:views>
  - 
     <map:view name="content" from-label="content">
      <map:serialize type="xml"/>
     </map:view>
  @@ -56,7 +56,6 @@
     <map:view name="xml" from-label="content">
      <map:serialize type="xml"/>
     </map:view>
  -     
    </map:views>
   
   <!-- =========================== Resources 
=================================== -->
  @@ -88,8 +87,8 @@
      </authentication-manager>
     </map:component-configurations>
   
  -  <map:pipeline internal-only="true">
   
  +  <map:pipeline internal-only="true">
      <map:match pattern="principallist">
       <map:generate type="principallist">
        <map:parameter name="principalprovider" value="slide"/>
  @@ -121,14 +120,13 @@
   
       <map:serialize type="xml"/>
      </map:match>
  -
     </map:pipeline>
   
  -  <map:pipeline>
   
  +  <map:pipeline>
      <map:match pattern="">
  -       <map:redirect-to uri="content/"/>
  -      </map:match>
  +    <map:redirect-to uri="content/"/>
  +   </map:match>
    
      <map:match pattern="login.html">
       <map:generate src="login.xhtml"/>
  @@ -241,7 +239,6 @@
       </map:act>
      </map:match>
                        
  -     </map:pipeline>
  -
  +  </map:pipeline>
    </map:pipelines>
   </map:sitemap>
  
  
  
  1.2       +8 -8      cocoon-2.1/src/blocks/taglib/conf/jxpath.xconf
  
  Index: jxpath.xconf
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/taglib/conf/jxpath.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jxpath.xconf      10 Mar 2003 18:13:42 -0000      1.1
  +++ jxpath.xconf      6 May 2003 14:12:59 -0000       1.2
  @@ -1,8 +1,8 @@
  -<?xml version="1.0"?>
  -
  -<xconf xpath="/cocoon" unless="[EMAIL 
PROTECTED]'org.apache.cocoon.jxpath.JXPathCocoonContexts']">
  -
  -  <component role="org.apache.cocoon.jxpath.JXPathCocoonContexts" 
  -    class="org.apache.cocoon.jxpath.JXPathCocoonContexts" 
  -    logger="core.jxpath"/>   
  -</xconf>
  +<?xml version="1.0"?>
  +
  +<xconf xpath="/cocoon" unless="[EMAIL 
PROTECTED]'org.apache.cocoon.jxpath.JXPathCocoonContexts']">
  +
  +  <component role="org.apache.cocoon.jxpath.JXPathCocoonContexts" 
  +    class="org.apache.cocoon.jxpath.JXPathCocoonContexts" 
  +    logger="core.jxpath"/>   
  +</xconf>
  
  
  
  1.2       +31 -31    cocoon-2.1/src/blocks/taglib/conf/tag.xconf
  
  Index: tag.xconf
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/taglib/conf/tag.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tag.xconf 10 Mar 2003 18:13:42 -0000      1.1
  +++ tag.xconf 6 May 2003 14:12:59 -0000       1.2
  @@ -1,31 +1,31 @@
  -<?xml version="1.0"?>
  -
  -<xconf xpath="/cocoon" unless="[EMAIL 
PROTECTED]'org.apache.cocoon.taglib.TagSelector']">
  -     
  -  <component role="org.apache.cocoon.taglib.TagSelector" 
class="org.apache.cocoon.components.ExtendedComponentSelector">
  -    <taglib name="urn:apache:taglib:core" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.core">
  -      <tag name="source" class="org.apache.cocoon.taglib.core.SourceTag" 
logger="sitemap.taglib.core.source" />
  -    </taglib>
  -    <taglib name="urn:apache:taglib:datetime" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.datetime">
  -      <tag name="months" class="org.apache.cocoon.taglib.datetime.MonthsTag" 
logger="sitemap.taglib.datetime.months" />
  -    </taglib>
  -    <taglib name="urn:apache:taglib:i18n" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.i18n">
  -      <tag name="locale" class="org.apache.cocoon.taglib.i18n.LocaleTag" 
logger="sitemap.taglib.i18n.Locale" />
  -     </taglib>
  -     <taglib name="urn:apache:taglib:jxpath:core" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.jxpath">
  -      <tag name="out" class="org.apache.cocoon.taglib.jxpath.core.OutTag" 
logger="sitemap.taglib.jxpath.core.out" />
  -      <tag name="forEach" 
class="org.apache.cocoon.taglib.jxpath.core.ForEachTag" 
logger="sitemap.taglib.jxpath.core.forEach" />
  -    </taglib>
  -    <taglib name="urn:apache:taglib:string" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.string">
  -      <tag name="lower" class="org.apache.cocoon.taglib.string.LowerCaseTag" 
logger="sitemap.taglib.string.lower" />
  -      <tag name="textRecording" 
class="org.apache.cocoon.taglib.string.TextRecordingTag" 
logger="sitemap.taglib.string.textRecording" />
  -      <tag name="trim" class="org.apache.cocoon.taglib.string.TrimTag" 
logger="sitemap.taglib.string.trim" />
  -      <tag name="upper" class="org.apache.cocoon.taglib.string.UpperCaseTag" 
logger="sitemap.taglib.string.upper" />
  -    </taglib>
  -    <taglib name="urn:apache:taglib:test" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.test">
  -      <tag name="hello" class="org.apache.cocoon.taglib.test.HelloWorldTag" 
logger="sitemap.taglib.test.hello" />
  -      <tag name="iteration" 
class="org.apache.cocoon.taglib.test.IterationTestTag" 
logger="sitemap.taglib.test.iteration" />
  -    </taglib>
  -  </component>
  -     
  -</xconf>
  +<?xml version="1.0"?>
  +
  +<xconf xpath="/cocoon" unless="[EMAIL 
PROTECTED]'org.apache.cocoon.taglib.TagSelector']">
  +     
  +  <component role="org.apache.cocoon.taglib.TagSelector" 
class="org.apache.cocoon.components.ExtendedComponentSelector">
  +    <taglib name="urn:apache:taglib:core" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.core">
  +      <tag name="source" class="org.apache.cocoon.taglib.core.SourceTag" 
logger="sitemap.taglib.core.source" />
  +    </taglib>
  +    <taglib name="urn:apache:taglib:datetime" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.datetime">
  +      <tag name="months" class="org.apache.cocoon.taglib.datetime.MonthsTag" 
logger="sitemap.taglib.datetime.months" />
  +    </taglib>
  +    <taglib name="urn:apache:taglib:i18n" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.i18n">
  +      <tag name="locale" class="org.apache.cocoon.taglib.i18n.LocaleTag" 
logger="sitemap.taglib.i18n.Locale" />
  +     </taglib>
  +     <taglib name="urn:apache:taglib:jxpath:core" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.jxpath">
  +      <tag name="out" class="org.apache.cocoon.taglib.jxpath.core.OutTag" 
logger="sitemap.taglib.jxpath.core.out" />
  +      <tag name="forEach" 
class="org.apache.cocoon.taglib.jxpath.core.ForEachTag" 
logger="sitemap.taglib.jxpath.core.forEach" />
  +    </taglib>
  +    <taglib name="urn:apache:taglib:string" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.string">
  +      <tag name="lower" class="org.apache.cocoon.taglib.string.LowerCaseTag" 
logger="sitemap.taglib.string.lower" />
  +      <tag name="textRecording" 
class="org.apache.cocoon.taglib.string.TextRecordingTag" 
logger="sitemap.taglib.string.textRecording" />
  +      <tag name="trim" class="org.apache.cocoon.taglib.string.TrimTag" 
logger="sitemap.taglib.string.trim" />
  +      <tag name="upper" class="org.apache.cocoon.taglib.string.UpperCaseTag" 
logger="sitemap.taglib.string.upper" />
  +    </taglib>
  +    <taglib name="urn:apache:taglib:test" 
class="org.apache.cocoon.components.ExtendedComponentSelector" 
logger="sitemap.taglib.test">
  +      <tag name="hello" class="org.apache.cocoon.taglib.test.HelloWorldTag" 
logger="sitemap.taglib.test.hello" />
  +      <tag name="iteration" 
class="org.apache.cocoon.taglib.test.IterationTestTag" 
logger="sitemap.taglib.test.iteration" />
  +    </taglib>
  +  </component>
  +     
  +</xconf>
  
  
  
  1.2       +29 -29    cocoon-2.1/src/blocks/web3/conf/web3.xconf
  
  Index: web3.xconf
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/web3/conf/web3.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- web3.xconf        9 Mar 2003 00:06:34 -0000       1.1
  +++ web3.xconf        6 May 2003 14:12:59 -0000       1.2
  @@ -1,29 +1,29 @@
  -<?xml version="1.0"?>
  -
  -<xconf xpath="/cocoon" unless="web3">
  -
  -  <web3 logger="core.web3">
  -    <!-- optional 
  -    <class>put your DSImpl here</class>
  -    -->
  -    <backend name="indy">
  -      <pool size="10" trace="false" level="0">
  -        <client>100</client>
  -        <user>user</user>
  -        <password>secret</password>
  -        <language>DE</language>
  -        <route>indy</route>
  -        <system>00</system>
  -        <gateway>sapgw00</gateway>
  -        <program-id>USR-GR02</program-id>
  -      </pool>
  -    </backend>
  -  </web3>
  -
  -  <web3-streamer logger="core.web3">
  -    <default name="default" logger="core.web3.default-streamer"/>
  -  </web3-streamer>
  -
  -  <web-client logger="core.web3-client"/>
  -
  -</xconf>
  +<?xml version="1.0"?>
  +
  +<xconf xpath="/cocoon" unless="web3">
  +
  +  <web3 logger="core.web3">
  +    <!-- optional 
  +    <class>put your DSImpl here</class>
  +    -->
  +    <backend name="indy">
  +      <pool size="10" trace="false" level="0">
  +        <client>100</client>
  +        <user>user</user>
  +        <password>secret</password>
  +        <language>DE</language>
  +        <route>indy</route>
  +        <system>00</system>
  +        <gateway>sapgw00</gateway>
  +        <program-id>USR-GR02</program-id>
  +      </pool>
  +    </backend>
  +  </web3>
  +
  +  <web3-streamer logger="core.web3">
  +    <default name="default" logger="core.web3.default-streamer"/>
  +  </web3-streamer>
  +
  +  <web-client logger="core.web3-client"/>
  +
  +</xconf>
  
  
  
  1.2       +16 -16    cocoon-2.1/src/blocks/web3/conf/web3.xsamples
  
  Index: web3.xsamples
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/web3/conf/web3.xsamples,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- web3.xsamples     9 Mar 2003 00:06:34 -0000       1.1
  +++ web3.xsamples     6 May 2003 14:12:59 -0000       1.2
  @@ -1,16 +1,16 @@
  -<?xml version="1.0"?>
  -
  -<xsamples xpath="/samples" unless="[EMAIL PROTECTED]'web3']">
  -
  -  <group name="web3">
  -    <note> 
  -      For the examples of this block to work, an SAP R/3 system and some
  -      SAP java classes need to be available and configured according to the 
docs that 
  -      can be found in the developer section of the Apache Cocoon 
documentation.
  -    </note>
  -     <sample name="Samples" href="web3/samples">
  -       Continue to web3 block samples.
  -     </sample>
  -  </group>
  -  
  -</xsamples>
  +<?xml version="1.0"?>
  +
  +<xsamples xpath="/samples" unless="[EMAIL PROTECTED]'web3']">
  +
  +  <group name="web3">
  +    <note> 
  +      For the examples of this block to work, an SAP R/3 system and some
  +      SAP java classes need to be available and configured according to the 
docs that 
  +      can be found in the developer section of the Apache Cocoon 
documentation.
  +    </note>
  +     <sample name="Samples" href="web3/samples">
  +       Continue to web3 block samples.
  +     </sample>
  +  </group>
  +  
  +</xsamples>
  
  
  
  1.3       +85 -85    
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3.java
  
  Index: Web3.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Web3.java 16 Mar 2003 17:49:09 -0000      1.2
  +++ Web3.java 6 May 2003 14:12:59 -0000       1.3
  @@ -1,85 +1,85 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package org.apache.cocoon.components.web3;
  -
  -/**
  - * Constants in Web3.
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @version CVS $Id$
  - */
  -public interface Web3 {
  -    
  -    String URI                 = "http://efp.cc/Web3-Rfc/2.0";;
  -
  -    String INCLUDE_ELEM        = "include";
  -    String INCLUDE_NAME_ATTR   = "name";
  -    String INCLUDE_CLASS_ATTR  = "streamer";
  -    
  -    String IMPORT_ELEM         = "import";
  -    String EXPORT_ELEM         = "export";
  -    String TABLES_ELEM         = "tables";
  -    
  -    String FIELD_ELEM          = "field";
  -    String FIELD_NAME_ATTR     = "name";
  -    
  -    String ROW_ELEM            = "row";
  -    String ROW_ID_ATTR         = "id";
  -    
  -    String STRUCTURE_ELEM      = "structure";
  -    String STRUCTURE_NAME_ATTR = "name";
  -    
  -    String TABLE_ELEM          = "table";
  -    String TABLE_NAME_ATTR     = "name";
  -
  -    String ABAP_EXCEPTION_ELEM = "abap-exception";
  -    String PROCESSING_X_ELEM   = "processing-exception";
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package org.apache.cocoon.components.web3;
  +
  +/**
  + * Constants in Web3.
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @version CVS $Id$
  + */
  +public interface Web3 {
  +    
  +    String URI                 = "http://efp.cc/Web3-Rfc/2.0";;
  +
  +    String INCLUDE_ELEM        = "include";
  +    String INCLUDE_NAME_ATTR   = "name";
  +    String INCLUDE_CLASS_ATTR  = "streamer";
  +    
  +    String IMPORT_ELEM         = "import";
  +    String EXPORT_ELEM         = "export";
  +    String TABLES_ELEM         = "tables";
  +    
  +    String FIELD_ELEM          = "field";
  +    String FIELD_NAME_ATTR     = "name";
  +    
  +    String ROW_ELEM            = "row";
  +    String ROW_ID_ATTR         = "id";
  +    
  +    String STRUCTURE_ELEM      = "structure";
  +    String STRUCTURE_NAME_ATTR = "name";
  +    
  +    String TABLE_ELEM          = "table";
  +    String TABLE_NAME_ATTR     = "name";
  +
  +    String ABAP_EXCEPTION_ELEM = "abap-exception";
  +    String PROCESSING_X_ELEM   = "processing-exception";
  +}
  
  
  
  1.3       +88 -88    
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Client.java
  
  Index: Web3Client.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Client.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Web3Client.java   16 Mar 2003 17:49:09 -0000      1.2
  +++ Web3Client.java   6 May 2003 14:12:59 -0000       1.3
  @@ -1,88 +1,88 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package org.apache.cocoon.components.web3;
  -
  -import org.apache.avalon.framework.component.Component;
  -
  -import com.sap.mw.jco.IRepository;
  -import com.sap.mw.jco.JCO.Client;
  -import com.sap.mw.jco.JCO.Function;
  -
  -/**
  - * The standard interface for R3Clients in Web3.
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @version CVS $Id$
  - */
  -public interface Web3Client extends Component {
  -    
  -    String ROLE = "org.apache.cocoon.components.web3.Web3Client";
  -    
  -    /**
  -     * Releases the Connection to the backend
  -     */
  -    void releaseClient ();
  -    
  -    /**
  -     * Initialize the client
  -     */
  -    void initClient (Client client);
  -    
  -    /**
  -     * Get a Client Repository
  -     */
  -    IRepository getRepository ();
  -    
  -    /**
  -     * Execute an Abab function
  -     */
  -    void execute(Function function);   
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package org.apache.cocoon.components.web3;
  +
  +import org.apache.avalon.framework.component.Component;
  +
  +import com.sap.mw.jco.IRepository;
  +import com.sap.mw.jco.JCO.Client;
  +import com.sap.mw.jco.JCO.Function;
  +
  +/**
  + * The standard interface for R3Clients in Web3.
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @version CVS $Id$
  + */
  +public interface Web3Client extends Component {
  +    
  +    String ROLE = "org.apache.cocoon.components.web3.Web3Client";
  +    
  +    /**
  +     * Releases the Connection to the backend
  +     */
  +    void releaseClient ();
  +    
  +    /**
  +     * Initialize the client
  +     */
  +    void initClient (Client client);
  +    
  +    /**
  +     * Get a Client Repository
  +     */
  +    IRepository getRepository ();
  +    
  +    /**
  +     * Execute an Abab function
  +     */
  +    void execute(Function function);   
  +}
  
  
  
  1.3       +78 -78    
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3DataSource.java
  
  Index: Web3DataSource.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3DataSource.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Web3DataSource.java       16 Mar 2003 17:49:09 -0000      1.2
  +++ Web3DataSource.java       6 May 2003 14:12:59 -0000       1.3
  @@ -1,78 +1,78 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package org.apache.cocoon.components.web3;
  -
  -import org.apache.avalon.framework.component.Component;
  -import org.apache.avalon.framework.activity.Disposable;
  -import org.apache.avalon.framework.activity.Initializable;
  -import org.apache.avalon.framework.configuration.Configurable;
  -import org.apache.avalon.framework.component.Composable;
  -
  -import java.lang.Exception;
  -
  -/**
  - * The standard interface for R3DataSources in Web3.
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @version CVS $Id$
  - */
  -public interface Web3DataSource extends Component, Configurable, 
  -    Initializable, Disposable, Composable {
  -        
  -    String ROLE = "org.apache.cocoon.components.web3.Web3DataSource";
  -    
  -    /**
  -     * Gets the Connection to the backend
  -     */
  -    Web3Client getWeb3Client() throws Exception;
  -    
  -    void releaseWeb3Client( Web3Client client );
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package org.apache.cocoon.components.web3;
  +
  +import org.apache.avalon.framework.component.Component;
  +import org.apache.avalon.framework.activity.Disposable;
  +import org.apache.avalon.framework.activity.Initializable;
  +import org.apache.avalon.framework.configuration.Configurable;
  +import org.apache.avalon.framework.component.Composable;
  +
  +import java.lang.Exception;
  +
  +/**
  + * The standard interface for R3DataSources in Web3.
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @version CVS $Id$
  + */
  +public interface Web3DataSource extends Component, Configurable, 
  +    Initializable, Disposable, Composable {
  +        
  +    String ROLE = "org.apache.cocoon.components.web3.Web3DataSource";
  +    
  +    /**
  +     * Gets the Connection to the backend
  +     */
  +    Web3Client getWeb3Client() throws Exception;
  +    
  +    void releaseWeb3Client( Web3Client client );
  +}
  
  
  
  1.3       +72 -72    
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Streamer.java
  
  Index: Web3Streamer.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/Web3Streamer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Web3Streamer.java 16 Mar 2003 17:49:09 -0000      1.2
  +++ Web3Streamer.java 6 May 2003 14:12:59 -0000       1.3
  @@ -1,72 +1,72 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package org.apache.cocoon.components.web3;
  -
  -import com.sap.mw.jco.JCO;
  -
  -import org.xml.sax.SAXException;
  -import org.xml.sax.ContentHandler;
  -
  -import org.apache.avalon.framework.component.Component;
  -
  -/**
  - * The standard interface for Web3Producer.
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @version CVS $Id$
  - */
  -public interface Web3Streamer extends Component {
  -
  -    String ROLE = "org.apache.cocoon.components.web3.Web3Streamer";
  -    
  -    void stream(JCO.Function function, 
  -        ContentHandler contentHandler) throws SAXException;
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package org.apache.cocoon.components.web3;
  +
  +import com.sap.mw.jco.JCO;
  +
  +import org.xml.sax.SAXException;
  +import org.xml.sax.ContentHandler;
  +
  +import org.apache.avalon.framework.component.Component;
  +
  +/**
  + * The standard interface for Web3Producer.
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @version CVS $Id$
  + */
  +public interface Web3Streamer extends Component {
  +
  +    String ROLE = "org.apache.cocoon.components.web3.Web3Streamer";
  +    
  +    void stream(JCO.Function function, 
  +        ContentHandler contentHandler) throws SAXException;
  +}
  
  
  
  1.5       +196 -196  
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/DefaultWeb3StreamerImpl.java
  
  Index: DefaultWeb3StreamerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/DefaultWeb3StreamerImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DefaultWeb3StreamerImpl.java      31 Mar 2003 11:14:11 -0000      1.4
  +++ DefaultWeb3StreamerImpl.java      6 May 2003 14:13:00 -0000       1.5
  @@ -1,196 +1,196 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -
  -package org.apache.cocoon.components.web3.impl;
  -
  -import com.sap.mw.jco.JCO;
  -
  -import org.apache.cocoon.components.web3.Web3Streamer;
  -import org.apache.cocoon.components.web3.Web3;
  -
  -import org.apache.avalon.excalibur.pool.Poolable;
  -
  -import org.xml.sax.SAXException;
  -import org.xml.sax.helpers.AttributesImpl;
  -import org.xml.sax.ContentHandler;
  -
  -/**
  - * TBD
  - *
  - * @author  <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @since 21. Oct. 2002
  - * @version CVS $Id$
  - */
  -public class DefaultWeb3StreamerImpl implements Web3Streamer, Poolable {
  -
  -    public void stream(JCO.Function function, 
  -        ContentHandler contentHandler) throws SAXException {
  -
  -        AttributesImpl    attributes = new AttributesImpl();
  -        attributes.clear();
  -        attributes.addAttribute( Web3.URI, Web3.INCLUDE_NAME_ATTR,  
  -            Web3.INCLUDE_NAME_ATTR, "CDATA", 
function.getName().toUpperCase() );
  -        contentHandler.startElement( Web3.URI, Web3.INCLUDE_ELEM, 
  -            Web3.INCLUDE_ELEM, attributes );
  -        attributes.clear();
  -        contentHandler.startElement( Web3.URI, Web3.IMPORT_ELEM, 
  -            Web3.IMPORT_ELEM, attributes );
  -        streamParameterList( function.getImportParameterList(), 
contentHandler );
  -        contentHandler.endElement( Web3.URI, Web3.IMPORT_ELEM, 
Web3.IMPORT_ELEM );
  -
  -        attributes.clear();
  -        contentHandler.startElement( Web3.URI, Web3.EXPORT_ELEM, 
  -            Web3.EXPORT_ELEM, attributes );
  -        streamParameterList( function.getExportParameterList(), 
contentHandler );
  -        contentHandler.endElement( Web3.URI, Web3.EXPORT_ELEM, 
Web3.EXPORT_ELEM );
  -        
  -        JCO.ParameterList tablesParameterList = 
function.getTableParameterList();
  -        attributes.clear();
  -        contentHandler.startElement( Web3.URI, Web3.TABLES_ELEM, 
  -            Web3.TABLES_ELEM, attributes );
  -        if (null != tablesParameterList) {
  -            for (int i = 0; i < tablesParameterList.getFieldCount(); i++) {
  -                attributes.clear();
  -                attributes.addAttribute( Web3.URI, Web3.TABLE_NAME_ATTR, 
  -                    Web3.TABLE_NAME_ATTR, "CDATA", 
  -                    tablesParameterList.getName(i).toUpperCase() );
  -                contentHandler.startElement( Web3.URI, Web3.TABLE_ELEM,
  -                    Web3.TABLE_ELEM, attributes );
  -                JCO.Table sapTable = tablesParameterList.getTable(i);
  -                if (null != sapTable) {
  -                    for (int j = 0; j < sapTable.getNumRows(); j++) {
  -                        sapTable.setRow(j);
  -                        attributes.clear();
  -                        attributes.addAttribute(Web3.URI, Web3.ROW_ID_ATTR, 
  -                            Web3.ROW_ID_ATTR, "CDATA", "" + (j + 1));
  -                        contentHandler.startElement(Web3.URI, Web3.ROW_ELEM, 
  -                            Web3.ROW_ELEM, attributes);
  -                        for (int k = 0; k < sapTable.getFieldCount(); k++) {
  -                            attributes.clear();
  -                            attributes.addAttribute(Web3.URI, 
  -                                Web3.FIELD_NAME_ATTR, Web3.FIELD_NAME_ATTR, 
  -                                "CDATA", sapTable.getName(k).toUpperCase());
  -                            contentHandler.startElement(Web3.URI, 
  -                                Web3.FIELD_ELEM, Web3.FIELD_ELEM, 
attributes);
  -                            String theValue = ( sapTable.getString(k) == 
null) 
  -                                ? "" : sapTable.getString(k).trim();
  -                            
contentHandler.characters(theValue.toCharArray(), 0, 
  -                                theValue.length());
  -                            contentHandler.endElement(Web3.URI, 
Web3.FIELD_ELEM, 
  -                                Web3.FIELD_ELEM);
  -                        }
  -                        contentHandler.endElement(Web3.URI, Web3.ROW_ELEM, 
  -                            Web3.ROW_ELEM);
  -                    }
  -                    contentHandler.endElement(Web3.URI, Web3.TABLE_ELEM, 
  -                        Web3.TABLE_ELEM);
  -                }
  -            }           
  -        }
  -        contentHandler.endElement(Web3.URI, Web3.TABLES_ELEM, 
Web3.TABLES_ELEM);
  -        contentHandler.endElement( Web3.URI, Web3.INCLUDE_ELEM, 
  -            Web3.INCLUDE_ELEM );
  -    }
  -    
  -    protected void streamParameterList(JCO.ParameterList pList,
  -        ContentHandler contentHandler) throws SAXException {
  -        
  -        AttributesImpl attributes = new AttributesImpl();
  -        attributes.clear();
  -        if (pList != null) {
  -            for (int i = 0; i < pList.getFieldCount(); i++) {
  -                JCO.Field theField = pList.getField(i);
  -                if (theField.isStructure()) {
  -                    JCO.Structure sapStructure = 
  -                        pList.getStructure(pList.getName(i));
  -                    attributes.clear();
  -                    attributes.addAttribute(Web3.URI, 
Web3.STRUCTURE_NAME_ATTR, 
  -                        Web3.STRUCTURE_NAME_ATTR, "CDATA", 
  -                        pList.getName(i).toUpperCase());
  -                    contentHandler.startElement(Web3.URI, 
Web3.STRUCTURE_ELEM, 
  -                        Web3.STRUCTURE_ELEM, attributes);                
  -                    for (int j = 0; j < sapStructure.getFieldCount(); j++) {
  -                        attributes.clear();
  -                        attributes.addAttribute(Web3.URI, 
Web3.FIELD_NAME_ATTR, 
  -                            Web3.FIELD_NAME_ATTR, "CDATA", 
  -                            sapStructure.getName(j).toUpperCase());
  -                        contentHandler.startElement(Web3.URI, 
Web3.FIELD_ELEM, 
  -                            Web3.FIELD_ELEM, attributes);
  -                        String theValue = (sapStructure.getString(j) == 
null) 
  -                            ? "" : sapStructure.getString(j).trim();
  -                        contentHandler.characters(theValue.toCharArray(), 0, 
  -                            theValue.length());
  -                        contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, 
  -                            Web3.FIELD_ELEM);
  -                    }
  -                    contentHandler.endElement(Web3.URI, Web3.STRUCTURE_ELEM, 
  -                        Web3.STRUCTURE_ELEM);
  -                } 
  -                else {
  -                    attributes.clear();
  -                    attributes.addAttribute(Web3.URI, Web3.FIELD_NAME_ATTR, 
  -                        Web3.FIELD_NAME_ATTR, "CDATA", 
  -                        pList.getName(i).toUpperCase());
  -                    contentHandler.startElement(Web3.URI, Web3.FIELD_ELEM, 
  -                        Web3.FIELD_ELEM, attributes);
  -                    String theValue = (pList.getString(i) == null)
  -                        ? "" : pList.getString(i).trim();
  -                    contentHandler.characters(theValue.toCharArray(), 0, 
  -                        theValue.length());
  -                    contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, 
  -                        Web3.FIELD_ELEM);
  -                }
  -            }
  -        }        
  -    }
  -
  -}
  -
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +
  +package org.apache.cocoon.components.web3.impl;
  +
  +import com.sap.mw.jco.JCO;
  +
  +import org.apache.cocoon.components.web3.Web3Streamer;
  +import org.apache.cocoon.components.web3.Web3;
  +
  +import org.apache.avalon.excalibur.pool.Poolable;
  +
  +import org.xml.sax.SAXException;
  +import org.xml.sax.helpers.AttributesImpl;
  +import org.xml.sax.ContentHandler;
  +
  +/**
  + * TBD
  + *
  + * @author  <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @since 21. Oct. 2002
  + * @version CVS $Id$
  + */
  +public class DefaultWeb3StreamerImpl implements Web3Streamer, Poolable {
  +
  +    public void stream(JCO.Function function, 
  +        ContentHandler contentHandler) throws SAXException {
  +
  +        AttributesImpl    attributes = new AttributesImpl();
  +        attributes.clear();
  +        attributes.addAttribute( Web3.URI, Web3.INCLUDE_NAME_ATTR,  
  +            Web3.INCLUDE_NAME_ATTR, "CDATA", 
function.getName().toUpperCase() );
  +        contentHandler.startElement( Web3.URI, Web3.INCLUDE_ELEM, 
  +            Web3.INCLUDE_ELEM, attributes );
  +        attributes.clear();
  +        contentHandler.startElement( Web3.URI, Web3.IMPORT_ELEM, 
  +            Web3.IMPORT_ELEM, attributes );
  +        streamParameterList( function.getImportParameterList(), 
contentHandler );
  +        contentHandler.endElement( Web3.URI, Web3.IMPORT_ELEM, 
Web3.IMPORT_ELEM );
  +
  +        attributes.clear();
  +        contentHandler.startElement( Web3.URI, Web3.EXPORT_ELEM, 
  +            Web3.EXPORT_ELEM, attributes );
  +        streamParameterList( function.getExportParameterList(), 
contentHandler );
  +        contentHandler.endElement( Web3.URI, Web3.EXPORT_ELEM, 
Web3.EXPORT_ELEM );
  +        
  +        JCO.ParameterList tablesParameterList = 
function.getTableParameterList();
  +        attributes.clear();
  +        contentHandler.startElement( Web3.URI, Web3.TABLES_ELEM, 
  +            Web3.TABLES_ELEM, attributes );
  +        if (null != tablesParameterList) {
  +            for (int i = 0; i < tablesParameterList.getFieldCount(); i++) {
  +                attributes.clear();
  +                attributes.addAttribute( Web3.URI, Web3.TABLE_NAME_ATTR, 
  +                    Web3.TABLE_NAME_ATTR, "CDATA", 
  +                    tablesParameterList.getName(i).toUpperCase() );
  +                contentHandler.startElement( Web3.URI, Web3.TABLE_ELEM,
  +                    Web3.TABLE_ELEM, attributes );
  +                JCO.Table sapTable = tablesParameterList.getTable(i);
  +                if (null != sapTable) {
  +                    for (int j = 0; j < sapTable.getNumRows(); j++) {
  +                        sapTable.setRow(j);
  +                        attributes.clear();
  +                        attributes.addAttribute(Web3.URI, Web3.ROW_ID_ATTR, 
  +                            Web3.ROW_ID_ATTR, "CDATA", "" + (j + 1));
  +                        contentHandler.startElement(Web3.URI, Web3.ROW_ELEM, 
  +                            Web3.ROW_ELEM, attributes);
  +                        for (int k = 0; k < sapTable.getFieldCount(); k++) {
  +                            attributes.clear();
  +                            attributes.addAttribute(Web3.URI, 
  +                                Web3.FIELD_NAME_ATTR, Web3.FIELD_NAME_ATTR, 
  +                                "CDATA", sapTable.getName(k).toUpperCase());
  +                            contentHandler.startElement(Web3.URI, 
  +                                Web3.FIELD_ELEM, Web3.FIELD_ELEM, 
attributes);
  +                            String theValue = ( sapTable.getString(k) == 
null) 
  +                                ? "" : sapTable.getString(k).trim();
  +                            
contentHandler.characters(theValue.toCharArray(), 0, 
  +                                theValue.length());
  +                            contentHandler.endElement(Web3.URI, 
Web3.FIELD_ELEM, 
  +                                Web3.FIELD_ELEM);
  +                        }
  +                        contentHandler.endElement(Web3.URI, Web3.ROW_ELEM, 
  +                            Web3.ROW_ELEM);
  +                    }
  +                    contentHandler.endElement(Web3.URI, Web3.TABLE_ELEM, 
  +                        Web3.TABLE_ELEM);
  +                }
  +            }           
  +        }
  +        contentHandler.endElement(Web3.URI, Web3.TABLES_ELEM, 
Web3.TABLES_ELEM);
  +        contentHandler.endElement( Web3.URI, Web3.INCLUDE_ELEM, 
  +            Web3.INCLUDE_ELEM );
  +    }
  +    
  +    protected void streamParameterList(JCO.ParameterList pList,
  +        ContentHandler contentHandler) throws SAXException {
  +        
  +        AttributesImpl attributes = new AttributesImpl();
  +        attributes.clear();
  +        if (pList != null) {
  +            for (int i = 0; i < pList.getFieldCount(); i++) {
  +                JCO.Field theField = pList.getField(i);
  +                if (theField.isStructure()) {
  +                    JCO.Structure sapStructure = 
  +                        pList.getStructure(pList.getName(i));
  +                    attributes.clear();
  +                    attributes.addAttribute(Web3.URI, 
Web3.STRUCTURE_NAME_ATTR, 
  +                        Web3.STRUCTURE_NAME_ATTR, "CDATA", 
  +                        pList.getName(i).toUpperCase());
  +                    contentHandler.startElement(Web3.URI, 
Web3.STRUCTURE_ELEM, 
  +                        Web3.STRUCTURE_ELEM, attributes);                
  +                    for (int j = 0; j < sapStructure.getFieldCount(); j++) {
  +                        attributes.clear();
  +                        attributes.addAttribute(Web3.URI, 
Web3.FIELD_NAME_ATTR, 
  +                            Web3.FIELD_NAME_ATTR, "CDATA", 
  +                            sapStructure.getName(j).toUpperCase());
  +                        contentHandler.startElement(Web3.URI, 
Web3.FIELD_ELEM, 
  +                            Web3.FIELD_ELEM, attributes);
  +                        String theValue = (sapStructure.getString(j) == 
null) 
  +                            ? "" : sapStructure.getString(j).trim();
  +                        contentHandler.characters(theValue.toCharArray(), 0, 
  +                            theValue.length());
  +                        contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, 
  +                            Web3.FIELD_ELEM);
  +                    }
  +                    contentHandler.endElement(Web3.URI, Web3.STRUCTURE_ELEM, 
  +                        Web3.STRUCTURE_ELEM);
  +                } 
  +                else {
  +                    attributes.clear();
  +                    attributes.addAttribute(Web3.URI, Web3.FIELD_NAME_ATTR, 
  +                        Web3.FIELD_NAME_ATTR, "CDATA", 
  +                        pList.getName(i).toUpperCase());
  +                    contentHandler.startElement(Web3.URI, Web3.FIELD_ELEM, 
  +                        Web3.FIELD_ELEM, attributes);
  +                    String theValue = (pList.getString(i) == null)
  +                        ? "" : pList.getString(i).trim();
  +                    contentHandler.characters(theValue.toCharArray(), 0, 
  +                        theValue.length());
  +                    contentHandler.endElement(Web3.URI, Web3.FIELD_ELEM, 
  +                        Web3.FIELD_ELEM);
  +                }
  +            }
  +        }        
  +    }
  +
  +}
  +
  
  
  
  1.3       +286 -286  
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3ClientImpl.java
  
  Index: Web3ClientImpl.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3ClientImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Web3ClientImpl.java       16 Mar 2003 17:49:10 -0000      1.2
  +++ Web3ClientImpl.java       6 May 2003 14:13:00 -0000       1.3
  @@ -1,286 +1,286 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package org.apache.cocoon.components.web3.impl;
  -
  -import org.apache.cocoon.components.web3.Web3Client;
  -
  -import org.apache.avalon.framework.logger.AbstractLogEnabled;
  -import org.apache.avalon.framework.activity.Disposable;
  -import org.apache.avalon.excalibur.pool.Recyclable;
  -import org.apache.avalon.excalibur.pool.Poolable;
  -
  -import com.sap.mw.jco.JCO;
  -import com.sap.mw.jco.IRepository;
  -
  -import java.net.URL;
  -import java.util.Properties;
  -import java.util.Date;
  -
  -/**
  - * The standard interface for R3Clients in Web3.
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @version CVS $Id$
  - */
  -public class Web3ClientImpl extends AbstractLogEnabled 
  -implements Web3Client, Disposable, Recyclable, Poolable {
  -
  -    protected JCO.Client client = null;
  -    protected String repository = null;
  -        
  -    public void initClient(JCO.Client client) {
  -        this.client = client;
  -        this.repository = "" + (new Date ()).getTime();
  -    }
  -    
  -    public void releaseClient() {
  -        JCO.releaseClient(this.client);
  -        this.client = null;
  -    }
  -    
  -    public void dispose() {
  -        this.client = null;
  -        this.repository = null;
  -    }
  -    
  -    public IRepository getRepository() {
  -        if (null != this.repository) {
  -            return new JCO.Repository (this.repository, this.client);
  -        }
  -        return null;
  -    }
  -    
  -    public void abort(String message) {
  -        this.client.abort (message);
  -    }
  -    
  -    public Object clone() {
  -        return null;
  -    }
  -    
  -    public void confirmTID(String tid) {
  -        this.client.confirmTID (tid);
  -    }
  -    
  -    public void connect() {
  -        this.client.connect ();
  -    }
  -    
  -    public String createTID() {
  -        return this.client.createTID ();
  -    }
  -    
  -    public void disconnect() {
  -        this.client.disconnect ();
  -    }
  -    
  -    public void execute(JCO.Function function) {
  -        this.client.execute (function);
  -    }
  -    
  -    public void execute(JCO.Function function, String tid) {
  -        this.client.execute (function, tid);
  -    }
  -    
  -    public void execute(JCO.Function function, String tid, String 
queue_name) { 
  -        this.client.execute (function, tid, queue_name);
  -    }
  -    
  -    public void execute(JCO.Function function, String tid, 
  -                        String queue_name, int queue_pos) {
  -        this.client.execute (function, tid, queue_name, queue_pos);
  -    }
  -    
  -    public void execute(String name, JCO.ParameterList input, 
  -                        JCO.ParameterList output) {
  -        this.client.execute (name, input, output);
  -    }
  -    
  -    public void execute(String name, JCO.ParameterList input, 
  -                        JCO.ParameterList output, JCO.ParameterList tables) {
  -        this.client.execute (name, input, output, tables);
  -    }
  -    
  -    public void execute(String name, JCO.ParameterList input, 
  -                        JCO.ParameterList tables, String tid) {
  -        this.client.execute (name, input, tables, tid);
  -    }
  -    
  -    public void execute(java.lang.String name, JCO.ParameterList input, 
  -                        JCO.ParameterList tables, String tid, 
  -                        String queue_name) {
  -        this.client.execute (name, input, tables, tid, queue_name);
  -    }
  -    
  -    public void execute(java.lang.String name, JCO.ParameterList input, 
  -                        JCO.ParameterList tables, String tid, 
  -                        String queue_name, int queue_pos) {
  -        this.client.execute (name, input, tables, tid, queue_name, 
queue_pos);
  -    }
  -    
  -    public boolean getAbapDebug() {
  -        return this.client.getAbapDebug ();
  -    }
  -    
  -    public String getASHost() {
  -        return this.client.getASHost ();
  -    }
  -
  -    public JCO.Attributes getAttributes() {
  -        return this.client.getAttributes ();
  -    }
  -    
  -    public String getClient() {
  -        return this.client.getClient ();
  -    }
  -    
  -    public String getGroup() {
  -        return this.client.getGroup ();
  -    }
  -    
  -    public String getGWHost() {
  -        return this.client.getGWHost ();
  -    }
  -
  -    public String getGWServ() {
  -        return this.client.getGWServ ();
  -    }
  -    
  -    public String getLanguage() {
  -        return this.client.getLanguage ();
  -    }
  -    
  -    public String getMSHost() {
  -        return this.client.getMSHost ();
  -    }
  -    
  -    public String[][] getPropertyInfo() {
  -        return this.client.getPropertyInfo ();
  -    }
  -    
  -    public int getSapGui() {
  -        return this.client.getSapGui ();
  -    }
  -    
  -    public byte getState() {
  -        return this.client.getState ();
  -    }
  -    
  -    public String getSystemID() {
  -        return this.client.getSystemID ();
  -    }
  -    
  -    public String getSystemNumber() {
  -        return this.client.getSystemNumber ();
  -    }
  -    
  -    public String getTPName() {
  -        return this.client.getTPName ();
  -    }
  -    
  -    public boolean getTrace() { 
  -        return this.client.getTrace ();
  -    }
  -    
  -    public URL getURL() {
  -        return this.client.getURL ();
  -    }
  -    
  -    public String getUser() {
  -        return this.client.getUser ();
  -    }
  -    
  -    public boolean isAlive() {
  -        return this.client.isAlive ();
  -    }
  -    
  -    public void ping() {
  -        this.client.ping ();
  -    }
  -    
  -    public void setAbapDebug(boolean debug) {
  -        this.client.setAbapDebug (debug);
  -    }
  -    
  -    public void setProperty(String key, String value) {
  -        this.client.setProperty (key, value);
  -    }
  -    
  -    public void setSapGui(int use_sapgui) {
  -        this.client.setSapGui (use_sapgui);
  -    }
  -    
  -    public void setTrace(boolean trace) {
  -        this.client.setTrace (trace);
  -    }
  -    
  -    public final Properties getProperties() {
  -        return this.client.getProperties ();
  -    }
  -    
  -    public final String getProperty(String key) {
  -        return this.client.getProperty (key);
  -    }
  -    
  -    public boolean isValid() {
  -        return this.client.isValid ();
  -    }
  -    
  -    public void setThroughput(JCO.Throughput throughput) {
  -        this.client.setThroughput (throughput);
  -    }   
  -    
  -    public void recycle() {
  -        this.client = null;
  -        this.repository = null;
  -    }
  -    
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package org.apache.cocoon.components.web3.impl;
  +
  +import org.apache.cocoon.components.web3.Web3Client;
  +
  +import org.apache.avalon.framework.logger.AbstractLogEnabled;
  +import org.apache.avalon.framework.activity.Disposable;
  +import org.apache.avalon.excalibur.pool.Recyclable;
  +import org.apache.avalon.excalibur.pool.Poolable;
  +
  +import com.sap.mw.jco.JCO;
  +import com.sap.mw.jco.IRepository;
  +
  +import java.net.URL;
  +import java.util.Properties;
  +import java.util.Date;
  +
  +/**
  + * The standard interface for R3Clients in Web3.
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @version CVS $Id$
  + */
  +public class Web3ClientImpl extends AbstractLogEnabled 
  +implements Web3Client, Disposable, Recyclable, Poolable {
  +
  +    protected JCO.Client client = null;
  +    protected String repository = null;
  +        
  +    public void initClient(JCO.Client client) {
  +        this.client = client;
  +        this.repository = "" + (new Date ()).getTime();
  +    }
  +    
  +    public void releaseClient() {
  +        JCO.releaseClient(this.client);
  +        this.client = null;
  +    }
  +    
  +    public void dispose() {
  +        this.client = null;
  +        this.repository = null;
  +    }
  +    
  +    public IRepository getRepository() {
  +        if (null != this.repository) {
  +            return new JCO.Repository (this.repository, this.client);
  +        }
  +        return null;
  +    }
  +    
  +    public void abort(String message) {
  +        this.client.abort (message);
  +    }
  +    
  +    public Object clone() {
  +        return null;
  +    }
  +    
  +    public void confirmTID(String tid) {
  +        this.client.confirmTID (tid);
  +    }
  +    
  +    public void connect() {
  +        this.client.connect ();
  +    }
  +    
  +    public String createTID() {
  +        return this.client.createTID ();
  +    }
  +    
  +    public void disconnect() {
  +        this.client.disconnect ();
  +    }
  +    
  +    public void execute(JCO.Function function) {
  +        this.client.execute (function);
  +    }
  +    
  +    public void execute(JCO.Function function, String tid) {
  +        this.client.execute (function, tid);
  +    }
  +    
  +    public void execute(JCO.Function function, String tid, String 
queue_name) { 
  +        this.client.execute (function, tid, queue_name);
  +    }
  +    
  +    public void execute(JCO.Function function, String tid, 
  +                        String queue_name, int queue_pos) {
  +        this.client.execute (function, tid, queue_name, queue_pos);
  +    }
  +    
  +    public void execute(String name, JCO.ParameterList input, 
  +                        JCO.ParameterList output) {
  +        this.client.execute (name, input, output);
  +    }
  +    
  +    public void execute(String name, JCO.ParameterList input, 
  +                        JCO.ParameterList output, JCO.ParameterList tables) {
  +        this.client.execute (name, input, output, tables);
  +    }
  +    
  +    public void execute(String name, JCO.ParameterList input, 
  +                        JCO.ParameterList tables, String tid) {
  +        this.client.execute (name, input, tables, tid);
  +    }
  +    
  +    public void execute(java.lang.String name, JCO.ParameterList input, 
  +                        JCO.ParameterList tables, String tid, 
  +                        String queue_name) {
  +        this.client.execute (name, input, tables, tid, queue_name);
  +    }
  +    
  +    public void execute(java.lang.String name, JCO.ParameterList input, 
  +                        JCO.ParameterList tables, String tid, 
  +                        String queue_name, int queue_pos) {
  +        this.client.execute (name, input, tables, tid, queue_name, 
queue_pos);
  +    }
  +    
  +    public boolean getAbapDebug() {
  +        return this.client.getAbapDebug ();
  +    }
  +    
  +    public String getASHost() {
  +        return this.client.getASHost ();
  +    }
  +
  +    public JCO.Attributes getAttributes() {
  +        return this.client.getAttributes ();
  +    }
  +    
  +    public String getClient() {
  +        return this.client.getClient ();
  +    }
  +    
  +    public String getGroup() {
  +        return this.client.getGroup ();
  +    }
  +    
  +    public String getGWHost() {
  +        return this.client.getGWHost ();
  +    }
  +
  +    public String getGWServ() {
  +        return this.client.getGWServ ();
  +    }
  +    
  +    public String getLanguage() {
  +        return this.client.getLanguage ();
  +    }
  +    
  +    public String getMSHost() {
  +        return this.client.getMSHost ();
  +    }
  +    
  +    public String[][] getPropertyInfo() {
  +        return this.client.getPropertyInfo ();
  +    }
  +    
  +    public int getSapGui() {
  +        return this.client.getSapGui ();
  +    }
  +    
  +    public byte getState() {
  +        return this.client.getState ();
  +    }
  +    
  +    public String getSystemID() {
  +        return this.client.getSystemID ();
  +    }
  +    
  +    public String getSystemNumber() {
  +        return this.client.getSystemNumber ();
  +    }
  +    
  +    public String getTPName() {
  +        return this.client.getTPName ();
  +    }
  +    
  +    public boolean getTrace() { 
  +        return this.client.getTrace ();
  +    }
  +    
  +    public URL getURL() {
  +        return this.client.getURL ();
  +    }
  +    
  +    public String getUser() {
  +        return this.client.getUser ();
  +    }
  +    
  +    public boolean isAlive() {
  +        return this.client.isAlive ();
  +    }
  +    
  +    public void ping() {
  +        this.client.ping ();
  +    }
  +    
  +    public void setAbapDebug(boolean debug) {
  +        this.client.setAbapDebug (debug);
  +    }
  +    
  +    public void setProperty(String key, String value) {
  +        this.client.setProperty (key, value);
  +    }
  +    
  +    public void setSapGui(int use_sapgui) {
  +        this.client.setSapGui (use_sapgui);
  +    }
  +    
  +    public void setTrace(boolean trace) {
  +        this.client.setTrace (trace);
  +    }
  +    
  +    public final Properties getProperties() {
  +        return this.client.getProperties ();
  +    }
  +    
  +    public final String getProperty(String key) {
  +        return this.client.getProperty (key);
  +    }
  +    
  +    public boolean isValid() {
  +        return this.client.isValid ();
  +    }
  +    
  +    public void setThroughput(JCO.Throughput throughput) {
  +        this.client.setThroughput (throughput);
  +    }   
  +    
  +    public void recycle() {
  +        this.client = null;
  +        this.repository = null;
  +    }
  +    
  +}
  
  
  
  1.3       +197 -197  
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3DataSourceImpl.java
  
  Index: Web3DataSourceImpl.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3DataSourceImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Web3DataSourceImpl.java   16 Mar 2003 17:49:10 -0000      1.2
  +++ Web3DataSourceImpl.java   6 May 2003 14:13:00 -0000       1.3
  @@ -1,197 +1,197 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package org.apache.cocoon.components.web3.impl;
  -
  -import org.apache.avalon.framework.logger.AbstractLogEnabled;
  -import org.apache.avalon.framework.configuration.Configuration;
  -import org.apache.avalon.framework.configuration.ConfigurationException;
  -import org.apache.avalon.framework.thread.ThreadSafe;
  -import org.apache.avalon.framework.component.ComponentManager;
  -import org.apache.avalon.framework.component.ComponentException;
  -
  -import EDU.oswego.cs.dl.util.concurrent.Mutex;
  -
  -import com.sap.mw.jco.JCO;
  -
  -import org.apache.cocoon.components.web3.Web3Client;
  -import org.apache.cocoon.components.web3.Web3DataSource;
  -
  -/**
  - * The Default implementation for R3DataSources in Web3.  This uses the
  - * normal <code>com.sap.mw.jco.JCO</code> classes.
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @version CVS $Id$
  - */
  -public class Web3DataSourceImpl extends AbstractLogEnabled
  -implements Web3DataSource, ThreadSafe {
  -
  -    protected Web3Properties properties = null;
  -    protected int            poolsize = 0;
  -    protected int            current_clients = 0;
  -    protected String         mySID = null;
  -
  -    protected boolean        trace = false;
  -    protected int            level = 0;
  -
  -    private static Mutex     lock = new Mutex();
  -    protected ComponentManager manager;
  -
  -    public void compose(ComponentManager componentManager) throws 
ComponentException {
  -        this.manager = componentManager;
  -    }
  -
  -    /** Configure backend component */
  -    public void configure(final Configuration configuration)
  -        throws ConfigurationException {
  -        if (null != configuration) {
  -            this.properties     = new Web3Properties ();
  -            Configuration child = configuration.getChild("pool");
  -            this.trace          = child.getAttributeAsBoolean("trace", 
false);
  -            this.level          = child.getAttributeAsInteger("level", 0);
  -            this.mySID          = configuration.getAttribute("name");
  -            this.poolsize       = child.getAttributeAsInteger("size");
  -
  -            this.properties.put("jco.client.client",
  -                child.getChild("client").getValue());
  -            this.properties.put("jco.client.user",
  -                child.getChild("user").getValue());
  -            this.properties.put("jco.client.passwd",
  -                child.getChild("password").getValue());
  -            this.properties.put("jco.client.ashost",
  -                child.getChild("route").getValue());
  -            this.properties.put("jco.client.sysnr",
  -                child.getChild("system").getValue());
  -            this.properties.put("sap.gateway",
  -                child.getChild("gateway").getValue(""));
  -            this.properties.put("sap.programid",
  -                child.getChild("program-id").getValue(""));
  -
  -            if ( getLogger().isDebugEnabled() ) {
  -                getLogger ().debug ("Configure R3DataSource [mySID="
  -                    + this.mySID );
  -            }
  -        } else {
  -            getLogger ().error ("Couldn't configure Web3DataSource." +
  -                " No configuration provided!");
  -        }
  -    }
  -
  -    /** initialize the component */
  -    public void initialize() throws Exception {
  -        try {
  -            Web3DataSourceImpl.lock.acquire();
  -            JCO.addClientPool( this.mySID, this.poolsize, this.properties );
  -            JCO.getClientPoolManager().getPool( this.mySID ).setTrace( 
this.trace );
  -            JCO.setTraceLevel( this.level );
  -        } catch (Exception ex) {
  -            getLogger ().error ("Couldn't initialize Web3DataSource "
  -                + this.mySID, ex);
  -            throw new Exception ( ex.getMessage() + this.mySID );
  -        }
  -        finally {
  -            Web3DataSourceImpl.lock.release();
  -        }
  -    }
  -
  -    /** Get the backend client, returns <code>null</code> if there is no more
  -        client in the pool. */
  -    public Web3Client getWeb3Client() throws Exception {
  -        Web3Client theClient = null;
  -        if ( this.current_clients + 1 < this.poolsize ) {
  -            this.current_clients++;
  -            try {
  -                Web3DataSourceImpl.lock.acquire();
  -                theClient = (Web3Client) this.manager.lookup( 
Web3Client.ROLE );
  -                theClient.initClient (JCO.getClient(this.mySID));
  -
  -                if ( getLogger().isDebugEnabled() ) {
  -                    getLogger ().debug ("returning client " + theClient);
  -                }
  -            } catch (Exception ex){
  -                getLogger ().error ( this.mySID, ex);
  -                throw new Exception ( ex.getMessage() );
  -            } finally {
  -                Web3DataSourceImpl.lock.release();
  -            }
  -        }
  -        return theClient;
  -    }
  -
  -    public void releaseWeb3Client(Web3Client client) {
  -        try {
  -            Web3DataSourceImpl.lock.acquire();
  -            client.releaseClient();
  -            this.current_clients--;
  -            manager.release( client );
  -        }
  -        catch (Exception x) {
  -            getLogger().error( x.getMessage(), x);
  -        }
  -        finally {
  -            Web3DataSourceImpl.lock.release();
  -        }
  -    }
  -
  -    /** Dispose properly of the pool */
  -    public void dispose() {
  -        try {
  -            JCO.removeClientPool(this.mySID);
  -        } catch (Exception ex) {
  -            getLogger ().error ("Web3DataSource: couldn't" +
  -                " return Web3DataSource", ex);
  -        }
  -        this.properties = null;
  -        this.mySID = null;
  -        getLogger ().debug ("Web3DataSource disposed.");
  -    }
  -
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package org.apache.cocoon.components.web3.impl;
  +
  +import org.apache.avalon.framework.logger.AbstractLogEnabled;
  +import org.apache.avalon.framework.configuration.Configuration;
  +import org.apache.avalon.framework.configuration.ConfigurationException;
  +import org.apache.avalon.framework.thread.ThreadSafe;
  +import org.apache.avalon.framework.component.ComponentManager;
  +import org.apache.avalon.framework.component.ComponentException;
  +
  +import EDU.oswego.cs.dl.util.concurrent.Mutex;
  +
  +import com.sap.mw.jco.JCO;
  +
  +import org.apache.cocoon.components.web3.Web3Client;
  +import org.apache.cocoon.components.web3.Web3DataSource;
  +
  +/**
  + * The Default implementation for R3DataSources in Web3.  This uses the
  + * normal <code>com.sap.mw.jco.JCO</code> classes.
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @version CVS $Id$
  + */
  +public class Web3DataSourceImpl extends AbstractLogEnabled
  +implements Web3DataSource, ThreadSafe {
  +
  +    protected Web3Properties properties = null;
  +    protected int            poolsize = 0;
  +    protected int            current_clients = 0;
  +    protected String         mySID = null;
  +
  +    protected boolean        trace = false;
  +    protected int            level = 0;
  +
  +    private static Mutex     lock = new Mutex();
  +    protected ComponentManager manager;
  +
  +    public void compose(ComponentManager componentManager) throws 
ComponentException {
  +        this.manager = componentManager;
  +    }
  +
  +    /** Configure backend component */
  +    public void configure(final Configuration configuration)
  +        throws ConfigurationException {
  +        if (null != configuration) {
  +            this.properties     = new Web3Properties ();
  +            Configuration child = configuration.getChild("pool");
  +            this.trace          = child.getAttributeAsBoolean("trace", 
false);
  +            this.level          = child.getAttributeAsInteger("level", 0);
  +            this.mySID          = configuration.getAttribute("name");
  +            this.poolsize       = child.getAttributeAsInteger("size");
  +
  +            this.properties.put("jco.client.client",
  +                child.getChild("client").getValue());
  +            this.properties.put("jco.client.user",
  +                child.getChild("user").getValue());
  +            this.properties.put("jco.client.passwd",
  +                child.getChild("password").getValue());
  +            this.properties.put("jco.client.ashost",
  +                child.getChild("route").getValue());
  +            this.properties.put("jco.client.sysnr",
  +                child.getChild("system").getValue());
  +            this.properties.put("sap.gateway",
  +                child.getChild("gateway").getValue(""));
  +            this.properties.put("sap.programid",
  +                child.getChild("program-id").getValue(""));
  +
  +            if ( getLogger().isDebugEnabled() ) {
  +                getLogger ().debug ("Configure R3DataSource [mySID="
  +                    + this.mySID );
  +            }
  +        } else {
  +            getLogger ().error ("Couldn't configure Web3DataSource." +
  +                " No configuration provided!");
  +        }
  +    }
  +
  +    /** initialize the component */
  +    public void initialize() throws Exception {
  +        try {
  +            Web3DataSourceImpl.lock.acquire();
  +            JCO.addClientPool( this.mySID, this.poolsize, this.properties );
  +            JCO.getClientPoolManager().getPool( this.mySID ).setTrace( 
this.trace );
  +            JCO.setTraceLevel( this.level );
  +        } catch (Exception ex) {
  +            getLogger ().error ("Couldn't initialize Web3DataSource "
  +                + this.mySID, ex);
  +            throw new Exception ( ex.getMessage() + this.mySID );
  +        }
  +        finally {
  +            Web3DataSourceImpl.lock.release();
  +        }
  +    }
  +
  +    /** Get the backend client, returns <code>null</code> if there is no more
  +        client in the pool. */
  +    public Web3Client getWeb3Client() throws Exception {
  +        Web3Client theClient = null;
  +        if ( this.current_clients + 1 < this.poolsize ) {
  +            this.current_clients++;
  +            try {
  +                Web3DataSourceImpl.lock.acquire();
  +                theClient = (Web3Client) this.manager.lookup( 
Web3Client.ROLE );
  +                theClient.initClient (JCO.getClient(this.mySID));
  +
  +                if ( getLogger().isDebugEnabled() ) {
  +                    getLogger ().debug ("returning client " + theClient);
  +                }
  +            } catch (Exception ex){
  +                getLogger ().error ( this.mySID, ex);
  +                throw new Exception ( ex.getMessage() );
  +            } finally {
  +                Web3DataSourceImpl.lock.release();
  +            }
  +        }
  +        return theClient;
  +    }
  +
  +    public void releaseWeb3Client(Web3Client client) {
  +        try {
  +            Web3DataSourceImpl.lock.acquire();
  +            client.releaseClient();
  +            this.current_clients--;
  +            manager.release( client );
  +        }
  +        catch (Exception x) {
  +            getLogger().error( x.getMessage(), x);
  +        }
  +        finally {
  +            Web3DataSourceImpl.lock.release();
  +        }
  +    }
  +
  +    /** Dispose properly of the pool */
  +    public void dispose() {
  +        try {
  +            JCO.removeClientPool(this.mySID);
  +        } catch (Exception ex) {
  +            getLogger ().error ("Web3DataSource: couldn't" +
  +                " return Web3DataSource", ex);
  +        }
  +        this.properties = null;
  +        this.mySID = null;
  +        getLogger ().debug ("Web3DataSource disposed.");
  +    }
  +
  +}
  
  
  
  1.3       +198 -198  
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3DataSourceSelectorImpl.java
  
  Index: Web3DataSourceSelectorImpl.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3DataSourceSelectorImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Web3DataSourceSelectorImpl.java   16 Mar 2003 17:49:10 -0000      1.2
  +++ Web3DataSourceSelectorImpl.java   6 May 2003 14:13:00 -0000       1.3
  @@ -1,198 +1,198 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package org.apache.cocoon.components.web3.impl;
  -
  -import org.apache.cocoon.components.web3.Web3DataSource;
  -
  -import org.apache.avalon.framework.activity.Disposable;
  -import org.apache.avalon.framework.thread.ThreadSafe;
  -import org.apache.avalon.framework.component.Composable;
  -import org.apache.avalon.framework.component.ComponentManager;
  -import org.apache.avalon.framework.component.ComponentSelector;
  -import org.apache.avalon.framework.component.ComponentException;
  -import org.apache.avalon.framework.component.Component;
  -import org.apache.avalon.framework.configuration.Configuration;
  -import org.apache.avalon.framework.configuration.Configurable;
  -import org.apache.avalon.framework.configuration.ConfigurationException;
  -import org.apache.avalon.framework.logger.AbstractLogEnabled;
  -import org.apache.avalon.framework.logger.LogEnabled;
  -import org.apache.cocoon.util.ClassUtils;
  -
  -import java.util.Enumeration;
  -import java.util.Hashtable;
  -
  -import EDU.oswego.cs.dl.util.concurrent.Mutex;
  -
  -/**
  - * The Default implementation for R3DataSources in Web3.  This uses the
  - * normal <code>com.sap.mw.jco.JCO</code> classes.
  - *
  - * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @since 21. Oct. 2002
  - * @version CVS $Id$
  - */
  -public class Web3DataSourceSelectorImpl
  -    extends AbstractLogEnabled
  -    implements ComponentSelector, Disposable, Composable, Configurable, 
ThreadSafe {
  -
  -    /** The component manager instance */
  -    protected ComponentManager manager = null;
  -    protected Configuration configuration = null;
  -    private static Hashtable pools = new Hashtable();
  -    private static Mutex lock = new Mutex();
  -
  -    /**
  -     * Set the current <code>ComponentManager</code> instance used by this
  -     * <code>Composable</code>.
  -     */
  -    public void compose(ComponentManager manager) throws ComponentException {
  -        this.manager = manager;
  -    }
  -
  -    public void configure(Configuration configuration)
  -        throws ConfigurationException {
  -        if (null != configuration) {
  -            this.configuration = configuration;
  -        } else {
  -            getLogger().error(
  -                "Couldn't configure Web3DataSourceSelector."
  -                    + " No configuration provided!");
  -        }
  -    }
  -
  -    public boolean hasComponent(Object obj) {
  -        return Web3DataSourceSelectorImpl.pools.containsKey(obj);
  -    }
  -
  -    public Component select(Object obj) throws ComponentException {
  -        Web3DataSource pool = null;
  -        try {
  -            Web3DataSourceSelectorImpl.lock.acquire();
  -            if (null != obj) {
  -                if (Web3DataSourceSelectorImpl.pools.containsKey(obj)) {
  -                    pool =
  -                        (Web3DataSource) 
Web3DataSourceSelectorImpl.pools.get(
  -                            obj);
  -                } else {
  -                    Configuration a[] =
  -                        this.configuration.getChildren("backend"),
  -                        c = null;
  -
  -                    if (null != a)
  -                        for (int i = 0; i < a.length; i++) {
  -                            try {
  -                                String s = a[i].getAttribute("name");
  -                                if (null != s && s.equals(obj.toString())) {
  -                                    // a backend with a name can be defined 
only once
  -                                    c = a[i];
  -                                    break;
  -                                }
  -                            } catch (ConfigurationException x) {
  -                                // this configuration element has no 
mandatory
  -                                //attribute name
  -                            }
  -                        }
  -                    // No configuration for this backend-id found!
  -                    if (null == c) {
  -                        return null;
  -                    }
  -                    Class theClass =
  -                        Class.forName(
  -                            c.getChild("class").getValue(
  -                                
"org.apache.cocoon.components.web3.impl.Web3DataSourceImpl"),
  -                            true,
  -                            ClassUtils.getClassLoader());
  -                    pool = (Web3DataSource) theClass.newInstance();
  -                    if (pool instanceof LogEnabled) {
  -                        ((LogEnabled) pool).enableLogging(getLogger());
  -                    }
  -                    pool.compose(this.manager);
  -                    pool.configure(c);
  -                    pool.initialize();
  -                    Web3DataSourceSelectorImpl.pools.put(obj, pool);
  -                }
  -            }
  -        } catch (Exception ex) {
  -            getLogger().error(ex.getMessage(), ex);
  -            throw new ComponentException(ex.getMessage());
  -        } finally {
  -            Web3DataSourceSelectorImpl.lock.release();
  -        }
  -        getLogger().debug("Returning Web3DataSource[" + pool + "]");
  -        return pool;
  -    }
  -
  -    public void release(Component component) {
  -    }
  -
  -    /** Dispose properly of the pool */
  -    public void dispose() {
  -        this.manager = null;
  -        try {
  -            Web3DataSourceSelectorImpl.lock.acquire();
  -            String sid = null;
  -            Web3DataSource pool;
  -            for (Enumeration enum = Web3DataSourceSelectorImpl.pools.keys();
  -                enum.hasMoreElements();
  -                ) {
  -                sid = (String) enum.nextElement();
  -                pool =
  -                    (Web3DataSource) 
Web3DataSourceSelectorImpl.pools.get(sid);
  -                pool.dispose();
  -            }
  -            Web3DataSourceSelectorImpl.pools.clear();
  -        } catch (Exception ex) {
  -        } finally {
  -            Web3DataSourceSelectorImpl.lock.release();
  -        }
  -        Web3DataSourceSelectorImpl.lock = null;
  -    }
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package org.apache.cocoon.components.web3.impl;
  +
  +import org.apache.cocoon.components.web3.Web3DataSource;
  +
  +import org.apache.avalon.framework.activity.Disposable;
  +import org.apache.avalon.framework.thread.ThreadSafe;
  +import org.apache.avalon.framework.component.Composable;
  +import org.apache.avalon.framework.component.ComponentManager;
  +import org.apache.avalon.framework.component.ComponentSelector;
  +import org.apache.avalon.framework.component.ComponentException;
  +import org.apache.avalon.framework.component.Component;
  +import org.apache.avalon.framework.configuration.Configuration;
  +import org.apache.avalon.framework.configuration.Configurable;
  +import org.apache.avalon.framework.configuration.ConfigurationException;
  +import org.apache.avalon.framework.logger.AbstractLogEnabled;
  +import org.apache.avalon.framework.logger.LogEnabled;
  +import org.apache.cocoon.util.ClassUtils;
  +
  +import java.util.Enumeration;
  +import java.util.Hashtable;
  +
  +import EDU.oswego.cs.dl.util.concurrent.Mutex;
  +
  +/**
  + * The Default implementation for R3DataSources in Web3.  This uses the
  + * normal <code>com.sap.mw.jco.JCO</code> classes.
  + *
  + * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @since 21. Oct. 2002
  + * @version CVS $Id$
  + */
  +public class Web3DataSourceSelectorImpl
  +    extends AbstractLogEnabled
  +    implements ComponentSelector, Disposable, Composable, Configurable, 
ThreadSafe {
  +
  +    /** The component manager instance */
  +    protected ComponentManager manager = null;
  +    protected Configuration configuration = null;
  +    private static Hashtable pools = new Hashtable();
  +    private static Mutex lock = new Mutex();
  +
  +    /**
  +     * Set the current <code>ComponentManager</code> instance used by this
  +     * <code>Composable</code>.
  +     */
  +    public void compose(ComponentManager manager) throws ComponentException {
  +        this.manager = manager;
  +    }
  +
  +    public void configure(Configuration configuration)
  +        throws ConfigurationException {
  +        if (null != configuration) {
  +            this.configuration = configuration;
  +        } else {
  +            getLogger().error(
  +                "Couldn't configure Web3DataSourceSelector."
  +                    + " No configuration provided!");
  +        }
  +    }
  +
  +    public boolean hasComponent(Object obj) {
  +        return Web3DataSourceSelectorImpl.pools.containsKey(obj);
  +    }
  +
  +    public Component select(Object obj) throws ComponentException {
  +        Web3DataSource pool = null;
  +        try {
  +            Web3DataSourceSelectorImpl.lock.acquire();
  +            if (null != obj) {
  +                if (Web3DataSourceSelectorImpl.pools.containsKey(obj)) {
  +                    pool =
  +                        (Web3DataSource) 
Web3DataSourceSelectorImpl.pools.get(
  +                            obj);
  +                } else {
  +                    Configuration a[] =
  +                        this.configuration.getChildren("backend"),
  +                        c = null;
  +
  +                    if (null != a)
  +                        for (int i = 0; i < a.length; i++) {
  +                            try {
  +                                String s = a[i].getAttribute("name");
  +                                if (null != s && s.equals(obj.toString())) {
  +                                    // a backend with a name can be defined 
only once
  +                                    c = a[i];
  +                                    break;
  +                                }
  +                            } catch (ConfigurationException x) {
  +                                // this configuration element has no 
mandatory
  +                                //attribute name
  +                            }
  +                        }
  +                    // No configuration for this backend-id found!
  +                    if (null == c) {
  +                        return null;
  +                    }
  +                    Class theClass =
  +                        Class.forName(
  +                            c.getChild("class").getValue(
  +                                
"org.apache.cocoon.components.web3.impl.Web3DataSourceImpl"),
  +                            true,
  +                            ClassUtils.getClassLoader());
  +                    pool = (Web3DataSource) theClass.newInstance();
  +                    if (pool instanceof LogEnabled) {
  +                        ((LogEnabled) pool).enableLogging(getLogger());
  +                    }
  +                    pool.compose(this.manager);
  +                    pool.configure(c);
  +                    pool.initialize();
  +                    Web3DataSourceSelectorImpl.pools.put(obj, pool);
  +                }
  +            }
  +        } catch (Exception ex) {
  +            getLogger().error(ex.getMessage(), ex);
  +            throw new ComponentException(ex.getMessage());
  +        } finally {
  +            Web3DataSourceSelectorImpl.lock.release();
  +        }
  +        getLogger().debug("Returning Web3DataSource[" + pool + "]");
  +        return pool;
  +    }
  +
  +    public void release(Component component) {
  +    }
  +
  +    /** Dispose properly of the pool */
  +    public void dispose() {
  +        this.manager = null;
  +        try {
  +            Web3DataSourceSelectorImpl.lock.acquire();
  +            String sid = null;
  +            Web3DataSource pool;
  +            for (Enumeration enum = Web3DataSourceSelectorImpl.pools.keys();
  +                enum.hasMoreElements();
  +                ) {
  +                sid = (String) enum.nextElement();
  +                pool =
  +                    (Web3DataSource) 
Web3DataSourceSelectorImpl.pools.get(sid);
  +                pool.dispose();
  +            }
  +            Web3DataSourceSelectorImpl.pools.clear();
  +        } catch (Exception ex) {
  +        } finally {
  +            Web3DataSourceSelectorImpl.lock.release();
  +        }
  +        Web3DataSourceSelectorImpl.lock = null;
  +    }
  +}
  
  
  
  1.3       +106 -106  
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3Properties.java
  
  Index: Web3Properties.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/components/web3/impl/Web3Properties.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Web3Properties.java       16 Mar 2003 17:49:10 -0000      1.2
  +++ Web3Properties.java       6 May 2003 14:13:00 -0000       1.3
  @@ -1,106 +1,106 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -
  -package org.apache.cocoon.components.web3.impl;
  -
  -import java.util.Properties;
  -import java.util.ArrayList;
  -import java.util.Iterator;
  -import java.io.InputStream;
  -import java.io.IOException;
  -
  -/**
  - * Properties helper class.
  - * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @version CVS $Id$
  - */
  -public class Web3Properties extends Properties {
  -
  -    ArrayList orderedKeys = new ArrayList();
  -    
  -    /** Creates new Properties */
  -    public Web3Properties() {
  -        super();
  -    }
  -
  -    public Web3Properties(Properties defaults) {
  -     super(defaults);
  -    }
  -
  -    public synchronized Iterator getKeysIterator() {
  -        return orderedKeys.iterator();
  -    }
  -
  -    public static Web3Properties load(String name) throws Exception {
  -     Web3Properties props = null;
  -     InputStream is = Web3Properties.class.getResourceAsStream(name);
  -     props = new Web3Properties();
  -     if (null != is) {
  -       props.load(is);
  -       return props;
  -     } 
  -        else {
  -          throw new IOException("Properties could not be loaded."); 
  -        }
  -    }
  -
  -    public synchronized Object put(Object key, Object value) {
  -     Object obj = super.put(key, value);
  -     orderedKeys.add(key);
  -     return obj;
  -    }
  -
  -    public synchronized Object remove(Object key) {
  -     Object obj = super.remove(key);
  -     orderedKeys.remove(key);
  -     return obj;
  -    }
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +
  +package org.apache.cocoon.components.web3.impl;
  +
  +import java.util.Properties;
  +import java.util.ArrayList;
  +import java.util.Iterator;
  +import java.io.InputStream;
  +import java.io.IOException;
  +
  +/**
  + * Properties helper class.
  + * @author <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @version CVS $Id$
  + */
  +public class Web3Properties extends Properties {
  +
  +    ArrayList orderedKeys = new ArrayList();
  +    
  +    /** Creates new Properties */
  +    public Web3Properties() {
  +        super();
  +    }
  +
  +    public Web3Properties(Properties defaults) {
  +     super(defaults);
  +    }
  +
  +    public synchronized Iterator getKeysIterator() {
  +        return orderedKeys.iterator();
  +    }
  +
  +    public static Web3Properties load(String name) throws Exception {
  +     Web3Properties props = null;
  +     InputStream is = Web3Properties.class.getResourceAsStream(name);
  +     props = new Web3Properties();
  +     if (null != is) {
  +       props.load(is);
  +       return props;
  +     } 
  +        else {
  +          throw new IOException("Properties could not be loaded."); 
  +        }
  +    }
  +
  +    public synchronized Object put(Object key, Object value) {
  +     Object obj = super.put(key, value);
  +     orderedKeys.add(key);
  +     return obj;
  +    }
  +
  +    public synchronized Object remove(Object key) {
  +     Object obj = super.remove(key);
  +     orderedKeys.remove(key);
  +     return obj;
  +    }
  +}
  
  
  
  1.4       +365 -365  
cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/transformation/Web3RfcTransformer.java
  
  Index: Web3RfcTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/java/org/apache/cocoon/transformation/Web3RfcTransformer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Web3RfcTransformer.java   31 Mar 2003 11:14:11 -0000      1.3
  +++ Web3RfcTransformer.java   6 May 2003 14:13:01 -0000       1.4
  @@ -1,365 +1,365 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -
  -package org.apache.cocoon.transformation;
  -
  -import com.sap.mw.jco.IFunctionTemplate;
  -import com.sap.mw.jco.JCO;
  -
  -import org.apache.cocoon.components.web3.Web3Client;
  -import org.apache.cocoon.components.web3.Web3DataSource;
  -import org.apache.cocoon.components.web3.Web3Streamer;
  -import org.apache.cocoon.components.web3.Web3;
  -
  -import java.util.Map;
  -import java.util.HashMap;
  -
  -import org.apache.cocoon.environment.SourceResolver;
  -
  -import org.apache.avalon.framework.component.Composable;
  -import org.apache.avalon.framework.activity.Disposable;
  -import org.apache.avalon.framework.configuration.Configurable;
  -import org.apache.avalon.framework.configuration.Configuration;
  -import org.apache.avalon.framework.configuration.ConfigurationException;
  -import org.apache.avalon.framework.component.ComponentManager;
  -import org.apache.avalon.framework.component.ComponentSelector;
  -import org.apache.avalon.framework.parameters.Parameters;
  -import org.apache.avalon.excalibur.pool.Poolable;
  -import org.apache.avalon.excalibur.pool.Recyclable;
  -
  -import org.xml.sax.Attributes;
  -import org.xml.sax.SAXException;
  -import org.xml.sax.helpers.AttributesImpl;
  -
  -/**
  - * TBD
  - *
  - * @author  <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  - * @since 21. Oct. 2002
  - * @version CVS $Id$
  - */
  -public class Web3RfcTransformer extends AbstractTransformer 
  -implements Composable, Disposable, Configurable, Poolable, Recyclable {
  -    
  -    /** The component manager instance */
  -    protected ComponentManager  manager             = null;
  -    protected Web3DataSource    web3source          = null;
  -    
  -    protected Web3Client        connection          = null;
  -    protected JCO.Repository    repository          = null;
  -    protected IFunctionTemplate functionT           = null;
  -    protected JCO.Function      function            = null;
  -    protected JCO.ParameterList importParameterList = null;
  -    protected JCO.ParameterList tablesParameterList = null;
  -    protected JCO.Record        theRecord           = null;
  -    protected JCO.Field         fillMe              = null;
  -    
  -    protected AttributesImpl    attributes          = new AttributesImpl();
  -    protected int               startcount          = 0;
  -    protected boolean           error               = false;
  -    protected String            backend             = null;
  -    protected String            default_backend     = null;
  -    protected String            streamer            = null;
  -    protected HashMap           tags                = new HashMap();
  -    
  -    public void setup(SourceResolver resolver, Map objectModel,
  -                    String source, Parameters parameters) 
  -    throws SAXException {
  -        
  -        try {
  -            backend = parameters.getParameter("system");
  -        }
  -        catch (Exception x) {
  -            if ( null == backend ) {
  -                getLogger().warn("No backend configured! Try to use 
configuration");
  -                backend = default_backend;
  -            }
  -        }
  -    }
  -
  -    public void compose(ComponentManager manager) {
  -        
  -        this.manager = manager;
  -        initTags();
  -    }
  -    
  -    public void configure(final Configuration configuration)
  -        throws ConfigurationException {
  -            
  -        this.default_backend = 
configuration.getChild("system").getValue(null);
  -    }
  -     
  -    public void recycle() {
  -        this.connection            = null;
  -        this.repository            = null;
  -        this.functionT             = null;
  -        this.function              = null;
  -        this.importParameterList   = null;
  -        this.tablesParameterList   = null;
  -        this.theRecord             = null;
  -        this.backend               = null;
  -        this.streamer              = null;
  -        this.error                 = false;
  -        this.startcount            = 0;
  -    }
  -
  -    /** Free all ressources */
  -    public void dispose() {
  -        this.recycle();
  -        this.manager               = null;
  -        this.attributes            = null;
  -        this.web3source            = null;
  -        this.tags                  = null;
  -    }
  -    
  -    /**
  -    * Receive notification of the beginning of a document.
  -    */
  -    public void startDocument() 
  -    throws SAXException {
  -        
  -        if ( null != super.contentHandler ) {
  -            super.contentHandler.startDocument();
  -        }    
  -    }
  -
  -    /**
  -    * Receive notification of the end of a document.
  -    */
  -    public void endDocument() 
  -    throws SAXException {
  -
  -        if ( null != super.contentHandler) {
  -            super.contentHandler.endDocument();
  -        }  
  -    }
  -
  -    /**
  -    * Receive notification of the beginning of an element.
  -    */
  -    public void startElement(String uri, String loc, String raw, Attributes 
a)
  -        throws SAXException {    
  -            
  -        if ( Web3.URI.equals( uri ) && !this.error ) { 
  -            switch ( Integer.parseInt( (String) this.tags.get( loc ))) {
  -                case INCLUDE_ELEM: 
  -                    ComponentSelector r3sc = null;
  -                    try {
  -                        r3sc = (ComponentSelector) 
  -                            this.manager.lookup ( Web3DataSource.ROLE + 
"Selector");
  -                        this.web3source = (Web3DataSource) r3sc.select( 
this.backend );
  -                        this.connection = this.web3source.getWeb3Client();
  -                        this.repository = (JCO.Repository) 
this.connection.getRepository();
  -                        this.functionT = 
this.repository.getFunctionTemplate( 
  -                            a.getValue( Web3.INCLUDE_NAME_ATTR ) );
  -                        this.streamer  = (null == a.getValue( 
Web3.INCLUDE_CLASS_ATTR )) ? 
  -                            "default" : a.getValue( Web3.INCLUDE_CLASS_ATTR 
);
  -                        this.function  = this.functionT.getFunction();       
             
  -                    } 
  -                    catch (Exception ex) {
  -                        String error = "Problems getting client for backend: 
'" 
  -                            + this.backend + "'";
  -                        getLogger().error (error, ex);                   
  -                        super.contentHandler.startElement(uri, 
Web3.PROCESSING_X_ELEM, 
  -                            Web3.PROCESSING_X_ELEM, a);
  -                        super.contentHandler.characters(error.toCharArray(), 
0, 
  -                            error.length());
  -                        super.contentHandler.endElement(uri, 
Web3.PROCESSING_X_ELEM, 
  -                            Web3.PROCESSING_X_ELEM);
  -                        this.error = true;
  -                    } 
  -                    finally {
  -                        this.manager.release ( r3sc );
  -                    }
  -                break;
  -                case IMPORT_ELEM:
  -                    this.importParameterList = 
this.function.getImportParameterList();
  -                    this.theRecord = this.importParameterList;
  -                break;
  -                case FIELD_ELEM: 
  -                    this.fillMe = this.theRecord.getField( 
  -                        a.getValue( Web3.FIELD_NAME_ATTR ));
  -                break;
  -                case STRUCTURE_ELEM: 
  -                    this.theRecord = this.importParameterList.getStructure( 
  -                        a.getValue( Web3.STRUCTURE_NAME_ATTR ));
  -                break;
  -                case TABLES_ELEM:
  -                    this.tablesParameterList = 
this.function.getTableParameterList();
  -                break;
  -                case TABLE_ELEM:
  -                    this.theRecord = this.tablesParameterList.getTable( 
  -                        a.getValue( Web3.TABLE_NAME_ATTR ));
  -                break;
  -                case ROW_ELEM:
  -                    if (null != this.theRecord) {
  -                        try {
  -                            JCO.Table tmpTable = (JCO.Table) this.theRecord;
  -                            tmpTable.appendRow();
  -                        } 
  -                        catch (ClassCastException x) {
  -                            getLogger().error("Not a table! " + 
x.getMessage(), x);
  -                        }
  -                    }
  -                break;
  -                default:
  -                    getLogger().error("Invalid element " + loc);
  -            }
  -        } 
  -        else if (super.contentHandler != null) {
  -            super.contentHandler.startElement(uri, loc, raw, a);
  -        }
  -    }
  -
  -    /**
  -    * Receive notification of the end of an element.
  -    */
  -    public void characters(char c[], int start, int len)
  -    throws SAXException {
  -        String theValue = new String(c, start, len).trim();
  -        if ( null != this.fillMe ) {
  -            if ( "".equals( theValue )) {
  -                theValue = null;
  -            }
  -            try {
  -                this.fillMe.setValue( theValue );
  -                this.fillMe = null;
  -                if( getLogger().isDebugEnabled() ) {
  -                    getLogger().debug("set value = " + theValue);
  -                }
  -            } 
  -            catch (JCO.ConversionException x) {
  -                getLogger().error( x.getMessage(), x);
  -            }
  -        } 
  -        else {
  -            if (super.contentHandler != null) {
  -                super.contentHandler.characters(c, start, len);
  -            }
  -        }
  -    }
  -
  -    /**
  -    * Receive notification of the end of an element.
  -    */
  -    public void endElement(String uri, String loc, String raw)
  -        throws SAXException 
  -    {
  -        if ( Web3.URI.equals(uri) && !this.error ) {
  -            switch ( Integer.parseInt( (String) this.tags.get( loc ))) {
  -                case INCLUDE_ELEM: 
  -                    Web3Streamer w3s = null;
  -                    ComponentSelector streamerSelector = null;
  -                    try {
  -                        this.connection.execute( this.function );
  -                        streamerSelector = 
  -                            (ComponentSelector) 
  -                            this.manager.lookup( Web3Streamer.ROLE + 
"Selector" );
  -                        w3s = (Web3Streamer) streamerSelector.select( 
this.streamer );
  -                        w3s.stream( this.function,  super.contentHandler );
  -                    } 
  -                    catch (Exception x) {
  -                        this.attributes.clear();
  -                        super.contentHandler.startElement(uri, 
Web3.ABAP_EXCEPTION_ELEM, 
  -                            Web3.ABAP_EXCEPTION_ELEM, this.attributes);
  -                        super.contentHandler.characters(x.getMessage 
().toCharArray(), 
  -                            0, x.getMessage ().length());
  -                        super.contentHandler.endElement(uri, 
Web3.ABAP_EXCEPTION_ELEM, 
  -                            Web3.ABAP_EXCEPTION_ELEM);                    
  -                        getLogger().error(x.getMessage(), x);
  -                    } 
  -                    finally {
  -                        this.web3source.releaseWeb3Client( this.connection );
  -                        if ( null != streamerSelector ) {
  -                            streamerSelector.release( w3s );
  -                        }
  -                        manager.release( streamerSelector );
  -                    }
  -                    this.connection = null;
  -                    this.repository = null;
  -                    this.functionT = null;
  -                    this.function = null;
  -                    this.importParameterList = null;
  -                    this.tablesParameterList = null;
  -                    this.theRecord = null;        
  -                break;
  -                case STRUCTURE_ELEM: 
  -                    this.theRecord = this.importParameterList;
  -                break;
  -            } 
  -        }
  -        else if (super.contentHandler != null) {
  -            super.contentHandler.endElement(uri,loc,raw);
  -        }
  -    }
  -
  -    protected final static int INCLUDE_ELEM     = 1;
  -    protected final static int IMPORT_ELEM      = 2;
  -    protected final static int EXPORT_ELEM      = 3;
  -    protected final static int TABLES_ELEM      = 4;
  -    protected final static int FIELD_ELEM       = 5;
  -    protected final static int ROW_ELEM         = 6;
  -    protected final static int STRUCTURE_ELEM   = 7;
  -    protected final static int TABLE_ELEM       = 8;
  -    
  -    protected void initTags() {
  -        
  -        this.tags.put( Web3.INCLUDE_ELEM,   "1" );
  -        this.tags.put( Web3.IMPORT_ELEM,    "2" );        
  -        this.tags.put( Web3.EXPORT_ELEM,    "3" );        
  -        this.tags.put( Web3.TABLES_ELEM,    "4" );        
  -        this.tags.put( Web3.FIELD_ELEM,     "5" );           
  -        this.tags.put( Web3.ROW_ELEM,       "6" );           
  -        this.tags.put( Web3.STRUCTURE_ELEM, "7" );     
  -        this.tags.put( Web3.TABLE_ELEM,     "8" );         
  -    }
  -}
  -
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +
  +package org.apache.cocoon.transformation;
  +
  +import com.sap.mw.jco.IFunctionTemplate;
  +import com.sap.mw.jco.JCO;
  +
  +import org.apache.cocoon.components.web3.Web3Client;
  +import org.apache.cocoon.components.web3.Web3DataSource;
  +import org.apache.cocoon.components.web3.Web3Streamer;
  +import org.apache.cocoon.components.web3.Web3;
  +
  +import java.util.Map;
  +import java.util.HashMap;
  +
  +import org.apache.cocoon.environment.SourceResolver;
  +
  +import org.apache.avalon.framework.component.Composable;
  +import org.apache.avalon.framework.activity.Disposable;
  +import org.apache.avalon.framework.configuration.Configurable;
  +import org.apache.avalon.framework.configuration.Configuration;
  +import org.apache.avalon.framework.configuration.ConfigurationException;
  +import org.apache.avalon.framework.component.ComponentManager;
  +import org.apache.avalon.framework.component.ComponentSelector;
  +import org.apache.avalon.framework.parameters.Parameters;
  +import org.apache.avalon.excalibur.pool.Poolable;
  +import org.apache.avalon.excalibur.pool.Recyclable;
  +
  +import org.xml.sax.Attributes;
  +import org.xml.sax.SAXException;
  +import org.xml.sax.helpers.AttributesImpl;
  +
  +/**
  + * TBD
  + *
  + * @author  <a href="mailto:[EMAIL PROTECTED]">Michael Gerzabek</a>
  + * @since 21. Oct. 2002
  + * @version CVS $Id$
  + */
  +public class Web3RfcTransformer extends AbstractTransformer 
  +implements Composable, Disposable, Configurable, Poolable, Recyclable {
  +    
  +    /** The component manager instance */
  +    protected ComponentManager  manager             = null;
  +    protected Web3DataSource    web3source          = null;
  +    
  +    protected Web3Client        connection          = null;
  +    protected JCO.Repository    repository          = null;
  +    protected IFunctionTemplate functionT           = null;
  +    protected JCO.Function      function            = null;
  +    protected JCO.ParameterList importParameterList = null;
  +    protected JCO.ParameterList tablesParameterList = null;
  +    protected JCO.Record        theRecord           = null;
  +    protected JCO.Field         fillMe              = null;
  +    
  +    protected AttributesImpl    attributes          = new AttributesImpl();
  +    protected int               startcount          = 0;
  +    protected boolean           error               = false;
  +    protected String            backend             = null;
  +    protected String            default_backend     = null;
  +    protected String            streamer            = null;
  +    protected HashMap           tags                = new HashMap();
  +    
  +    public void setup(SourceResolver resolver, Map objectModel,
  +                    String source, Parameters parameters) 
  +    throws SAXException {
  +        
  +        try {
  +            backend = parameters.getParameter("system");
  +        }
  +        catch (Exception x) {
  +            if ( null == backend ) {
  +                getLogger().warn("No backend configured! Try to use 
configuration");
  +                backend = default_backend;
  +            }
  +        }
  +    }
  +
  +    public void compose(ComponentManager manager) {
  +        
  +        this.manager = manager;
  +        initTags();
  +    }
  +    
  +    public void configure(final Configuration configuration)
  +        throws ConfigurationException {
  +            
  +        this.default_backend = 
configuration.getChild("system").getValue(null);
  +    }
  +     
  +    public void recycle() {
  +        this.connection            = null;
  +        this.repository            = null;
  +        this.functionT             = null;
  +        this.function              = null;
  +        this.importParameterList   = null;
  +        this.tablesParameterList   = null;
  +        this.theRecord             = null;
  +        this.backend               = null;
  +        this.streamer              = null;
  +        this.error                 = false;
  +        this.startcount            = 0;
  +    }
  +
  +    /** Free all ressources */
  +    public void dispose() {
  +        this.recycle();
  +        this.manager               = null;
  +        this.attributes            = null;
  +        this.web3source            = null;
  +        this.tags                  = null;
  +    }
  +    
  +    /**
  +    * Receive notification of the beginning of a document.
  +    */
  +    public void startDocument() 
  +    throws SAXException {
  +        
  +        if ( null != super.contentHandler ) {
  +            super.contentHandler.startDocument();
  +        }    
  +    }
  +
  +    /**
  +    * Receive notification of the end of a document.
  +    */
  +    public void endDocument() 
  +    throws SAXException {
  +
  +        if ( null != super.contentHandler) {
  +            super.contentHandler.endDocument();
  +        }  
  +    }
  +
  +    /**
  +    * Receive notification of the beginning of an element.
  +    */
  +    public void startElement(String uri, String loc, String raw, Attributes 
a)
  +        throws SAXException {    
  +            
  +        if ( Web3.URI.equals( uri ) && !this.error ) { 
  +            switch ( Integer.parseInt( (String) this.tags.get( loc ))) {
  +                case INCLUDE_ELEM: 
  +                    ComponentSelector r3sc = null;
  +                    try {
  +                        r3sc = (ComponentSelector) 
  +                            this.manager.lookup ( Web3DataSource.ROLE + 
"Selector");
  +                        this.web3source = (Web3DataSource) r3sc.select( 
this.backend );
  +                        this.connection = this.web3source.getWeb3Client();
  +                        this.repository = (JCO.Repository) 
this.connection.getRepository();
  +                        this.functionT = 
this.repository.getFunctionTemplate( 
  +                            a.getValue( Web3.INCLUDE_NAME_ATTR ) );
  +                        this.streamer  = (null == a.getValue( 
Web3.INCLUDE_CLASS_ATTR )) ? 
  +                            "default" : a.getValue( Web3.INCLUDE_CLASS_ATTR 
);
  +                        this.function  = this.functionT.getFunction();       
             
  +                    } 
  +                    catch (Exception ex) {
  +                        String error = "Problems getting client for backend: 
'" 
  +                            + this.backend + "'";
  +                        getLogger().error (error, ex);                   
  +                        super.contentHandler.startElement(uri, 
Web3.PROCESSING_X_ELEM, 
  +                            Web3.PROCESSING_X_ELEM, a);
  +                        super.contentHandler.characters(error.toCharArray(), 
0, 
  +                            error.length());
  +                        super.contentHandler.endElement(uri, 
Web3.PROCESSING_X_ELEM, 
  +                            Web3.PROCESSING_X_ELEM);
  +                        this.error = true;
  +                    } 
  +                    finally {
  +                        this.manager.release ( r3sc );
  +                    }
  +                break;
  +                case IMPORT_ELEM:
  +                    this.importParameterList = 
this.function.getImportParameterList();
  +                    this.theRecord = this.importParameterList;
  +                break;
  +                case FIELD_ELEM: 
  +                    this.fillMe = this.theRecord.getField( 
  +                        a.getValue( Web3.FIELD_NAME_ATTR ));
  +                break;
  +                case STRUCTURE_ELEM: 
  +                    this.theRecord = this.importParameterList.getStructure( 
  +                        a.getValue( Web3.STRUCTURE_NAME_ATTR ));
  +                break;
  +                case TABLES_ELEM:
  +                    this.tablesParameterList = 
this.function.getTableParameterList();
  +                break;
  +                case TABLE_ELEM:
  +                    this.theRecord = this.tablesParameterList.getTable( 
  +                        a.getValue( Web3.TABLE_NAME_ATTR ));
  +                break;
  +                case ROW_ELEM:
  +                    if (null != this.theRecord) {
  +                        try {
  +                            JCO.Table tmpTable = (JCO.Table) this.theRecord;
  +                            tmpTable.appendRow();
  +                        } 
  +                        catch (ClassCastException x) {
  +                            getLogger().error("Not a table! " + 
x.getMessage(), x);
  +                        }
  +                    }
  +                break;
  +                default:
  +                    getLogger().error("Invalid element " + loc);
  +            }
  +        } 
  +        else if (super.contentHandler != null) {
  +            super.contentHandler.startElement(uri, loc, raw, a);
  +        }
  +    }
  +
  +    /**
  +    * Receive notification of the end of an element.
  +    */
  +    public void characters(char c[], int start, int len)
  +    throws SAXException {
  +        String theValue = new String(c, start, len).trim();
  +        if ( null != this.fillMe ) {
  +            if ( "".equals( theValue )) {
  +                theValue = null;
  +            }
  +            try {
  +                this.fillMe.setValue( theValue );
  +                this.fillMe = null;
  +                if( getLogger().isDebugEnabled() ) {
  +                    getLogger().debug("set value = " + theValue);
  +                }
  +            } 
  +            catch (JCO.ConversionException x) {
  +                getLogger().error( x.getMessage(), x);
  +            }
  +        } 
  +        else {
  +            if (super.contentHandler != null) {
  +                super.contentHandler.characters(c, start, len);
  +            }
  +        }
  +    }
  +
  +    /**
  +    * Receive notification of the end of an element.
  +    */
  +    public void endElement(String uri, String loc, String raw)
  +        throws SAXException 
  +    {
  +        if ( Web3.URI.equals(uri) && !this.error ) {
  +            switch ( Integer.parseInt( (String) this.tags.get( loc ))) {
  +                case INCLUDE_ELEM: 
  +                    Web3Streamer w3s = null;
  +                    ComponentSelector streamerSelector = null;
  +                    try {
  +                        this.connection.execute( this.function );
  +                        streamerSelector = 
  +                            (ComponentSelector) 
  +                            this.manager.lookup( Web3Streamer.ROLE + 
"Selector" );
  +                        w3s = (Web3Streamer) streamerSelector.select( 
this.streamer );
  +                        w3s.stream( this.function,  super.contentHandler );
  +                    } 
  +                    catch (Exception x) {
  +                        this.attributes.clear();
  +                        super.contentHandler.startElement(uri, 
Web3.ABAP_EXCEPTION_ELEM, 
  +                            Web3.ABAP_EXCEPTION_ELEM, this.attributes);
  +                        super.contentHandler.characters(x.getMessage 
().toCharArray(), 
  +                            0, x.getMessage ().length());
  +                        super.contentHandler.endElement(uri, 
Web3.ABAP_EXCEPTION_ELEM, 
  +                            Web3.ABAP_EXCEPTION_ELEM);                    
  +                        getLogger().error(x.getMessage(), x);
  +                    } 
  +                    finally {
  +                        this.web3source.releaseWeb3Client( this.connection );
  +                        if ( null != streamerSelector ) {
  +                            streamerSelector.release( w3s );
  +                        }
  +                        manager.release( streamerSelector );
  +                    }
  +                    this.connection = null;
  +                    this.repository = null;
  +                    this.functionT = null;
  +                    this.function = null;
  +                    this.importParameterList = null;
  +                    this.tablesParameterList = null;
  +                    this.theRecord = null;        
  +                break;
  +                case STRUCTURE_ELEM: 
  +                    this.theRecord = this.importParameterList;
  +                break;
  +            } 
  +        }
  +        else if (super.contentHandler != null) {
  +            super.contentHandler.endElement(uri,loc,raw);
  +        }
  +    }
  +
  +    protected final static int INCLUDE_ELEM     = 1;
  +    protected final static int IMPORT_ELEM      = 2;
  +    protected final static int EXPORT_ELEM      = 3;
  +    protected final static int TABLES_ELEM      = 4;
  +    protected final static int FIELD_ELEM       = 5;
  +    protected final static int ROW_ELEM         = 6;
  +    protected final static int STRUCTURE_ELEM   = 7;
  +    protected final static int TABLE_ELEM       = 8;
  +    
  +    protected void initTags() {
  +        
  +        this.tags.put( Web3.INCLUDE_ELEM,   "1" );
  +        this.tags.put( Web3.IMPORT_ELEM,    "2" );        
  +        this.tags.put( Web3.EXPORT_ELEM,    "3" );        
  +        this.tags.put( Web3.TABLES_ELEM,    "4" );        
  +        this.tags.put( Web3.FIELD_ELEM,     "5" );           
  +        this.tags.put( Web3.ROW_ELEM,       "6" );           
  +        this.tags.put( Web3.STRUCTURE_ELEM, "7" );     
  +        this.tags.put( Web3.TABLE_ELEM,     "8" );         
  +    }
  +}
  +
  
  
  
  1.2       +72 -72    
cocoon-2.1/src/blocks/web3/mocks/com/sap/mw/jco/IFunctionTemplate.java
  
  Index: IFunctionTemplate.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/mocks/com/sap/mw/jco/IFunctionTemplate.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- IFunctionTemplate.java    9 Mar 2003 00:06:40 -0000       1.1
  +++ IFunctionTemplate.java    6 May 2003 14:13:01 -0000       1.2
  @@ -1,72 +1,72 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package com.sap.mw.jco;
  -
  -/**
  - * **********************************************************************
  - * *                            W A R N I N G                           *
  - * **********************************************************************
  - *
  - *  This is a mock object of the class, not the actual class.
  - *  It's used to compile the code in absence of the actual class.
  - *
  - *  This clsss is created by hand, not automatically.
  - *
  - * **********************************************************************
  - * 
  - * @version CVS $Id$
  - */
  - 
  -public interface IFunctionTemplate {
  -
  -    public JCO.Function getFunction();
  -    
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package com.sap.mw.jco;
  +
  +/**
  + * **********************************************************************
  + * *                            W A R N I N G                           *
  + * **********************************************************************
  + *
  + *  This is a mock object of the class, not the actual class.
  + *  It's used to compile the code in absence of the actual class.
  + *
  + *  This clsss is created by hand, not automatically.
  + *
  + * **********************************************************************
  + * 
  + * @version CVS $Id$
  + */
  + 
  +public interface IFunctionTemplate {
  +
  +    public JCO.Function getFunction();
  +    
  +}
  
  
  
  1.2       +71 -71    
cocoon-2.1/src/blocks/web3/mocks/com/sap/mw/jco/IRepository.java
  
  Index: IRepository.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/mocks/com/sap/mw/jco/IRepository.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- IRepository.java  9 Mar 2003 00:06:40 -0000       1.1
  +++ IRepository.java  6 May 2003 14:13:01 -0000       1.2
  @@ -1,71 +1,71 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package com.sap.mw.jco;
  -
  -/**
  - * **********************************************************************
  - * *                            W A R N I N G                           *
  - * **********************************************************************
  - *
  - *  This is a mock object of the class, not the actual class.
  - *  It's used to compile the code in absence of the actual class.
  - *
  - *  This clsss is created by hand, not automatically.
  - *
  - * **********************************************************************
  - * 
  - * @version CVS $Id$
  - */
  - 
  -public interface IRepository {
  -
  -    
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package com.sap.mw.jco;
  +
  +/**
  + * **********************************************************************
  + * *                            W A R N I N G                           *
  + * **********************************************************************
  + *
  + *  This is a mock object of the class, not the actual class.
  + *  It's used to compile the code in absence of the actual class.
  + *
  + *  This clsss is created by hand, not automatically.
  + *
  + * **********************************************************************
  + * 
  + * @version CVS $Id$
  + */
  + 
  +public interface IRepository {
  +
  +    
  +}
  
  
  
  1.2       +397 -397  cocoon-2.1/src/blocks/web3/mocks/com/sap/mw/jco/JCO.java
  
  Index: JCO.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/web3/mocks/com/sap/mw/jco/JCO.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JCO.java  9 Mar 2003 00:06:40 -0000       1.1
  +++ JCO.java  6 May 2003 14:13:01 -0000       1.2
  @@ -1,397 +1,397 @@
  -/*
  -
  - ============================================================================
  -                   The Apache Software License, Version 1.1
  - ============================================================================
  -
  - Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  -
  - Redistribution and use in source and binary forms, with or without modifica-
  - tion, are permitted provided that the following conditions are met:
  -
  - 1. Redistributions of  source code must  retain the above copyright  notice,
  -    this list of conditions and the following disclaimer.
  -
  - 2. Redistributions in binary form must reproduce the above copyright notice,
  -    this list of conditions and the following disclaimer in the documentation
  -    and/or other materials provided with the distribution.
  -
  - 3. The end-user documentation included with the redistribution, if any, must
  -    include  the following  acknowledgment:  "This product includes  software
  -    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  -    Alternately, this  acknowledgment may  appear in the software itself,  if
  -    and wherever such third-party acknowledgments normally appear.
  -
  - 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  -    used to  endorse or promote  products derived from  this software without
  -    prior written permission. For written permission, please contact
  -    [EMAIL PROTECTED]
  -
  - 5. Products  derived from this software may not  be called "Apache", nor may
  -    "Apache" appear  in their name,  without prior written permission  of the
  -    Apache Software Foundation.
  -
  - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  - FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  - APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  - INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  - DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  - OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  - ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  - (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  -
  - This software  consists of voluntary contributions made  by many individuals
  - on  behalf of the Apache Software  Foundation and was  originally created by
  - Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  - Software Foundation, please see <http://www.apache.org/>.
  -
  -*/
  -package com.sap.mw.jco;
  -
  -import java.util.Properties;
  -import java.net.URL;
  -
  -/**
  - * **********************************************************************
  - * *                            W A R N I N G                           *
  - * **********************************************************************
  - *
  - *  This is a mock object of the class, not the actual class.
  - *  It's used to compile the code in absence of the actual class.
  - *
  - *  This clsss is created by hand, not automatically.
  - *
  - * **********************************************************************
  - * 
  - * @version CVS $Id$
  - */
  - 
  -public class JCO {
  -
  -    public static void addClientPool(String SID, int poolsize, Properties 
properties) {
  -    }
  -    
  -    public static void setTraceLevel(int level) {
  -    }
  -    
  -    public static JCO.Client getClient(String key) {
  -        return null;
  -    }
  -    
  -    public static void releaseClient(JCO.Client client) {
  -    }
  -    
  -    public static void removeClientPool(String key) {
  -    }
  -    
  -    public static JCO.PoolManager getClientPoolManager() {
  -        return null;
  -    }
  -    
  -    public static class PoolManager {
  -        
  -        public JCO.Pool getPool(String name) {
  -            return null;
  -        }
  -    }
  -    
  -    public static class Pool {
  -     
  -        public final void setTrace(boolean trace) {
  -        }
  -    }
  -    
  -    public static class Function {
  -        
  -        public JCO.ParameterList getImportParameterList() {
  -            return null;
  -        }
  -        
  -        public JCO.ParameterList getExportParameterList() {
  -            return null;
  -        }
  -        
  -        public JCO.ParameterList getTableParameterList() {
  -            return null;
  -        }    
  -        
  -        public String getName() {
  -            return null;
  -        }
  -    }
  -    
  -    public static class ParameterList extends Record {
  -    }
  -    
  -    public static class Attributes {
  -    }
  -    
  -    public static class Throughput {
  -    }
  -    
  -    public static class Repository implements IRepository {
  -        public Repository (String s, JCO.Client client) {
  -        }
  -        
  -        public IFunctionTemplate getFunctionTemplate(String name) {
  -            return null;
  -        }
  -    }
  -    
  -    public static class Record {
  -        
  -        public String getName(int index) {
  -            return null;
  -        }
  -        
  -        public final JCO.Field getField(int index) {
  -            return null;
  -        }
  -        
  -        public final JCO.Field getField(String name) {
  -            return null;
  -        }
  -        
  -        public String getString(int index) {
  -            return null;
  -        }
  -        
  -        public JCO.Structure getStructure(int index) {
  -            return null;
  -        }
  -        
  -        public JCO.Structure getStructure(String name) {
  -            return null;
  -        }
  -        
  -        public JCO.Table getTable(int index) {
  -            return null;
  -        }
  -        
  -        public JCO.Table getTable(String name) {
  -            return null;
  -        }
  -        
  -        public int getFieldCount() {
  -            return -1;
  -        }
  -    }
  -    
  -    public static class Field {
  -        
  -        public boolean isStructure() {
  -            return false;
  -        }
  -        
  -        public void setValue(String value) throws JCO.ConversionException {
  -        }
  -    }
  -    
  -    public static class Table extends Record {
  -        
  -        public void appendRow() {
  -        }
  -        
  -        public final int getNumRows() {
  -            return -1;
  -        }
  -        
  -        public void setRow(int pos) {
  -        }
  -    }
  -    
  -    public static class Structure extends Record {
  -    }
  -    
  -    public static class AbapException extends Throwable {
  -        
  -        public final String getKey() {
  -            return null;
  -        }
  -    }
  -    
  -    public static class ConversionException extends Throwable {
  -    }
  -    
  -    public static class Client {
  -        
  -        public void abort(String message) {
  -        }
  -        
  -        public void connect() {
  -        }
  -        
  -        public Object clone() {
  -            return null;
  -        }
  -        
  -        public void disconnect() {
  -        }
  -        
  -        public void execute(JCO.Function function) {
  -        }
  -        
  -        public void execute(String name, 
  -                    JCO.ParameterList input,
  -                    JCO.ParameterList output) {
  -        }
  -        
  -        public void execute(String name,
  -                    JCO.ParameterList input,
  -                    JCO.ParameterList output,
  -                    JCO.ParameterList tables) {
  -        }
  -        
  -        public void execute(JCO.Function function,
  -                    java.lang.String tid) {
  -        }
  -        
  -        public void execute(JCO.Function function,
  -                    String tid,
  -                    String queue) {
  -        }
  -        
  -        public void execute(JCO.Function function,
  -                    String tid,
  -                    String queue,
  -                    int pos) {
  -        }
  -        
  -        public void execute(String name,
  -                    JCO.ParameterList input,
  -                    JCO.ParameterList tables,
  -                    String tid) {
  -        }
  -        
  -        public void execute(String name,
  -                    JCO.ParameterList input,
  -                    JCO.ParameterList tables,
  -                    String tid,
  -                    String queue) {
  -        }
  -        
  -        public void execute(String name,
  -                    JCO.ParameterList input,
  -                    JCO.ParameterList tables,
  -                    String tid,
  -                    String queue,
  -                    int pos) {
  -        }
  -        
  -        public String createTID() {
  -            return null;
  -        }
  -        
  -        public void confirmTID(String tid) {
  -        }
  -        
  -        public final void ping() {
  -        }
  -        
  -        public boolean getAbapDebug() {
  -            return false;
  -        }
  -
  -        public String getASHost() {
  -            return null;
  -        }
  -
  -        public JCO.Attributes getAttributes() {
  -            return null;
  -        }
  -
  -        public String getClient() {
  -            return null;
  -        }
  -
  -        public String getGroup() {
  -            return null;
  -        }
  -
  -        public String getGWHost() {
  -            return null;
  -        }
  -
  -        public String getGWServ() {
  -            return null;
  -        }
  -
  -        public String getLanguage() {
  -            return null;
  -        }
  -
  -        public String getMSHost() {
  -            return null;
  -        }
  -
  -        public String[][] getPropertyInfo() {
  -            return null;
  -        }
  -
  -        public int getSapGui() {
  -            return -1;
  -        }
  -
  -        public byte getState() {
  -            return 0;
  -        }
  -
  -        public String getSystemID() {
  -            return null;
  -        }
  -
  -        public String getSystemNumber() {
  -            return null;
  -        }
  -
  -        public String getTPName() {
  -            return null;
  -        }
  -
  -        public boolean getTrace() { 
  -            return false;
  -        }
  -
  -        public URL getURL() {
  -            return null;
  -        }
  -
  -        public String getUser() {
  -            return null;
  -        }
  -
  -        public boolean isAlive() {
  -            return false;
  -        }
  -
  -        public void setAbapDebug(boolean debug) {
  -        }
  -
  -        public void setProperty(String key, String value) {
  -        }
  -
  -        public void setSapGui(int use_sapgui) {
  -        }
  -
  -        public void setTrace(boolean trace) {
  -        }
  -
  -        public final Properties getProperties() {
  -            return null;
  -        }
  -
  -        public final String getProperty(String key) {
  -            return null;
  -        }
  -
  -        public boolean isValid() {
  -            return false;
  -        }
  -
  -        public void setThroughput(JCO.Throughput throughput) {
  -        }           
  -    }
  -    
  -}
  +/*
  +
  + ============================================================================
  +                   The Apache Software License, Version 1.1
  + ============================================================================
  +
  + Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved.
  +
  + Redistribution and use in source and binary forms, with or without modifica-
  + tion, are permitted provided that the following conditions are met:
  +
  + 1. Redistributions of  source code must  retain the above copyright  notice,
  +    this list of conditions and the following disclaimer.
  +
  + 2. Redistributions in binary form must reproduce the above copyright notice,
  +    this list of conditions and the following disclaimer in the documentation
  +    and/or other materials provided with the distribution.
  +
  + 3. The end-user documentation included with the redistribution, if any, must
  +    include  the following  acknowledgment:  "This product includes  software
  +    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
  +    Alternately, this  acknowledgment may  appear in the software itself,  if
  +    and wherever such third-party acknowledgments normally appear.
  +
  + 4. The names "Apache Cocoon" and  "Apache Software Foundation" must  not  be
  +    used to  endorse or promote  products derived from  this software without
  +    prior written permission. For written permission, please contact
  +    [EMAIL PROTECTED]
  +
  + 5. Products  derived from this software may not  be called "Apache", nor may
  +    "Apache" appear  in their name,  without prior written permission  of the
  +    Apache Software Foundation.
  +
  + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
  + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  + FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
  + APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
  + INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
  + DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
  + OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
  + ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
  + (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
  + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  +
  + This software  consists of voluntary contributions made  by many individuals
  + on  behalf of the Apache Software  Foundation and was  originally created by
  + Stefano Mazzocchi  <[EMAIL PROTECTED]>. For more  information on the Apache
  + Software Foundation, please see <http://www.apache.org/>.
  +
  +*/
  +package com.sap.mw.jco;
  +
  +import java.util.Properties;
  +import java.net.URL;
  +
  +/**
  + * **********************************************************************
  + * *                            W A R N I N G                           *
  + * **********************************************************************
  + *
  + *  This is a mock object of the class, not the actual class.
  + *  It's used to compile the code in absence of the actual class.
  + *
  + *  This clsss is created by hand, not automatically.
  + *
  + * **********************************************************************
  + * 
  + * @version CVS $Id$
  + */
  + 
  +public class JCO {
  +
  +    public static void addClientPool(String SID, int poolsize, Properties 
properties) {
  +    }
  +    
  +    public static void setTraceLevel(int level) {
  +    }
  +    
  +    public static JCO.Client getClient(String key) {
  +        return null;
  +    }
  +    
  +    public static void releaseClient(JCO.Client client) {
  +    }
  +    
  +    public static void removeClientPool(String key) {
  +    }
  +    
  +    public static JCO.PoolManager getClientPoolManager() {
  +        return null;
  +    }
  +    
  +    public static class PoolManager {
  +        
  +        public JCO.Pool getPool(String name) {
  +            return null;
  +        }
  +    }
  +    
  +    public static class Pool {
  +     
  +        public final void setTrace(boolean trace) {
  +        }
  +    }
  +    
  +    public static class Function {
  +        
  +        public JCO.ParameterList getImportParameterList() {
  +            return null;
  +        }
  +        
  +        public JCO.ParameterList getExportParameterList() {
  +            return null;
  +        }
  +        
  +        public JCO.ParameterList getTableParameterList() {
  +            return null;
  +        }    
  +        
  +        public String getName() {
  +            return null;
  +        }
  +    }
  +    
  +    public static class ParameterList extends Record {
  +    }
  +    
  +    public static class Attributes {
  +    }
  +    
  +    public static class Throughput {
  +    }
  +    
  +    public static class Repository implements IRepository {
  +        public Repository (String s, JCO.Client client) {
  +        }
  +        
  +        public IFunctionTemplate getFunctionTemplate(String name) {
  +            return null;
  +        }
  +    }
  +    
  +    public static class Record {
  +        
  +        public String getName(int index) {
  +            return null;
  +        }
  +        
  +        public final JCO.Field getField(int index) {
  +            return null;
  +        }
  +        
  +        public final JCO.Field getField(String name) {
  +            return null;
  +        }
  +        
  +        public String getString(int index) {
  +            return null;
  +        }
  +        
  +        public JCO.Structure getStructure(int index) {
  +            return null;
  +        }
  +        
  +        public JCO.Structure getStructure(String name) {
  +            return null;
  +        }
  +        
  +        public JCO.Table getTable(int index) {
  +            return null;
  +        }
  +        
  +        public JCO.Table getTable(String name) {
  +            return null;
  +        }
  +        
  +        public int getFieldCount() {
  +            return -1;
  +        }
  +    }
  +    
  +    public static class Field {
  +        
  +        public boolean isStructure() {
  +            return false;
  +        }
  +        
  +        public void setValue(String value) throws JCO.ConversionException {
  +        }
  +    }
  +    
  +    public static class Table extends Record {
  +        
  +        public void appendRow() {
  +        }
  +        
  +        public final int getNumRows() {
  +            return -1;
  +        }
  +        
  +        public void setRow(int pos) {
  +        }
  +    }
  +    
  +    public static class Structure extends Record {
  +    }
  +    
  +    public static class AbapException extends Throwable {
  +        
  +        public final String getKey() {
  +            return null;
  +        }
  +    }
  +    
  +    public static class ConversionException extends Throwable {
  +    }
  +    
  +    public static class Client {
  +        
  +        public void abort(String message) {
  +        }
  +        
  +        public void connect() {
  +        }
  +        
  +        public Object clone() {
  +            return null;
  +        }
  +        
  +        public void disconnect() {
  +        }
  +        
  +        public void execute(JCO.Function function) {
  +        }
  +        
  +        public void execute(String name, 
  +                    JCO.ParameterList input,
  +                    JCO.ParameterList output) {
  +        }
  +        
  +        public void execute(String name,
  +                    JCO.ParameterList input,
  +                    JCO.ParameterList output,
  +                    JCO.ParameterList tables) {
  +        }
  +        
  +        public void execute(JCO.Function function,
  +                    java.lang.String tid) {
  +        }
  +        
  +        public void execute(JCO.Function function,
  +                    String tid,
  +                    String queue) {
  +        }
  +        
  +        public void execute(JCO.Function function,
  +                    String tid,
  +                    String queue,
  +                    int pos) {
  +        }
  +        
  +        public void execute(String name,
  +                    JCO.ParameterList input,
  +                    JCO.ParameterList tables,
  +                    String tid) {
  +        }
  +        
  +        public void execute(String name,
  +                    JCO.ParameterList input,
  +                    JCO.ParameterList tables,
  +                    String tid,
  +                    String queue) {
  +        }
  +        
  +        public void execute(String name,
  +                    JCO.ParameterList input,
  +                    JCO.ParameterList tables,
  +                    String tid,
  +                    String queue,
  +                    int pos) {
  +        }
  +        
  +        public String createTID() {
  +            return null;
  +        }
  +        
  +        public void confirmTID(String tid) {
  +        }
  +        
  +        public final void ping() {
  +        }
  +        
  +        public boolean getAbapDebug() {
  +            return false;
  +        }
  +
  +        public String getASHost() {
  +            return null;
  +        }
  +
  +        public JCO.Attributes getAttributes() {
  +            return null;
  +        }
  +
  +        public String getClient() {
  +            return null;
  +        }
  +
  +        public String getGroup() {
  +            return null;
  +        }
  +
  +        public String getGWHost() {
  +            return null;
  +        }
  +
  +        public String getGWServ() {
  +            return null;
  +        }
  +
  +        public String getLanguage() {
  +            return null;
  +        }
  +
  +        public String getMSHost() {
  +            return null;
  +        }
  +
  +        public String[][] getPropertyInfo() {
  +            return null;
  +        }
  +
  +        public int getSapGui() {
  +            return -1;
  +        }
  +
  +        public byte getState() {
  +            return 0;
  +        }
  +
  +        public String getSystemID() {
  +            return null;
  +        }
  +
  +        public String getSystemNumber() {
  +            return null;
  +        }
  +
  +        public String getTPName() {
  +            return null;
  +        }
  +
  +        public boolean getTrace() { 
  +            return false;
  +        }
  +
  +        public URL getURL() {
  +            return null;
  +        }
  +
  +        public String getUser() {
  +            return null;
  +        }
  +
  +        public boolean isAlive() {
  +            return false;
  +        }
  +
  +        public void setAbapDebug(boolean debug) {
  +        }
  +
  +        public void setProperty(String key, String value) {
  +        }
  +
  +        public void setSapGui(int use_sapgui) {
  +        }
  +
  +        public void setTrace(boolean trace) {
  +        }
  +
  +        public final Properties getProperties() {
  +            return null;
  +        }
  +
  +        public final String getProperty(String key) {
  +            return null;
  +        }
  +
  +        public boolean isValid() {
  +            return false;
  +        }
  +
  +        public void setThroughput(JCO.Throughput throughput) {
  +        }           
  +    }
  +    
  +}
  
  
  
  1.2       +21 -20    cocoon-2.1/src/blocks/web3/samples/dtd/rfc-in.dtd
  
  Index: rfc-in.dtd
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/web3/samples/dtd/rfc-in.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- rfc-in.dtd        9 Mar 2003 00:06:41 -0000       1.1
  +++ rfc-in.dtd        6 May 2003 14:13:01 -0000       1.2
  @@ -1,20 +1,21 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<!ELEMENT include (import, tables*)>
  -<!ATTLIST include
  -     name CDATA #REQUIRED
  -     producer CDATA #IMPLIED
  ->
  -<!ELEMENT import (structure*, field*)>
  -<!ELEMENT structure (field+)>
  -<!ATTLIST structure
  -     name CDATA #REQUIRED
  ->
  -<!ELEMENT field (#PCDATA)>
  -<!ATTLIST field
  -     name CDATA #REQUIRED
  ->
  -<!ELEMENT tables (table)*>
  -<!ELEMENT table (structure+)>
  -<!ATTLIST table
  -     name CDATA #REQUIRED
  ->
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<!ELEMENT include (import, tables*)>
  +<!ATTLIST include
  +     name CDATA #REQUIRED
  +     producer CDATA #IMPLIED
  +>
  +<!ELEMENT import (structure*, field*)>
  +<!ELEMENT structure (field+)>
  +<!ATTLIST structure
  +     name CDATA #REQUIRED
  +>
  +<!ELEMENT field (#PCDATA)>
  +<!ATTLIST field
  +     name CDATA #REQUIRED
  +>
  +<!ELEMENT tables (table)*>
  +<!ELEMENT table (structure+)>
  +<!ATTLIST table
  +     name CDATA #REQUIRED
  +>
  
  
  
  1.2       +21 -20    cocoon-2.1/src/blocks/web3/samples/dtd/rfc-out.dtd
  
  Index: rfc-out.dtd
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/web3/samples/dtd/rfc-out.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- rfc-out.dtd       9 Mar 2003 00:06:42 -0000       1.1
  +++ rfc-out.dtd       6 May 2003 14:13:01 -0000       1.2
  @@ -1,20 +1,21 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<!ELEMENT include (export+, tables*)>
  -<!ATTLIST include
  -     name CDATA #REQUIRED
  ->
  -<!ELEMENT import (structure*, field*)>
  -<!ELEMENT export (structure*, field*)>
  -<!ELEMENT structure (field+)>
  -<!ATTLIST structure
  -     name CDATA #REQUIRED
  ->
  -<!ELEMENT field (#PCDATA)>
  -<!ATTLIST field
  -     name CDATA #REQUIRED
  ->
  -<!ELEMENT tables (table)*>
  -<!ELEMENT table (structure+)>
  -<!ATTLIST table
  -     name CDATA #REQUIRED
  ->
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<!ELEMENT include (export+, tables*)>
  +<!ATTLIST include
  +     name CDATA #REQUIRED
  +>
  +<!ELEMENT import (structure*, field*)>
  +<!ELEMENT export (structure*, field*)>
  +<!ELEMENT structure (field+)>
  +<!ATTLIST structure
  +     name CDATA #REQUIRED
  +>
  +<!ELEMENT field (#PCDATA)>
  +<!ATTLIST field
  +     name CDATA #REQUIRED
  +>
  +<!ELEMENT tables (table)*>
  +<!ELEMENT table (structure+)>
  +<!ATTLIST table
  +     name CDATA #REQUIRED
  +>
  
  
  
  1.3       +17 -15    
cocoon-2.1/src/blocks/web3/samples/stylesheets/pics2view.xsl
  
  Index: pics2view.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/samples/stylesheets/pics2view.xsl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- pics2view.xsl     14 Mar 2003 04:13:03 -0000      1.2
  +++ pics2view.xsl     6 May 2003 14:13:01 -0000       1.3
  @@ -1,15 +1,17 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<!-- 
  -     Author: Michael Gerzabek, [EMAIL PROTECTED], EFP Consulting Österreich
  -     @version CVS $Revision$ $Date$
  --->
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:rfc="http://efp.cc/Web3-Rfc/1.0";>
  -     <xsl:template match="@src">
  -             <xsl:attribute name="src">../../docs/<xsl:value-of 
select="."/></xsl:attribute>
  -     </xsl:template>
  -     <xsl:template match="@*|*|text()|processing-instruction()" 
priority="-1">
  -             <xsl:copy>
  -                     <xsl:apply-templates 
select="@*|*|text()|processing-instruction()"/>
  -             </xsl:copy>
  -     </xsl:template>
  -</xsl:stylesheet>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<!-- 
  +     Author: Michael Gerzabek, [EMAIL PROTECTED], EFP Consulting Österreich
  +     @version CVS $Id$
  +-->
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:rfc="http://efp.cc/Web3-Rfc/1.0";>
  +     <xsl:template match="@src">
  +             <xsl:attribute name="src">../../docs/<xsl:value-of 
select="."/></xsl:attribute>
  +     </xsl:template>
  +     <xsl:template match="@*|*|text()|processing-instruction()" 
priority="-1">
  +             <xsl:copy>
  +                     <xsl:apply-templates 
select="@*|*|text()|processing-instruction()"/>
  +             </xsl:copy>
  +     </xsl:template>
  +</xsl:stylesheet>
  
  
  
  1.2       +21 -20    cocoon-2.1/src/blocks/web3/samples/stylesheets/pretty.xsl
  
  Index: pretty.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/samples/stylesheets/pretty.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- pretty.xsl        9 Mar 2003 00:06:43 -0000       1.1
  +++ pretty.xsl        6 May 2003 14:13:01 -0000       1.2
  @@ -1,20 +1,21 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<xsl:stylesheet version="1.0"
  -xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  -  <xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
  -  <xsl:strip-space elements="*"/>
  -    <xsl:template match="*">
  -      <!-- remove element prefix (if any) -->
  -      <xsl:element name="{local-name()}">
  -        <!-- process attributes -->
  -        <xsl:for-each select="@*">
  -          <!-- remove attribute prefix (if any) -->
  -          <xsl:attribute name="{local-name()}">
  -            <xsl:value-of select="."/>
  -          </xsl:attribute>
  -        </xsl:for-each>
  -        <xsl:apply-templates/>
  -      </xsl:element>
  -  </xsl:template>
  -</xsl:stylesheet>
  -
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<xsl:stylesheet version="1.0"
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  +  <xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes"/>
  +  <xsl:strip-space elements="*"/>
  +    <xsl:template match="*">
  +      <!-- remove element prefix (if any) -->
  +      <xsl:element name="{local-name()}">
  +        <!-- process attributes -->
  +        <xsl:for-each select="@*">
  +          <!-- remove attribute prefix (if any) -->
  +          <xsl:attribute name="{local-name()}">
  +            <xsl:value-of select="."/>
  +          </xsl:attribute>
  +        </xsl:for-each>
  +        <xsl:apply-templates/>
  +      </xsl:element>
  +  </xsl:template>
  +</xsl:stylesheet>
  +
  
  
  
  1.2       +35 -33    cocoon-2.1/src/blocks/web3/samples/stylesheets/proper.xsl
  
  Index: proper.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/samples/stylesheets/proper.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- proper.xsl        9 Mar 2003 00:06:43 -0000       1.1
  +++ proper.xsl        6 May 2003 14:13:01 -0000       1.2
  @@ -1,33 +1,35 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  -<!-- 
  -     Author: Michael Gerzabek, [EMAIL PROTECTED], EFP Consulting Österreich
  -     @version CVS $Revision$ $Date$
  --->
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:rfc="http://efp.cc/Web3-Rfc/1.0";>
  -     <xsl:template match="rfc:export">
  -             <export>
  -                     <xsl:apply-templates/>
  -             </export>
  -     </xsl:template>
  -     <xsl:template match="rfc:tables">
  -             <tables>
  -                     <xsl:apply-templates/>
  -             </tables>
  -     </xsl:template>
  -     <xsl:template match="rfc:row">
  -             <row>
  -                     <xsl:attribute name="id"><xsl:number/></xsl:attribute>
  -                     <xsl:apply-templates/>
  -             </row>
  -     </xsl:template>
  -     <xsl:template match="rfc:*">
  -             <xsl:element name="[EMAIL PROTECTED]:name}">
  -                     <xsl:apply-templates/>
  -             </xsl:element>
  -     </xsl:template>
  -     <xsl:template match="@*|*|text()|processing-instruction()" 
priority="-1">
  -             <xsl:copy>
  -                     <xsl:apply-templates 
select="@*|*|text()|processing-instruction()"/>
  -             </xsl:copy>
  -     </xsl:template>
  -</xsl:stylesheet>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
  +
  +<!-- 
  +     Author: Michael Gerzabek, [EMAIL PROTECTED], EFP Consulting Österreich
  +     @version CVS $Id$
  +-->
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:rfc="http://efp.cc/Web3-Rfc/1.0";>
  +     <xsl:template match="rfc:export">
  +             <export>
  +                     <xsl:apply-templates/>
  +             </export>
  +     </xsl:template>
  +     <xsl:template match="rfc:tables">
  +             <tables>
  +                     <xsl:apply-templates/>
  +             </tables>
  +     </xsl:template>
  +     <xsl:template match="rfc:row">
  +             <row>
  +                     <xsl:attribute name="id"><xsl:number/></xsl:attribute>
  +                     <xsl:apply-templates/>
  +             </row>
  +     </xsl:template>
  +     <xsl:template match="rfc:*">
  +             <xsl:element name="[EMAIL PROTECTED]:name}">
  +                     <xsl:apply-templates/>
  +             </xsl:element>
  +     </xsl:template>
  +     <xsl:template match="@*|*|text()|processing-instruction()" 
priority="-1">
  +             <xsl:copy>
  +                     <xsl:apply-templates 
select="@*|*|text()|processing-instruction()"/>
  +             </xsl:copy>
  +     </xsl:template>
  +</xsl:stylesheet>
  
  
  
  1.2       +91 -88    
cocoon-2.1/src/blocks/web3/samples/stylesheets/rfc2html.xsl
  
  Index: rfc2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/web3/samples/stylesheets/rfc2html.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- rfc2html.xsl      9 Mar 2003 00:06:43 -0000       1.1
  +++ rfc2html.xsl      6 May 2003 14:13:01 -0000       1.2
  @@ -1,88 +1,91 @@
  -<?xml version="1.0" encoding="iso-8859-1"?>
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
xmlns:rfc="http://efp.cc/Web3-Rfc/1.0";>
  -
  -     <xsl:template match="/">
  -             <html>
  -                     <head>
  -                             <title>Web3</title>
  -                     </head>
  -                     <body>
  -                             <xsl:apply-templates/>
  -                     </body>
  -             </html>
  -     </xsl:template>
  -     
  -     <xsl:template match="rfc:tables">
  -             <xsl:if test="count(rfc:table) > 0">
  -                     <h1>tables:</h1>
  -                     <xsl:apply-templates/>
  -             </xsl:if>
  -     </xsl:template>
  -     
  -     <xsl:template match="rfc:table">
  -             <h2>table name: <xsl:value-of select="@*[name(.)='name']"/>
  -             </h2>
  -             <h3>
  -                     <xsl:value-of select="count(rfc:row)"/> Zeilen
  -             </h3>
  -             <xsl:if test="count(rfc:row) &gt; 0">
  -                     <table border="1">
  -                             <tr>
  -                                     <xsl:for-each 
select="rfc:row[1]/rfc:field">
  -                                             <th>
  -                                                     <xsl:value-of 
select="@*[name(.)='name']"/>
  -                                             </th>
  -                                     </xsl:for-each> 
  -                             </tr>
  -                             <xsl:for-each select="rfc:row">
  -                                     <tr>
  -                                             <xsl:for-each 
select="rfc:field">
  -                                                     <td>
  -                                                             <xsl:value-of 
select="."/>
  -                                                     </td>
  -                                             </xsl:for-each>
  -                                     </tr>
  -                             </xsl:for-each>
  -                     </table>
  -             </xsl:if>
  -     </xsl:template>
  -     
  -     <xsl:template match="rfc:export">
  -             <xsl:if test="count(rfc:field) > 0">
  -                     <h1>fields:</h1>
  -                     <table border="1">
  -                             <tr>
  -                                     <th>field name</th>
  -                                     <th>value</th>
  -                             </tr>
  -                             <xsl:apply-templates select="rfc:field"/>
  -                     </table>
  -             </xsl:if>
  -             <xsl:if test="count(rfc:structure) > 0">
  -                     <h1>structures:</h1>
  -                     <xsl:for-each select="rfc:structure">
  -                             <h2>structure name: <xsl:value-of 
select="@*[name(.)='name']"/>
  -                             </h2>
  -                             <table border="1">
  -                                     <tr>
  -                                             <th>field name</th>
  -                                             <th>value</th>
  -                                     </tr>
  -                                     <xsl:apply-templates 
select="rfc:field"/>
  -                             </table>
  -                     </xsl:for-each>
  -             </xsl:if>
  -     </xsl:template>
  -     
  -     <xsl:template match="rfc:field">
  -             <tr>
  -                     <td>
  -                             <xsl:value-of select="@*[name(.)='name']"/>
  -                     </td>
  -                     <td>
  -                             <xsl:value-of select="."/>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -     
  -</xsl:stylesheet>
  +<?xml version="1.0" encoding="iso-8859-1"?>
  +
  +<xsl:stylesheet version="1.0"
  +                xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +                xmlns:rfc="http://efp.cc/Web3-Rfc/1.0";>
  +
  +     <xsl:template match="/">
  +             <html>
  +                     <head>
  +                             <title>Web3</title>
  +                     </head>
  +                     <body>
  +                             <xsl:apply-templates/>
  +                     </body>
  +             </html>
  +     </xsl:template>
  +     
  +     <xsl:template match="rfc:tables">
  +             <xsl:if test="count(rfc:table) > 0">
  +                     <h1>tables:</h1>
  +                     <xsl:apply-templates/>
  +             </xsl:if>
  +     </xsl:template>
  +     
  +     <xsl:template match="rfc:table">
  +             <h2>table name: <xsl:value-of select="@*[name(.)='name']"/>
  +             </h2>
  +             <h3>
  +                     <xsl:value-of select="count(rfc:row)"/> Zeilen
  +             </h3>
  +             <xsl:if test="count(rfc:row) &gt; 0">
  +                     <table border="1">
  +                             <tr>
  +                                     <xsl:for-each 
select="rfc:row[1]/rfc:field">
  +                                             <th>
  +                                                     <xsl:value-of 
select="@*[name(.)='name']"/>
  +                                             </th>
  +                                     </xsl:for-each> 
  +                             </tr>
  +                             <xsl:for-each select="rfc:row">
  +                                     <tr>
  +                                             <xsl:for-each 
select="rfc:field">
  +                                                     <td>
  +                                                             <xsl:value-of 
select="."/>
  +                                                     </td>
  +                                             </xsl:for-each>
  +                                     </tr>
  +                             </xsl:for-each>
  +                     </table>
  +             </xsl:if>
  +     </xsl:template>
  +     
  +     <xsl:template match="rfc:export">
  +             <xsl:if test="count(rfc:field) > 0">
  +                     <h1>fields:</h1>
  +                     <table border="1">
  +                             <tr>
  +                                     <th>field name</th>
  +                                     <th>value</th>
  +                             </tr>
  +                             <xsl:apply-templates select="rfc:field"/>
  +                     </table>
  +             </xsl:if>
  +             <xsl:if test="count(rfc:structure) > 0">
  +                     <h1>structures:</h1>
  +                     <xsl:for-each select="rfc:structure">
  +                             <h2>structure name: <xsl:value-of 
select="@*[name(.)='name']"/>
  +                             </h2>
  +                             <table border="1">
  +                                     <tr>
  +                                             <th>field name</th>
  +                                             <th>value</th>
  +                                     </tr>
  +                                     <xsl:apply-templates 
select="rfc:field"/>
  +                             </table>
  +                     </xsl:for-each>
  +             </xsl:if>
  +     </xsl:template>
  +     
  +     <xsl:template match="rfc:field">
  +             <tr>
  +                     <td>
  +                             <xsl:value-of select="@*[name(.)='name']"/>
  +                     </td>
  +                     <td>
  +                             <xsl:value-of select="."/>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +     
  +</xsl:stylesheet>
  
  
  
  1.2       +35 -34    cocoon-2.1/src/deprecated/conf/deprecated.xconf
  
  Index: deprecated.xconf
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/deprecated/conf/deprecated.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- deprecated.xconf  9 Mar 2003 00:06:51 -0000       1.1
  +++ deprecated.xconf  6 May 2003 14:13:01 -0000       1.2
  @@ -1,34 +1,35 @@
  -<?xml version="1.0"?>
  -<xconf xpath="/cocoon" unless="url-factory">
  -
  -  <!--+
  -      | URL Factory
  -      |
  -      | The url factory adds special url protocols to the system, they are 
then
  -      | available inside Cocoon, e.g. as a source argument for one of the 
sitemap
  -      | components.
  -      |
  -      | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE
  -      +-->
  -  <url-factory logger="core.url-factory">
  -    <!-- Allows access to resources available from the ClassLoader, using 
getResource() method. -->
  -    <protocol class="org.apache.cocoon.components.url.ResourceURLFactory" 
name="resource"/>
  -  </url-factory>
  -
  -  <!--+
  -      | Source Handler
  -      |
  -      | The source handler adds special url protocols to the system, they are
  -      | then available inside Cocoon, e.g. as a source argument for one of 
the
  -      | sitemap components.
  -      |
  -      | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE
  -      +-->
  -  <source-handler logger="core.source-handler">
  -    <!-- file protocol : this is a WriteableSource -->
  -    <protocol class="org.apache.cocoon.components.source.FileSourceFactory" 
name="file"/>
  -    <!-- Allows access to resources available from the servlet context, 
using getResource() method. -->
  -    <protocol 
class="org.apache.cocoon.components.source.ContextSourceFactory" 
name="context"/>
  -  </source-handler>
  -  
  -</xconf>
  +<?xml version="1.0"?>
  +
  +<xconf xpath="/cocoon" unless="url-factory">
  +
  +  <!--+
  +      | URL Factory
  +      |
  +      | The url factory adds special url protocols to the system, they are 
then
  +      | available inside Cocoon, e.g. as a source argument for one of the 
sitemap
  +      | components.
  +      |
  +      | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE
  +      +-->
  +  <url-factory logger="core.url-factory">
  +    <!-- Allows access to resources available from the ClassLoader, using 
getResource() method. -->
  +    <protocol class="org.apache.cocoon.components.url.ResourceURLFactory" 
name="resource"/>
  +  </url-factory>
  +
  +  <!--+
  +      | Source Handler
  +      |
  +      | The source handler adds special url protocols to the system, they are
  +      | then available inside Cocoon, e.g. as a source argument for one of 
the
  +      | sitemap components.
  +      |
  +      | THIS COMPONENT IS DEPRECATED AND SHOULD NOT BE USED ANYMORE
  +      +-->
  +  <source-handler logger="core.source-handler">
  +    <!-- file protocol : this is a WriteableSource -->
  +    <protocol class="org.apache.cocoon.components.source.FileSourceFactory" 
name="file"/>
  +    <!-- Allows access to resources available from the servlet context, 
using getResource() method. -->
  +    <protocol 
class="org.apache.cocoon.components.source.ContextSourceFactory" 
name="context"/>
  +  </source-handler>
  +  
  +</xconf>
  
  
  
  1.2       +54 -53    cocoon-2.1/src/deprecated/conf/deprecated.xroles
  
  Index: deprecated.xroles
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/deprecated/conf/deprecated.xroles,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- deprecated.xroles 9 Mar 2003 00:06:51 -0000       1.1
  +++ deprecated.xroles 6 May 2003 14:13:01 -0000       1.2
  @@ -1,53 +1,54 @@
  -<?xml version="1.0"?>
  -<xroles xpath="/role-list" unless="[EMAIL 
PROTECTED]'org.apache.cocoon.components.resolver.Resolver']">
  -
  -    <!-- ====================== deprecated ======================== -->
  -
  -  <!-- DEPRECATED, use the avalon excalibur entity-resolver instead -->
  -  <role name="org.apache.cocoon.components.resolver.Resolver"
  -        shorthand="resolver"
  -        default-class="org.apache.cocoon.components.resolver.ResolverImpl"/>
  -
  -  <!-- DEPRECATED, use the avalon excalibur xml-parser instead -->
  -  <role name="org.apache.cocoon.components.parser.Parser"
  -        shorthand="parser"
  -        default-class="org.apache.cocoon.components.parser.JaxpParser"/>
  -
  -  <!-- DEPRECATED, use the avalon excalibur source resolve instead -->
  -  <role name="org.apache.cocoon.components.url.URLFactory"
  -        shorthand="url-factory"
  -        default-class="org.apache.cocoon.components.url.URLFactoryImpl"/>
  -
  -  <!-- DEPRECATED, use the avalon excalibur source resolve instead -->
  -  <role name="org.apache.cocoon.components.source.SourceHandler"
  -        shorthand="source-handler"
  -        
default-class="org.apache.cocoon.components.source.SourceHandlerImpl"/>
  -
  -  <!-- DEPRECATED, use the avalon excalibur xslt processor instead -->
  -  <role name="org.apache.cocoon.components.xslt.XSLTProcessor"
  -        shorthand="old-xslt-processor"
  -        default-class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"/>
  -
  -  <!-- DEPRECATED, use the avalon excalibur store implementation instead -->
  -  <role name="org.apache.cocoon.components.store.Store/Repository"
  -        shorthand="repository"
  -        default-class="org.apache.cocoon.components.store.FilesystemStore"/>
  -
  -  <!-- DEPRECATED, use the avalon excalibur store implementation instead -->
  -  <role name="org.apache.cocoon.components.store.Store/TransientCache"
  -        shorthand="cache-transient"
  -        default-class="org.apache.cocoon.components.store.MRUMemoryStore"/>
  -
  -  <!-- DEPRECATED, use the avalon excalibur store implementation instead -->
  -  <role name="org.apache.cocoon.components.store.Store/PersistentCache"
  -       shorthand="cache-persistent"
  -       default-class="org.apache.cocoon.components.store.FilesystemStore"/>
  -
  -  <!-- DEPRECATED, use the avalon excalibur store implementation instead -->
  -  <role name="org.apache.cocoon.components.store.StoreJanitor"
  -        shorthand="old-store-janitor"
  -        default-class="org.apache.cocoon.components.store.StoreJanitorImpl"/>
  -
  -
  -
  -</xroles>
  +<?xml version="1.0"?>
  +
  +<xroles xpath="/role-list" unless="[EMAIL 
PROTECTED]'org.apache.cocoon.components.resolver.Resolver']">
  +
  +    <!-- ====================== deprecated ======================== -->
  +
  +  <!-- DEPRECATED, use the avalon excalibur entity-resolver instead -->
  +  <role name="org.apache.cocoon.components.resolver.Resolver"
  +        shorthand="resolver"
  +        default-class="org.apache.cocoon.components.resolver.ResolverImpl"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur xml-parser instead -->
  +  <role name="org.apache.cocoon.components.parser.Parser"
  +        shorthand="parser"
  +        default-class="org.apache.cocoon.components.parser.JaxpParser"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur source resolve instead -->
  +  <role name="org.apache.cocoon.components.url.URLFactory"
  +        shorthand="url-factory"
  +        default-class="org.apache.cocoon.components.url.URLFactoryImpl"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur source resolve instead -->
  +  <role name="org.apache.cocoon.components.source.SourceHandler"
  +        shorthand="source-handler"
  +        
default-class="org.apache.cocoon.components.source.SourceHandlerImpl"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur xslt processor instead -->
  +  <role name="org.apache.cocoon.components.xslt.XSLTProcessor"
  +        shorthand="old-xslt-processor"
  +        default-class="org.apache.cocoon.components.xslt.XSLTProcessorImpl"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur store implementation instead -->
  +  <role name="org.apache.cocoon.components.store.Store/Repository"
  +        shorthand="repository"
  +        default-class="org.apache.cocoon.components.store.FilesystemStore"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur store implementation instead -->
  +  <role name="org.apache.cocoon.components.store.Store/TransientCache"
  +        shorthand="cache-transient"
  +        default-class="org.apache.cocoon.components.store.MRUMemoryStore"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur store implementation instead -->
  +  <role name="org.apache.cocoon.components.store.Store/PersistentCache"
  +       shorthand="cache-persistent"
  +       default-class="org.apache.cocoon.components.store.FilesystemStore"/>
  +
  +  <!-- DEPRECATED, use the avalon excalibur store implementation instead -->
  +  <role name="org.apache.cocoon.components.store.StoreJanitor"
  +        shorthand="old-store-janitor"
  +        default-class="org.apache.cocoon.components.store.StoreJanitorImpl"/>
  +
  +
  +
  +</xroles>
  
  
  
  1.2       +499 -499  
cocoon-2.1/src/documentation/xdocs/drafts/cocoon2-docbook.xml
  
  Index: cocoon2-docbook.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/documentation/xdocs/drafts/cocoon2-docbook.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- cocoon2-docbook.xml       9 Mar 2003 00:07:49 -0000       1.1
  +++ cocoon2-docbook.xml       6 May 2003 14:13:01 -0000       1.2
  @@ -1,505 +1,505 @@
  -<?xml version="1.0" encoding="ISO-8859-1"?>
  +<?xml version="1.0" encoding="ISO-8859-1"?>
   
   <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN" 
     "http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd"; []> 
   
   <!-- 
  -<!DOCTYPE article
  -  PUBLIC "-//Norman Walsh//DTD Simplified DocBook XML V4.0.1//EN"
  -  "http://nwalsh.com/docbook/simple/4.0.1/sdocbook.dtd";>
  +<!DOCTYPE article
  +  PUBLIC "-//Norman Walsh//DTD Simplified DocBook XML V4.0.1//EN"
  +  "http://nwalsh.com/docbook/simple/4.0.1/sdocbook.dtd";>
   -->
  -
  -<book>
  -<bookinfo>
  -  <title>Cocoon 2</title>
  -  <authorgroup>
  -    <author>
  -      <firstname>Stefano</firstname>
  -      <surname>Mazzocchi</surname>
  -      <affiliation>
  -        <orgname>The Apache Group</orgname>
  -        <address>
  -          <email>[EMAIL PROTECTED]</email>
  -          <otheraddr>http://xml.apache.org</otheraddr>
  -        </address>
  -      </affiliation>
  -    </author>
  -  </authorgroup>
  -    <abstract>
  -      <title>The Apache XML Project</title>
  -        <para>
  -          This document describes the Cocoon project, and its role within the
  -          Apache Group's Java XML project.
  -        </para>
  -    </abstract>
  -    <revhistory>
  -      <revision>
  -        <revnumber>0.01</revnumber>
  -        <date>28 May 2000</date>
  -        <revremark>DocBook markup</revremark>
  -      </revision>
  -    </revhistory>
  -</bookinfo>
  -
  -<chapter>
  -  <title>The Cocoon Project</title>
  -
  -<sect1> 
  -  <title>A new look</title>
  -  <para>
  -    The Cocoon Project will evidence its new course with a new logo that was
  -    designed by Cocoon's creator Stefano Mazzocchi. Here it is:
  -  </para>
  -  <figure>
  -    <title>The new Cocoon Logo</title>
  -    <graphic fileref="cocoon2.gif"></graphic>
  -  </figure>
  -</sect1>
  -
  -<sect1>
  -  <title>Introduction</title>
  -  <para>
  -    The Cocoon Project has gone a long way since it's creation on January 
1999.
  -    It started as a simple servlet for static XSL styling and became more and
  -    more powerful as new features were added. Unfortunately, design decisions
  -    made early in the project influenced its evolution. Today, some of those
  -    constraints that shaped the project were modified as XML standards have
  -    evolved and solidified. For this reason, those design decisions need to 
be
  -    reconsidered under this new light.
  -  </para>
  -  <para>
  -    While Cocoon started as a small step in the direction of a new web
  -    publishing idea based on better design patterns and reviewed estimations 
of
  -    management issues, the technology used was not mature enough for tools to
  -    emerge. Today, most web engineers consider XML as the key for an improved
  -    web model and web site managers see XML as a way to reduce costs and ease
  -    production.
  -  </para>
  -  <para>
  -    In an era where services rather than software will be key for economical
  -    success, a better and less expensive model for web publishing will be a
  -    winner, especially if based on open standards.
  -  </para>
  -</sect1>
  -
  -<sect1> 
  -  <title>Passive APIs vs. Active APIs</title>
  -  <para>
  -    Web serving environments must be fast and scalable to be useful. Cocoon1
  -    was born as a &quot;proof of concept&quot; rather than a production
  -    software and had significant design restrictions based mainly on the
  -    availability of freely redistributable tools. Other issues were lack of
  -    detailed knowledge on the APIs available as well as underestimation of 
the
  -    project success, being created as a way to learn XSL rather than a full
  -    publishing system capable of taking care of all XML web publishing
  -    needs.
  -  </para>
  -
  -  <para>
  -    For the above reasons, Cocoon1 was based on the DOM level 1 API which is 
a
  -    <emphasis>passive</emphasis> API and was intended mainly for client side
  -    operation.  This is mainly due to the fact that most DOM implementations
  -    require the document to reside in memory. While this is practical for 
small
  -    documents and thus good for the &quot;proof of concept&quot; stage, it is
  -    now considered a main design constraint for Cocoon scalability.
  -  </para>
  -
  -  <para>
  -    Since the goal of Cocoon2 is the ability to process simultaneously 
multiple
  -    100Mb documents in JVM with a few Mbs of heap size, careful memory use 
and
  -    tuning of internal components is a key issue. To reach this goal, an
  -    improved API model was needed. This is now identified in the SAX API 
which
  -    is, unlike DOM, event based (so <emphasis>active</emphasis>, in the sense
  -    that its design is based the <emphasis>inversion of control</emphasis>
  -    principle).
  -  </para>
  -
  -  <para>
  -    The event model allows document producers to trigger producing events 
that
  -    get handled in the various processing stages and get finally formatted in
  -    the response stream. This has significant impacts on performance and 
memory
  -    needs:
  -  </para>
  -
  -  <itemizedlist>
  -    <listitem>
  -      <para>
  -        incremental operation
  -      </para>
  -      <para>
  -     the response is created during document production. Client's perceived
  -     performance is dramatically improved since clients can start receiving
  -     data as soon as it is created, not after all processing stages have
  -     been performed. In those cases where incremental operation is not
  -     possible (for example, element sorting), internal buffers store the
  -     events until the operation can be performed.  However, even in these
  -     cases performance can be increased with the use of tuned memory
  -     structures.
  -      </para>
  -    </listitem>
  -    <listitem>
  -      <para>
  -        lowered memory consumption
  -      </para>
  -      <para>
  -     since most of the server processing required in Cocoon is incremental,
  -     an incremental model allows XML production events to be transformed
  -     directly into output events and character written on streams, thus
  -     avoiding the need to store them in memory.
  -      </para>
  -    </listitem>
  -    <listitem>
  -      <para>
  -        easier scalability
  -      </para>
  -      <para>
  -     reduce memory needs allow more concurrent operation to be possible,
  -     thus allowing the publishing system to scale as the load increases.
  -      </para>
  -    </listitem>
  -    <listitem>
  -      <para>
  -        more optimizable code model
  -      </para>
  -      <para>
  -     modern virtual machines are based on the idea of <emphasis>hot
  -     spots</emphasis>, code fragments that are used often and, if optimized,
  -     increase the process execution by far.  This new event model allows
  -     easier detection of hot spots since it's a method driven operation,
  -     rather than a memory driven one. Hot methods can be identified earlier
  -     and their optimization performed better.
  -      </para>
  -    </listitem>
  -    <listitem>
  -      <para>
  -        reduced garbage collection
  -      </para>
  -      <para>
  -     even the most advanced and lightweight DOM implementation require at
  -     least three to five times (and sometimes much more than this) more
  -     memory than original document size. This does not only reduce the
  -     scalability of the operation, but also impact overall performance by
  -     increasing the number of memory garbage that must be collected after
  -     the response in sent to the client. Even if modern virtual machines
  -     reduced the overhead of garbage collection, less garbage will always
  -     have performance and scalability impacts.
  -      </para>
  -    </listitem>
  -  </itemizedlist>
  -
  -  <para>
  -    The above points, alone, would be enough for the Cocoon2 paradigm shift,
  -    even if this event based model impacts not only the general architecture 
of
  -    the publishing system but also its internal processing components such as
  -    XSLT processing and PDF formatting. These components will require
  -    substantial work and maybe design reconsideration to be able to follow a
  -    pure event-based model. The Cocoon Project will work closely with the 
other
  -    component projects to be able to influence their operation in this
  -    direction.
  -  </para>
  -</sect1>
  -
  -<sect1> 
  -<title>Reactors Reconsidered</title>
  -  <para>
  -    Another design choice that should be revised is the reactor pattern that
  -    was introduced to allow components to be connected in more flexible way. 
In
  -    fact, opposed to the fixed pipe model used up to Cocoon 1.3.1, the 
reactor
  -    approach allows components to be dynamically connected, depending on
  -    reaction instructions introduced inside the documents.
  -  </para>
  -
  -  <para>
  -    While this at first seemed a very advanced and highly appealing model, it
  -    turned out to be a very dangerous approach. The first concern is mainly
  -    technical: porting the reactor pattern under an event-based model 
requires
  -    limitations and tradeoffs since the generated events must be cached 
until a
  -    reaction instruction is encountered.
  -  </para>
  -
  -  <para>
  -    But even if the technical difficulties are solved, a key limitation
  -    remains: there is no single point of management.
  -  </para>
  -</sect1>
  -
  -<sect1> 
  -<title>Management Considerations</title>
  -  <para>
  -    The web was created to reduce information management costs by 
distributing
  -    them back on information owners. While this model is great for user
  -    communities (scientists, students, employees, or people in general) each 
of
  -    them managing small amount of personal information, it becomes 
impractical
  -    for highly centralized information systems where <emphasis>distributed
  -    management</emphasis> is simply not practical.
  -  </para>
  -
  -  <para>
  -    While in the HTML web model the page format and URL names where the only
  -    necessary contracts between individuals to create a world wide web, in 
more
  -    structured information systems the number of contracts increases by a
  -    significant factor due to the need of coherence between the hosted
  -    information: common style, common design issues, common languages, server
  -    side logic integration, data validation, etc...
  -  </para>
  -
  -  <para>
  -    It is only under this light that XML and its web model reveal their 
power:
  -    the HTML web model had too little contracts to be able to develop a
  -    structured and more coherent distributed information system, reason that 
is
  -    mainly imposed by the lack of good and algorithmically certain 
information
  -    indexing and knowledge seeking. Lacks that tend to degrade the quality of
  -    the truly distributed web in favor of more structured web sites (that 
based
  -    their improved site structure on internal contracts).
  -  </para>
  -
  -  <para>
  -    The simplification and engineering of web site management is considered 
one
  -    of the most important Cocoon2 goals. This is done mainly by 
technologically
  -    imposing a reduced number of contracts and place them in a hierarchical
  -    shape suitable to replace current high-structure web site management
  -    models.
  -  </para>
  -
  -  <para>
  -    The model that Cocoon2 adopts is the &quot;pyramid model of web
  -    contracts&quot; which is outlined in the picture below
  -  </para>
  -
  -  <figure>
  -    <title>The Cocoon2 Pyramid Model of Contracts</title>
  -    <graphic fileref="pyramid-model.gif"></graphic>
  -  </figure>
  -
  -  <para>
  -    and is composed by four different working contexts (the rectangles)
  -  </para>
  -
  -  <itemizedlist>
  -    <listitem>
  -      <para>
  -        Management
  -      </para>
  -      <para>
  -        the people that decide what the site should contain, how it should
  -        behave and how it should appear
  -      </para>
  -    </listitem>
  -    <listitem>
  -      <para>
  -        Content
  -      </para>
  -      <para>
  -     the people responsible to write, own and manage the site content. This
  -     context may contain several sub-contexts one for each language used to
  -     express page content.
  -      </para>
  -    </listitem>
  -    <listitem>
  -      <para>
  -        Logic
  -      </para>
  -      <para>
  -     the people responsible for integration with dynamic content generation
  -     technologies and database systems.
  -      </para>
  -    </listitem>
  -    <listitem>
  -      <para>
  -        Style
  -      </para>
  -      <para>
  -     the people responsible for information presentation, look &amp; feel,
  -     site graphics and its maintenance.
  -      </para>
  -    </listitem>
  -  </itemizedlist>  
  -
  -  <para>
  -    and five contracts (the lines)
  -    <simplelist>
  -      <member>management - content</member>
  -      <member>management - logic</member>
  -      <member>management - style</member>
  -      <member>content - logic</member>
  -      <member>content - style</member>
  -    </simplelist>
  -  </para>
  -
  -  <para>
  -    note that there is no <emphasis>logic - style</emphasis> contract. 
Cocoon2
  -    aims to provide both software and guidelines to allow you to remove such
  -    contract.
  -  </para>
  -</sect1>
  -
  -<sect1> 
  -<title>Overlapping contexts and Chain Mapping</title>
  -  <para>
  -    The above model can be applied only if the different contexts never
  -    overlap, otherwise there is no chance of having a single management 
point.
  -    For example, if the W3C-recommended method to link stylesheets to XML
  -    documents is used, the content and style contexts overlap and it's
  -    impossible to change the styling behavior of the document without 
changing
  -    it. The same is true for the processing instructions used by the Cocoon1
  -    reactor to drive the page processing: each stage concur to determine the
  -    result thus increasing management and debug complexity. Another 
overlapping
  -    in context contracts is the need for URL-encoded parameters to drive the
  -    page output. These overlaps break the pyramid model and increase the
  -    management costs.
  -  </para>
  -
  -  <para>
  -    In Cocoon2, the reactor pattern will be abandoned in favor of a pipeline
  -    mapping technique. This is based on the fact that the number of different
  -    contracts is limited even for big sites and grows with a rate that is
  -    normally much less than its size.
  -  </para>
  -
  -  <para>
  -    Also, for performance reasons, Cocoon2 will try to compile everything 
that
  -    is possibly compilable (pages/XSP into producers, stylesheets into
  -    processors, etc...) so, in this new model, the <emphasis>processing
  -    chain</emphasis> that generates the page contains (in a direct executable
  -    form) all the information/logic that handles the requested resource to
  -    generate its response.
  -  </para>
  -
  -  <para>
  -    This means that instead of using even-driven request-time DTD
  -    interpretation (done in all Cocoon1 processors), these will be either
  -    compiled into processors directly (XSLT stylesheet compilation) or 
compiled
  -    into producers using logicsheets and XSP which will remove totally the 
need
  -    for request-time interpretation solutions like DCP that will be removed.
  -  </para>
  -
  -  <note>
  -    <para>
  -      Some of these features are already present in latest Cocoon 1.x 
releases
  -      but the Cocoon2 architecture will make them central to its new core
  -    </para>
  -   </note>
  -</sect1>
  -
  -<sect1>
  -<title>Sitemap</title>
  -  <para>
  -    In Cocoon2 terminology, a <emphasis>sitemap</emphasis> is the collection 
of
  -    pipeline matching informations that allow the Cocoon engine to associate
  -    the requested URI to the proper response-producing pipeline.
  -  </para>
  -
  -  <para>
  -    The sitemap physically represents the central repository for web site
  -    administration, where the URI space and its handling is maintained. An
  -    example of the sitemap is given below:
  -  </para>
  -
  -<programlisting>
  -<![CDATA[
  -<source>
  -  <sitemap>
  -   <process match="/press/en/*.html">
  -    <generator type="file" src="/docs/english/press/*.xml"/>
  -    <filter type="xslt">
  -     <parameter name="stylesheet" value="/styles/simple-press-html.xsl"/>
  -    </filter>
  -    <serializer type="html"/>
  -   </process>
  -
  -   <process match="/press/en/*.pdf">
  -    <generator type="file" src="/docs/english/press/*.xml"/>
  -    <filter type="xslt">
  -     <parameter name="stylesheet" value="/styles/simple-press-pdf.xsl"/>
  -    </filter>
  -    <serializer type="pdf"/>
  -   </process>
  -
  -   <process match="/">
  -    <matcher type="agent">
  -     <parameter name="name" value="Mozilla/5.0">
  -    </matcher>
  -    <generator type="file" src="/docs/root.xml"/>
  -    <filter type="xslt">
  -     <parameter name="stylesheet" value="/styles/fancy-XUL-view.xsl"/>
  -    </filter>
  -    <serializer type="html"/>
  -   </process>
  -
  -   <process match="/">
  -    <matcher type="agent">
  -     <parameter name="capability" value="text/vnd.wap.wml">
  -    </matcher>
  -    <generator type="file" src="/docs/root.xml"/>
  -    <filter type="xslt">
  -     <parameter name="stylesheet" value="/styles/WAP-view.xsl"/>
  -    </filter>
  -    <serializer type="wap"/>
  -   </process>
  -
  -   <process match="/">
  -    <generator type="file" src="/docs/root.xml"/>
  -    <filter type="xslt">
  -     <parameter name="stylesheet" value="/styles/normal-view.xsl"/>
  -    </filter>
  -    <serializer type="html"/>
  -   </process>
  -  </sitemap>
  -</source>
  -]]>
  -</programlisting>
  -
  -  <note>
  -    <para>
  -      The sitemap DTD has not yet been standardized and it's not guaranteed 
to
  -      solidify until Cocoon 2.0 is out final. So, the above should be
  -      considered just as a preview and not a specification or even a working
  -      draft. For more information dig into the development mail list digests.
  -    </para>
  -  </note>
  -</sect1>
  -
  -<sect1>
  -<title>Pre-compilation, Pre-generation and Caching</title>
  -  <para>
  -    The cache system in Cocoon1 will be ported with no important design 
changes
  -    since it's very flexible and was not polluted by early design constraints
  -    since it appeared in later versions. The issue regards static file 
caching
  -    that, no matter what, will always be slower than direct web server 
caching.
  -  </para>
  -
  -  <para>
  -    To be able to put most of the static part job back on the web server 
(where
  -    it belongs), Cocoon2 will greatly improve it's command line operation,
  -    allowing the creation of <emphasis>site makefiles</emphasis> that will
  -    automatically scan the web site and the source documents and will 
provide a
  -    way to <emphasis>regenerate</emphasis> the static part of a web site
  -    (images and tables included!) based on the same XML model used in the
  -    dynamic operation version.
  -  </para>
  -
  -  <para>
  -    Cocoon2 will, in fact, be the integration between Cocoon1 and Stylebook.
  -  </para>
  -
  -  <para>
  -    It will be up to the web server administrator to use static regeneration
  -    capabilities on a time basis, manually or triggered by some particular
  -    event (database update signal) since Cocoon2 will only provide servlet 
and
  -    command line capabilities. The nice integration is based on the fact that
  -    there will be no behavioral difference if the files are dynamically
  -    generated in Cocoon2 via the servlet operation and cached internally or
  -    pre-generated and served directly by the web server, as long as URI
  -    contracts are kept the same by the system administrator (via 
URL-rewriting
  -    or aliasing)
  -  </para>
  -
  -  <para>
  -    Also, it will be possible to avoid on-fly page and stylesheet compilation
  -    (which make debugging harder) with command line pre-compilation hooks 
that
  -    will work like normal compilers from a developer's point of view.
  -  </para>
  -</sect1>
  -
  -</chapter>
  -</book>
  +
  +<book>
  +<bookinfo>
  +  <title>Cocoon 2</title>
  +  <authorgroup>
  +    <author>
  +      <firstname>Stefano</firstname>
  +      <surname>Mazzocchi</surname>
  +      <affiliation>
  +        <orgname>The Apache Group</orgname>
  +        <address>
  +          <email>[EMAIL PROTECTED]</email>
  +          <otheraddr>http://xml.apache.org</otheraddr>
  +        </address>
  +      </affiliation>
  +    </author>
  +  </authorgroup>
  +    <abstract>
  +      <title>The Apache XML Project</title>
  +        <para>
  +          This document describes the Cocoon project, and its role within the
  +          Apache Group's Java XML project.
  +        </para>
  +    </abstract>
  +    <revhistory>
  +      <revision>
  +        <revnumber>0.01</revnumber>
  +        <date>28 May 2000</date>
  +        <revremark>DocBook markup</revremark>
  +      </revision>
  +    </revhistory>
  +</bookinfo>
  +
  +<chapter>
  +  <title>The Cocoon Project</title>
  +
  +<sect1> 
  +  <title>A new look</title>
  +  <para>
  +    The Cocoon Project will evidence its new course with a new logo that was
  +    designed by Cocoon's creator Stefano Mazzocchi. Here it is:
  +  </para>
  +  <figure>
  +    <title>The new Cocoon Logo</title>
  +    <graphic fileref="cocoon2.gif"></graphic>
  +  </figure>
  +</sect1>
  +
  +<sect1>
  +  <title>Introduction</title>
  +  <para>
  +    The Cocoon Project has gone a long way since it's creation on January 
1999.
  +    It started as a simple servlet for static XSL styling and became more and
  +    more powerful as new features were added. Unfortunately, design decisions
  +    made early in the project influenced its evolution. Today, some of those
  +    constraints that shaped the project were modified as XML standards have
  +    evolved and solidified. For this reason, those design decisions need to 
be
  +    reconsidered under this new light.
  +  </para>
  +  <para>
  +    While Cocoon started as a small step in the direction of a new web
  +    publishing idea based on better design patterns and reviewed estimations 
of
  +    management issues, the technology used was not mature enough for tools to
  +    emerge. Today, most web engineers consider XML as the key for an improved
  +    web model and web site managers see XML as a way to reduce costs and ease
  +    production.
  +  </para>
  +  <para>
  +    In an era where services rather than software will be key for economical
  +    success, a better and less expensive model for web publishing will be a
  +    winner, especially if based on open standards.
  +  </para>
  +</sect1>
  +
  +<sect1> 
  +  <title>Passive APIs vs. Active APIs</title>
  +  <para>
  +    Web serving environments must be fast and scalable to be useful. Cocoon1
  +    was born as a &quot;proof of concept&quot; rather than a production
  +    software and had significant design restrictions based mainly on the
  +    availability of freely redistributable tools. Other issues were lack of
  +    detailed knowledge on the APIs available as well as underestimation of 
the
  +    project success, being created as a way to learn XSL rather than a full
  +    publishing system capable of taking care of all XML web publishing
  +    needs.
  +  </para>
  +
  +  <para>
  +    For the above reasons, Cocoon1 was based on the DOM level 1 API which is 
a
  +    <emphasis>passive</emphasis> API and was intended mainly for client side
  +    operation.  This is mainly due to the fact that most DOM implementations
  +    require the document to reside in memory. While this is practical for 
small
  +    documents and thus good for the &quot;proof of concept&quot; stage, it is
  +    now considered a main design constraint for Cocoon scalability.
  +  </para>
  +
  +  <para>
  +    Since the goal of Cocoon2 is the ability to process simultaneously 
multiple
  +    100Mb documents in JVM with a few Mbs of heap size, careful memory use 
and
  +    tuning of internal components is a key issue. To reach this goal, an
  +    improved API model was needed. This is now identified in the SAX API 
which
  +    is, unlike DOM, event based (so <emphasis>active</emphasis>, in the sense
  +    that its design is based the <emphasis>inversion of control</emphasis>
  +    principle).
  +  </para>
  +
  +  <para>
  +    The event model allows document producers to trigger producing events 
that
  +    get handled in the various processing stages and get finally formatted in
  +    the response stream. This has significant impacts on performance and 
memory
  +    needs:
  +  </para>
  +
  +  <itemizedlist>
  +    <listitem>
  +      <para>
  +        incremental operation
  +      </para>
  +      <para>
  +     the response is created during document production. Client's perceived
  +     performance is dramatically improved since clients can start receiving
  +     data as soon as it is created, not after all processing stages have
  +     been performed. In those cases where incremental operation is not
  +     possible (for example, element sorting), internal buffers store the
  +     events until the operation can be performed.  However, even in these
  +     cases performance can be increased with the use of tuned memory
  +     structures.
  +      </para>
  +    </listitem>
  +    <listitem>
  +      <para>
  +        lowered memory consumption
  +      </para>
  +      <para>
  +     since most of the server processing required in Cocoon is incremental,
  +     an incremental model allows XML production events to be transformed
  +     directly into output events and character written on streams, thus
  +     avoiding the need to store them in memory.
  +      </para>
  +    </listitem>
  +    <listitem>
  +      <para>
  +        easier scalability
  +      </para>
  +      <para>
  +     reduce memory needs allow more concurrent operation to be possible,
  +     thus allowing the publishing system to scale as the load increases.
  +      </para>
  +    </listitem>
  +    <listitem>
  +      <para>
  +        more optimizable code model
  +      </para>
  +      <para>
  +     modern virtual machines are based on the idea of <emphasis>hot
  +     spots</emphasis>, code fragments that are used often and, if optimized,
  +     increase the process execution by far.  This new event model allows
  +     easier detection of hot spots since it's a method driven operation,
  +     rather than a memory driven one. Hot methods can be identified earlier
  +     and their optimization performed better.
  +      </para>
  +    </listitem>
  +    <listitem>
  +      <para>
  +        reduced garbage collection
  +      </para>
  +      <para>
  +     even the most advanced and lightweight DOM implementation require at
  +     least three to five times (and sometimes much more than this) more
  +     memory than original document size. This does not only reduce the
  +     scalability of the operation, but also impact overall performance by
  +     increasing the number of memory garbage that must be collected after
  +     the response in sent to the client. Even if modern virtual machines
  +     reduced the overhead of garbage collection, less garbage will always
  +     have performance and scalability impacts.
  +      </para>
  +    </listitem>
  +  </itemizedlist>
  +
  +  <para>
  +    The above points, alone, would be enough for the Cocoon2 paradigm shift,
  +    even if this event based model impacts not only the general architecture 
of
  +    the publishing system but also its internal processing components such as
  +    XSLT processing and PDF formatting. These components will require
  +    substantial work and maybe design reconsideration to be able to follow a
  +    pure event-based model. The Cocoon Project will work closely with the 
other
  +    component projects to be able to influence their operation in this
  +    direction.
  +  </para>
  +</sect1>
  +
  +<sect1> 
  +<title>Reactors Reconsidered</title>
  +  <para>
  +    Another design choice that should be revised is the reactor pattern that
  +    was introduced to allow components to be connected in more flexible way. 
In
  +    fact, opposed to the fixed pipe model used up to Cocoon 1.3.1, the 
reactor
  +    approach allows components to be dynamically connected, depending on
  +    reaction instructions introduced inside the documents.
  +  </para>
  +
  +  <para>
  +    While this at first seemed a very advanced and highly appealing model, it
  +    turned out to be a very dangerous approach. The first concern is mainly
  +    technical: porting the reactor pattern under an event-based model 
requires
  +    limitations and tradeoffs since the generated events must be cached 
until a
  +    reaction instruction is encountered.
  +  </para>
  +
  +  <para>
  +    But even if the technical difficulties are solved, a key limitation
  +    remains: there is no single point of management.
  +  </para>
  +</sect1>
  +
  +<sect1> 
  +<title>Management Considerations</title>
  +  <para>
  +    The web was created to reduce information management costs by 
distributing
  +    them back on information owners. While this model is great for user
  +    communities (scientists, students, employees, or people in general) each 
of
  +    them managing small amount of personal information, it becomes 
impractical
  +    for highly centralized information systems where <emphasis>distributed
  +    management</emphasis> is simply not practical.
  +  </para>
  +
  +  <para>
  +    While in the HTML web model the page format and URL names where the only
  +    necessary contracts between individuals to create a world wide web, in 
more
  +    structured information systems the number of contracts increases by a
  +    significant factor due to the need of coherence between the hosted
  +    information: common style, common design issues, common languages, server
  +    side logic integration, data validation, etc...
  +  </para>
  +
  +  <para>
  +    It is only under this light that XML and its web model reveal their 
power:
  +    the HTML web model had too little contracts to be able to develop a
  +    structured and more coherent distributed information system, reason that 
is
  +    mainly imposed by the lack of good and algorithmically certain 
information
  +    indexing and knowledge seeking. Lacks that tend to degrade the quality of
  +    the truly distributed web in favor of more structured web sites (that 
based
  +    their improved site structure on internal contracts).
  +  </para>
  +
  +  <para>
  +    The simplification and engineering of web site management is considered 
one
  +    of the most important Cocoon2 goals. This is done mainly by 
technologically
  +    imposing a reduced number of contracts and place them in a hierarchical
  +    shape suitable to replace current high-structure web site management
  +    models.
  +  </para>
  +
  +  <para>
  +    The model that Cocoon2 adopts is the &quot;pyramid model of web
  +    contracts&quot; which is outlined in the picture below
  +  </para>
  +
  +  <figure>
  +    <title>The Cocoon2 Pyramid Model of Contracts</title>
  +    <graphic fileref="pyramid-model.gif"></graphic>
  +  </figure>
  +
  +  <para>
  +    and is composed by four different working contexts (the rectangles)
  +  </para>
  +
  +  <itemizedlist>
  +    <listitem>
  +      <para>
  +        Management
  +      </para>
  +      <para>
  +        the people that decide what the site should contain, how it should
  +        behave and how it should appear
  +      </para>
  +    </listitem>
  +    <listitem>
  +      <para>
  +        Content
  +      </para>
  +      <para>
  +     the people responsible to write, own and manage the site content. This
  +     context may contain several sub-contexts one for each language used to
  +     express page content.
  +      </para>
  +    </listitem>
  +    <listitem>
  +      <para>
  +        Logic
  +      </para>
  +      <para>
  +     the people responsible for integration with dynamic content generation
  +     technologies and database systems.
  +      </para>
  +    </listitem>
  +    <listitem>
  +      <para>
  +        Style
  +      </para>
  +      <para>
  +     the people responsible for information presentation, look &amp; feel,
  +     site graphics and its maintenance.
  +      </para>
  +    </listitem>
  +  </itemizedlist>  
  +
  +  <para>
  +    and five contracts (the lines)
  +    <simplelist>
  +      <member>management - content</member>
  +      <member>management - logic</member>
  +      <member>management - style</member>
  +      <member>content - logic</member>
  +      <member>content - style</member>
  +    </simplelist>
  +  </para>
  +
  +  <para>
  +    note that there is no <emphasis>logic - style</emphasis> contract. 
Cocoon2
  +    aims to provide both software and guidelines to allow you to remove such
  +    contract.
  +  </para>
  +</sect1>
  +
  +<sect1> 
  +<title>Overlapping contexts and Chain Mapping</title>
  +  <para>
  +    The above model can be applied only if the different contexts never
  +    overlap, otherwise there is no chance of having a single management 
point.
  +    For example, if the W3C-recommended method to link stylesheets to XML
  +    documents is used, the content and style contexts overlap and it's
  +    impossible to change the styling behavior of the document without 
changing
  +    it. The same is true for the processing instructions used by the Cocoon1
  +    reactor to drive the page processing: each stage concur to determine the
  +    result thus increasing management and debug complexity. Another 
overlapping
  +    in context contracts is the need for URL-encoded parameters to drive the
  +    page output. These overlaps break the pyramid model and increase the
  +    management costs.
  +  </para>
  +
  +  <para>
  +    In Cocoon2, the reactor pattern will be abandoned in favor of a pipeline
  +    mapping technique. This is based on the fact that the number of different
  +    contracts is limited even for big sites and grows with a rate that is
  +    normally much less than its size.
  +  </para>
  +
  +  <para>
  +    Also, for performance reasons, Cocoon2 will try to compile everything 
that
  +    is possibly compilable (pages/XSP into producers, stylesheets into
  +    processors, etc...) so, in this new model, the <emphasis>processing
  +    chain</emphasis> that generates the page contains (in a direct executable
  +    form) all the information/logic that handles the requested resource to
  +    generate its response.
  +  </para>
  +
  +  <para>
  +    This means that instead of using even-driven request-time DTD
  +    interpretation (done in all Cocoon1 processors), these will be either
  +    compiled into processors directly (XSLT stylesheet compilation) or 
compiled
  +    into producers using logicsheets and XSP which will remove totally the 
need
  +    for request-time interpretation solutions like DCP that will be removed.
  +  </para>
  +
  +  <note>
  +    <para>
  +      Some of these features are already present in latest Cocoon 1.x 
releases
  +      but the Cocoon2 architecture will make them central to its new core
  +    </para>
  +   </note>
  +</sect1>
  +
  +<sect1>
  +<title>Sitemap</title>
  +  <para>
  +    In Cocoon2 terminology, a <emphasis>sitemap</emphasis> is the collection 
of
  +    pipeline matching informations that allow the Cocoon engine to associate
  +    the requested URI to the proper response-producing pipeline.
  +  </para>
  +
  +  <para>
  +    The sitemap physically represents the central repository for web site
  +    administration, where the URI space and its handling is maintained. An
  +    example of the sitemap is given below:
  +  </para>
  +
  +<programlisting>
  +<![CDATA[
  +<source>
  +  <sitemap>
  +   <process match="/press/en/*.html">
  +    <generator type="file" src="/docs/english/press/*.xml"/>
  +    <filter type="xslt">
  +     <parameter name="stylesheet" value="/styles/simple-press-html.xsl"/>
  +    </filter>
  +    <serializer type="html"/>
  +   </process>
  +
  +   <process match="/press/en/*.pdf">
  +    <generator type="file" src="/docs/english/press/*.xml"/>
  +    <filter type="xslt">
  +     <parameter name="stylesheet" value="/styles/simple-press-pdf.xsl"/>
  +    </filter>
  +    <serializer type="pdf"/>
  +   </process>
  +
  +   <process match="/">
  +    <matcher type="agent">
  +     <parameter name="name" value="Mozilla/5.0">
  +    </matcher>
  +    <generator type="file" src="/docs/root.xml"/>
  +    <filter type="xslt">
  +     <parameter name="stylesheet" value="/styles/fancy-XUL-view.xsl"/>
  +    </filter>
  +    <serializer type="html"/>
  +   </process>
  +
  +   <process match="/">
  +    <matcher type="agent">
  +     <parameter name="capability" value="text/vnd.wap.wml">
  +    </matcher>
  +    <generator type="file" src="/docs/root.xml"/>
  +    <filter type="xslt">
  +     <parameter name="stylesheet" value="/styles/WAP-view.xsl"/>
  +    </filter>
  +    <serializer type="wap"/>
  +   </process>
  +
  +   <process match="/">
  +    <generator type="file" src="/docs/root.xml"/>
  +    <filter type="xslt">
  +     <parameter name="stylesheet" value="/styles/normal-view.xsl"/>
  +    </filter>
  +    <serializer type="html"/>
  +   </process>
  +  </sitemap>
  +</source>
  +]]>
  +</programlisting>
  +
  +  <note>
  +    <para>
  +      The sitemap DTD has not yet been standardized and it's not guaranteed 
to
  +      solidify until Cocoon 2.0 is out final. So, the above should be
  +      considered just as a preview and not a specification or even a working
  +      draft. For more information dig into the development mail list digests.
  +    </para>
  +  </note>
  +</sect1>
  +
  +<sect1>
  +<title>Pre-compilation, Pre-generation and Caching</title>
  +  <para>
  +    The cache system in Cocoon1 will be ported with no important design 
changes
  +    since it's very flexible and was not polluted by early design constraints
  +    since it appeared in later versions. The issue regards static file 
caching
  +    that, no matter what, will always be slower than direct web server 
caching.
  +  </para>
  +
  +  <para>
  +    To be able to put most of the static part job back on the web server 
(where
  +    it belongs), Cocoon2 will greatly improve it's command line operation,
  +    allowing the creation of <emphasis>site makefiles</emphasis> that will
  +    automatically scan the web site and the source documents and will 
provide a
  +    way to <emphasis>regenerate</emphasis> the static part of a web site
  +    (images and tables included!) based on the same XML model used in the
  +    dynamic operation version.
  +  </para>
  +
  +  <para>
  +    Cocoon2 will, in fact, be the integration between Cocoon1 and Stylebook.
  +  </para>
  +
  +  <para>
  +    It will be up to the web server administrator to use static regeneration
  +    capabilities on a time basis, manually or triggered by some particular
  +    event (database update signal) since Cocoon2 will only provide servlet 
and
  +    command line capabilities. The nice integration is based on the fact that
  +    there will be no behavioral difference if the files are dynamically
  +    generated in Cocoon2 via the servlet operation and cached internally or
  +    pre-generated and served directly by the web server, as long as URI
  +    contracts are kept the same by the system administrator (via 
URL-rewriting
  +    or aliasing)
  +  </para>
  +
  +  <para>
  +    Also, it will be possible to avoid on-fly page and stylesheet compilation
  +    (which make debugging harder) with command line pre-compilation hooks 
that
  +    will work like normal compilers from a developer's point of view.
  +  </para>
  +</sect1>
  +
  +</chapter>
  +</book>
  
  
  
  1.2       +8 -8      
cocoon-2.1/src/scratchpad/src/org/apache/cocoon/components/source/impl/blob.xconf
  
  Index: blob.xconf
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/src/org/apache/cocoon/components/source/impl/blob.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- blob.xconf        12 Mar 2003 09:35:39 -0000      1.1
  +++ blob.xconf        6 May 2003 14:13:02 -0000       1.2
  @@ -1,8 +1,8 @@
  -<?xml version="1.0"?>
  -
  -<xconf xpath="/cocoon/source-factories" unless="[EMAIL PROTECTED]'blob']">
  -
  -    <!-- blob pseudo protocol -->
  -    <protocol name="blob" 
class="org.apache.cocoon.components.source.impl.BlobSourceFactory"/>
  -
  -</xconf>
  +<?xml version="1.0"?>
  +
  +<xconf xpath="/cocoon/source-factories" unless="[EMAIL PROTECTED]'blob']">
  +
  +    <!-- blob pseudo protocol -->
  +    <protocol name="blob" 
class="org.apache.cocoon.components.source.impl.BlobSourceFactory"/>
  +
  +</xconf>
  
  
  
  1.3       +208 -211  
cocoon-2.1/src/scratchpad/webapp/samples/jxforms/stylesheets/jxforms2html.xsl
  
  Index: jxforms2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/jxforms/stylesheets/jxforms2html.xsl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- jxforms2html.xsl  3 May 2003 20:36:12 -0000       1.2
  +++ jxforms2html.xsl  6 May 2003 14:13:02 -0000       1.3
  @@ -1,211 +1,208 @@
  -<?xml version="1.0" encoding="iso-8859-1" ?>
  -
  -
  -<!-- 
  -
  -  Basic XMLForm processing stylesheet.  
  -  Converts XMLForm tags to HTML tags.
  -  
  -  Syntax is borrowed from the XForms standard.
  -  http://www.w3.org/TR/2002/WD-xforms-20020118/
  -  
  -  This stylesheet is usually applied at the end of a 
  -  transformation process after laying out the jxform
  -  tags on the page is complete. At this stage jxform tags 
  -  are rendered in device specific format.
  -  
  -  Different widgets are broken into templates 
  -  to allow customization in importing stylesheets
  -
  -  author: Ivelin Ivanov, [EMAIL PROTECTED], June 2002
  -  author: Andrew Timberlake <[EMAIL PROTECTED]>, June 2002
  -  author: Michael Ratliff, [EMAIL PROTECTED] <[EMAIL PROTECTED]>, May 2002
  -  author: Torsten Curdt, [EMAIL PROTECTED], March 2002
  -  author: Simon Price <[EMAIL PROTECTED]>, September 2002
  -  author: Konstantin Piroumian <[EMAIL PROTECTED]>, September 2002
  -  author: Robert Ellis Parrott <[EMAIL PROTECTED]>, October 2002
  --->
  -
  -<xsl:stylesheet version="1.0" 
  -    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
  -  xmlns:xf="http://apache.org/cocoon/jxforms/1.0";>
  -
  -   <xsl:output method = "xml" omit-xml-declaration = "no"  /> 
  -  
  -
  -   <xsl:template match="/">
  -     <xsl:apply-templates />
  -   </xsl:template>
  -
  -
  -   <xsl:template match="xf:form">
  -      <form>
  -         <xsl:copy-of select="@*"/>
  -
  -         <!-- the xf:form/@view attributed is sent back to the server as a 
hidden field -->
  -         <input type="hidden" name="cocoon-xmlform-view" value="[EMAIL 
PROTECTED]"/>
  -         
  -         <!-- render the child form controls -->
  -         <xsl:apply-templates />
  -         
  -      </form>
  -   </xsl:template>
  -
  -
  -   <xsl:template match="xf:output">
  -      [<xsl:value-of select="xf:value/text()"/>]
  -   </xsl:template>
  -
  -
  -   <xsl:template match="xf:input">
  -      <!-- the ref attribute is assigned to html:name, which is how it is 
linked to the model -->
  -      <input name="[EMAIL PROTECTED]" type="text" value="{xf:value/text()}">
  -        <!-- copy all attributes from the original markup, except for "ref" 
-->
  -        <xsl:copy-of select="@*[not(name()='ref')]"/>
  -        <xsl:apply-templates select="xf:hint"/>
  -      </input>
  -   </xsl:template>
  -
  -
  -   <xsl:template match="xf:textarea">
  -      <textarea name="[EMAIL PROTECTED]" >
  -        <xsl:copy-of select="@*[not(name()='ref')]"/>
  -        <xsl:value-of select="xf:value/text()"/>
  -        <xsl:apply-templates select="xf:hint"/>
  -      </textarea>
  -   </xsl:template>
  -
  -     <xsl:template match="xf:repeat">
  -             <tr width="100%">
  -                     <td colspan="3" width="100%">
  -                             <table class="repeat">
  -                                     <xsl:apply-templates select="*"/>
  -                             </table>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -     <xsl:template match="xf:group">
  -             <tr width="100%">
  -                     <td width="100%" colspan="2">
  -                             <table class="group" border="0">
  -                                     <tr>
  -                                             <td align="left">
  -                                                     <xsl:value-of 
select="xf:label" />
  -                                             </td>
  -                                     </tr>
  -                                     <xsl:apply-templates select="*"/>
  -                             </table>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -
  -   <xsl:template match="xf:secret">
  -      <input name="[EMAIL PROTECTED]" type="password" 
value="{xf:value/text()}">
  -        <xsl:copy-of select="@*[not(name()='ref')]"/>
  -        <xsl:apply-templates select="xf:hint"/>
  -      </input>
  -   </xsl:template>
  -
  -
  -   <xsl:template match="xf:hidden">
  -      <input name="[EMAIL PROTECTED]" type="hidden" 
value="{xf:value/text()}">
  -        <xsl:copy-of select="@*[not(name()='ref')]"/>
  -      </input>
  -   </xsl:template>
  -
  -
  -   <xsl:template match="xf:select1 | xf:[EMAIL PROTECTED]'compact']">
  -     <select name="[EMAIL PROTECTED]">
  -     <xsl:copy-of select="@*[not(name()='ref')]"/>
  -     <!-- all currently selected nodes are listed as value elements -->
  -       <xsl:variable name="selected" select="xf:value"/>
  -       <xsl:for-each select="xf:item">
  -         <option value="{xf:value}">
  -           <!-- If the current item value matches one of the selected values 
-->
  -           <!-- mark it as selected in the listbox -->
  -           <xsl:if test="$selected = xf:value">
  -             <xsl:attribute name="selected"/>
  -           </xsl:if>
  -           <xsl:value-of select="xf:label"/>
  -         </option>
  -       </xsl:for-each>
  -     </select>
  -   </xsl:template>
  -
  -   
  -   <xsl:template match="xf:[EMAIL PROTECTED]'full']">
  -        <xsl:variable name="selected" select="xf:value"/>
  -        <xsl:variable name="ref" select="@ref"/>
  -        <xsl:for-each select="xf:item">
  -            <input name="{$ref}" type="radio" value="{xf:value}">
  -                <xsl:copy-of select="@*[not(name()='ref')]"/>
  -                <xsl:if test="xf:value = $selected">
  -                    <xsl:attribute name="checked"/>
  -                </xsl:if>
  -            </input>
  -            <xsl:value-of select="xf:label"/>
  -            <br/>
  -        </xsl:for-each>
  -   </xsl:template>
  -
  -   
  -   <xsl:template match="xf:select | xf:[EMAIL PROTECTED]'compact']">
  -     <xsl:variable name="selected" select="xf:value"/>
  -     <select name="[EMAIL PROTECTED]">
  -       <xsl:copy-of select="@*[not(name()='ref')]"/>
  -       <xsl:attribute name="multiple"/>
  -       <xsl:for-each select="xf:item">
  -         <option value="{xf:value}">
  -           <xsl:if test="xf:value = $selected">
  -             <xsl:attribute name="selected"/>
  -           </xsl:if>
  -           <xsl:value-of select="xf:label"/>
  -         </option>
  -       </xsl:for-each>
  -     </select>  
  -   </xsl:template>
  -
  -   
  -   <xsl:template match="xf:[EMAIL PROTECTED]'full']">
  -        <xsl:variable name="selected" select="xf:value"/>
  -        <xsl:variable name="ref" select="@ref"/>
  -        <xsl:for-each select="xf:item">
  -            <input name="{$ref}" type="checkbox" value="{xf:value}">
  -                <xsl:copy-of select="@*[not(name()='ref')]"/>
  -                <xsl:if test="xf:value = $selected">
  -                  <xsl:attribute name="checked"/>
  -                </xsl:if>
  -            </input>
  -            <xsl:value-of select="xf:label"/>
  -            <br/>
  -        </xsl:for-each>
  -   </xsl:template>
  -
  -   
  -   
  -   <xsl:template match="xf:submit">
  -       <!-- the id attribute of the submit control is sent to the server -->
  -       <!-- as a conventional Cocoon Action parameter of the form 
cocoon-action-* -->
  -      <input name="[EMAIL PROTECTED]" type="submit" 
value="{xf:label/text()}">
  -        <xsl:copy-of select="@*[not(name()='id')]"/>
  -        <xsl:apply-templates select="xf:hint"/>
  -      </input>
  -   </xsl:template>
  -   
  -   <xsl:template match="xf:hint">
  -          <xsl:attribute name="title"><xsl:value-of 
select="."/></xsl:attribute>
  -   </xsl:template>
  -
  -
  -   <!-- copy all the rest of the markup which is not recognized above -->
  -   <xsl:template match="*">
  -      <xsl:copy><xsl:copy-of select="@*" /><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -
  -
  -</xsl:stylesheet>
  -
  +<?xml version="1.0" encoding="iso-8859-1" ?>
  +
  +<!-- 
  +
  +  Basic XMLForm processing stylesheet.  
  +  Converts XMLForm tags to HTML tags.
  +  
  +  Syntax is borrowed from the XForms standard.
  +  http://www.w3.org/TR/2002/WD-xforms-20020118/
  +  
  +  This stylesheet is usually applied at the end of a 
  +  transformation process after laying out the jxform
  +  tags on the page is complete. At this stage jxform tags 
  +  are rendered in device specific format.
  +  
  +  Different widgets are broken into templates 
  +  to allow customization in importing stylesheets
  +
  +  author: Ivelin Ivanov, [EMAIL PROTECTED], June 2002
  +  author: Andrew Timberlake <[EMAIL PROTECTED]>, June 2002
  +  author: Michael Ratliff, [EMAIL PROTECTED] <[EMAIL PROTECTED]>, May 2002
  +  author: Torsten Curdt, [EMAIL PROTECTED], March 2002
  +  author: Simon Price <[EMAIL PROTECTED]>, September 2002
  +  author: Konstantin Piroumian <[EMAIL PROTECTED]>, September 2002
  +  author: Robert Ellis Parrott <[EMAIL PROTECTED]>, October 2002
  +-->
  +
  +<xsl:stylesheet version="1.0" 
  +    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
  +  xmlns:xf="http://apache.org/cocoon/jxforms/1.0";>
  +
  +   <xsl:output method = "xml" omit-xml-declaration = "no"  /> 
  +  
  +
  +   <xsl:template match="/">
  +     <xsl:apply-templates />
  +   </xsl:template>
  +
  +
  +   <xsl:template match="xf:form">
  +      <form>
  +         <xsl:copy-of select="@*"/>
  +
  +         <!-- the xf:form/@view attributed is sent back to the server as a 
hidden field -->
  +         <input type="hidden" name="cocoon-xmlform-view" value="[EMAIL 
PROTECTED]"/>
  +         
  +         <!-- render the child form controls -->
  +         <xsl:apply-templates />
  +         
  +      </form>
  +   </xsl:template>
  +
  +
  +   <xsl:template match="xf:output">
  +      [<xsl:value-of select="xf:value/text()"/>]
  +   </xsl:template>
  +
  +
  +   <xsl:template match="xf:input">
  +      <!-- the ref attribute is assigned to html:name, which is how it is 
linked to the model -->
  +      <input name="[EMAIL PROTECTED]" type="text" value="{xf:value/text()}">
  +        <!-- copy all attributes from the original markup, except for "ref" 
-->
  +        <xsl:copy-of select="@*[not(name()='ref')]"/>
  +        <xsl:apply-templates select="xf:hint"/>
  +      </input>
  +   </xsl:template>
  +
  +
  +   <xsl:template match="xf:textarea">
  +      <textarea name="[EMAIL PROTECTED]" >
  +        <xsl:copy-of select="@*[not(name()='ref')]"/>
  +        <xsl:value-of select="xf:value/text()"/>
  +        <xsl:apply-templates select="xf:hint"/>
  +      </textarea>
  +   </xsl:template>
  +
  +     <xsl:template match="xf:repeat">
  +             <tr width="100%">
  +                     <td colspan="3" width="100%">
  +                             <table class="repeat">
  +                                     <xsl:apply-templates select="*"/>
  +                             </table>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +     <xsl:template match="xf:group">
  +             <tr width="100%">
  +                     <td width="100%" colspan="2">
  +                             <table class="group" border="0">
  +                                     <tr>
  +                                             <td align="left">
  +                                                     <xsl:value-of 
select="xf:label" />
  +                                             </td>
  +                                     </tr>
  +                                     <xsl:apply-templates select="*"/>
  +                             </table>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +
  +   <xsl:template match="xf:secret">
  +      <input name="[EMAIL PROTECTED]" type="password" 
value="{xf:value/text()}">
  +        <xsl:copy-of select="@*[not(name()='ref')]"/>
  +        <xsl:apply-templates select="xf:hint"/>
  +      </input>
  +   </xsl:template>
  +
  +
  +   <xsl:template match="xf:hidden">
  +      <input name="[EMAIL PROTECTED]" type="hidden" 
value="{xf:value/text()}">
  +        <xsl:copy-of select="@*[not(name()='ref')]"/>
  +      </input>
  +   </xsl:template>
  +
  +
  +   <xsl:template match="xf:select1 | xf:[EMAIL PROTECTED]'compact']">
  +     <select name="[EMAIL PROTECTED]">
  +     <xsl:copy-of select="@*[not(name()='ref')]"/>
  +     <!-- all currently selected nodes are listed as value elements -->
  +       <xsl:variable name="selected" select="xf:value"/>
  +       <xsl:for-each select="xf:item">
  +         <option value="{xf:value}">
  +           <!-- If the current item value matches one of the selected values 
-->
  +           <!-- mark it as selected in the listbox -->
  +           <xsl:if test="$selected = xf:value">
  +             <xsl:attribute name="selected"/>
  +           </xsl:if>
  +           <xsl:value-of select="xf:label"/>
  +         </option>
  +       </xsl:for-each>
  +     </select>
  +   </xsl:template>
  +
  +   
  +   <xsl:template match="xf:[EMAIL PROTECTED]'full']">
  +        <xsl:variable name="selected" select="xf:value"/>
  +        <xsl:variable name="ref" select="@ref"/>
  +        <xsl:for-each select="xf:item">
  +            <input name="{$ref}" type="radio" value="{xf:value}">
  +                <xsl:copy-of select="@*[not(name()='ref')]"/>
  +                <xsl:if test="xf:value = $selected">
  +                    <xsl:attribute name="checked"/>
  +                </xsl:if>
  +            </input>
  +            <xsl:value-of select="xf:label"/>
  +            <br/>
  +        </xsl:for-each>
  +   </xsl:template>
  +
  +   
  +   <xsl:template match="xf:select | xf:[EMAIL PROTECTED]'compact']">
  +     <xsl:variable name="selected" select="xf:value"/>
  +     <select name="[EMAIL PROTECTED]">
  +       <xsl:copy-of select="@*[not(name()='ref')]"/>
  +       <xsl:attribute name="multiple"/>
  +       <xsl:for-each select="xf:item">
  +         <option value="{xf:value}">
  +           <xsl:if test="xf:value = $selected">
  +             <xsl:attribute name="selected"/>
  +           </xsl:if>
  +           <xsl:value-of select="xf:label"/>
  +         </option>
  +       </xsl:for-each>
  +     </select>  
  +   </xsl:template>
  +
  +   
  +   <xsl:template match="xf:[EMAIL PROTECTED]'full']">
  +        <xsl:variable name="selected" select="xf:value"/>
  +        <xsl:variable name="ref" select="@ref"/>
  +        <xsl:for-each select="xf:item">
  +            <input name="{$ref}" type="checkbox" value="{xf:value}">
  +                <xsl:copy-of select="@*[not(name()='ref')]"/>
  +                <xsl:if test="xf:value = $selected">
  +                  <xsl:attribute name="checked"/>
  +                </xsl:if>
  +            </input>
  +            <xsl:value-of select="xf:label"/>
  +            <br/>
  +        </xsl:for-each>
  +   </xsl:template>
  +
  +   
  +   
  +   <xsl:template match="xf:submit">
  +       <!-- the id attribute of the submit control is sent to the server -->
  +       <!-- as a conventional Cocoon Action parameter of the form 
cocoon-action-* -->
  +      <input name="[EMAIL PROTECTED]" type="submit" 
value="{xf:label/text()}">
  +        <xsl:copy-of select="@*[not(name()='id')]"/>
  +        <xsl:apply-templates select="xf:hint"/>
  +      </input>
  +   </xsl:template>
  +   
  +   <xsl:template match="xf:hint">
  +          <xsl:attribute name="title"><xsl:value-of 
select="."/></xsl:attribute>
  +   </xsl:template>
  +
  +
  +   <!-- copy all the rest of the markup which is not recognized above -->
  +   <xsl:template match="*">
  +      <xsl:copy><xsl:copy-of select="@*" /><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.2       +17 -17    
cocoon-2.1/src/scratchpad/webapp/samples/paginator/content/text.xml
  
  Index: text.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/paginator/content/text.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- text.xml  9 Mar 2003 00:10:32 -0000       1.1
  +++ text.xml  6 May 2003 14:13:02 -0000       1.2
  @@ -1,17 +1,17 @@
  -<?xml version="1.0"?>
  -
  -<!-- CVS: $Id$ -->
  -
  -<list>
  -  <item>This is the paragraph number one (44 chars).</item>
  -  <item>This is the paragraph number two, a bit longer (58 chars).</item>
  -  <item>This one is third (29 chars).</item>
  -  <item>4th (15 chars).</item>
  -  <item>5th (15 chars).</item>
  -  <item>This is the paragraph number six.</item>
  -  <item>This is the paragraph number seven.</item>
  -  <item>This is the paragraph number eight.</item>
  -  <item>This is the paragraph number nine which is longer (twice) then any 
other paragraph before.</item>
  -  <item>This is the paragraph number ten.</item>
  -  <item>This is the paragraph number eleven.</item>
  -</list>
  +<?xml version="1.0"?>
  +
  +<!-- CVS: $Id$ -->
  +
  +<list>
  +  <item>This is the paragraph number one (44 chars).</item>
  +  <item>This is the paragraph number two, a bit longer (58 chars).</item>
  +  <item>This one is third (29 chars).</item>
  +  <item>4th (15 chars).</item>
  +  <item>5th (15 chars).</item>
  +  <item>This is the paragraph number six.</item>
  +  <item>This is the paragraph number seven.</item>
  +  <item>This is the paragraph number eight.</item>
  +  <item>This is the paragraph number nine which is longer (twice) then any 
other paragraph before.</item>
  +  <item>This is the paragraph number ten.</item>
  +  <item>This is the paragraph number eleven.</item>
  +</list>
  
  
  
  1.2       +10 -10    
cocoon-2.1/src/scratchpad/webapp/samples/paginator/pagesheets/text.pagesheet
  
  Index: text.pagesheet
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/paginator/pagesheets/text.pagesheet,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- text.pagesheet    9 Mar 2003 00:10:32 -0000       1.1
  +++ text.pagesheet    6 May 2003 14:13:02 -0000       1.2
  @@ -1,10 +1,10 @@
  -<?xml version="1.0"?>
  -
  -<!-- CVS: $Id$ -->
  -
  -<pagesheet xmlns="http://apache.org/cocoon/paginate/1.0";>
  -  <rules>
  -    <count type="chars" name="item" num="110"/>
  -    <link type="unit" num="1"/>
  -  </rules>
  -</pagesheet>
  +<?xml version="1.0"?>
  +
  +<!-- CVS: $Id$ -->
  +
  +<pagesheet xmlns="http://apache.org/cocoon/paginate/1.0";>
  +  <rules>
  +    <count type="chars" name="item" num="110"/>
  +    <link type="unit" num="1"/>
  +  </rules>
  +</pagesheet>
  
  
  
  1.18      +146 -155  
cocoon-2.1/src/scratchpad/webapp/samples/petstore/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/sitemap.xmap,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- sitemap.xmap      30 Apr 2003 09:39:01 -0000      1.17
  +++ sitemap.xmap      6 May 2003 14:13:02 -0000       1.18
  @@ -1,155 +1,146 @@
  -<?xml version="1.0"?>
  -<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  -
  -  <!-- =========================== Components 
================================ -->
  -  <map:components> 
  -    <map:transformers default="xslt">
  -      <map:transformer name="jx" 
src="org.apache.cocoon.transformation.JXTemplateTransformer" 
logger="jx.sitemap.transformer"/>
  -    </map:transformers>
  -    <map:generators default="file">
  -        <map:generator label="content,data" 
logger="sitemap.generator.velocity" name="velocity" 
src="org.apache.cocoon.generation.FlowVelocityGenerator"/>
  -        <map:generator label="content,data" logger="sitemap.generator.jx" 
name="jx" src="org.apache.cocoon.generation.JXTemplateGenerator"/>
  -      <map:generator name="jxforms" 
src="org.apache.cocoon.generation.JXFormsGenerator" 
logger="sitemap.generator.jxforms"/>
  -    </map:generators>
  -    <map:flow-interpreters default="JavaScript"/>
  -    <map:serializers default="html"/>
  -    <map:matchers default="wildcard"/>
  -  </map:components>
  -
  -
  -<!-- =========================== Views =================================== 
-->
  -
  -<!--
  -  The debug view can be used to output an intermediate 
  -  snapshot of the pipeline.
  -  Pass cocoon-view=debug as a URL parameter to see
  -  the pipeline output produced by the transofrmer
  -  labeled "debug". You can move the label to different
  -  transformers to understand each processing
  -  stage better.
  --->
  -<map:views>
  -  <map:view name="debug" from-label="debug">
  -    <map:serialize type="xml"/>
  -  </map:view>
  -  <map:view name="debug1" from-label="debug1">
  -    <map:serialize type="xml"/>
  -  </map:view>
  -  <map:view name="debug2" from-label="debug2">
  -    <map:serialize type="xml"/>
  -  </map:view>
  -  <map:view name="xml" from-label="xml">
  -    <map:serialize type="xml"/>
  -  </map:view>
  -</map:views>
  -
  -  <!-- =========================== Resources 
================================= -->
  -
  -  <map:resources>
  -  </map:resources>
  -
  -  <!-- =========================== Pipelines 
================================= -->
  -    <map:flow language="JavaScript">
  -      <map:script src="flow/PetStoreImpl.js"/>
  -      <map:script src="flow/petstore.js"/>
  -    </map:flow>
  -  <map:pipelines> 
  -
  -    <map:pipeline>
  -      <map:match pattern="*.kont">
  -        <map:call continuation="{1}"/> <!-- 
  -               This handles sendPage*() continuations.
  -           -->
  -      </map:match>
  -      <map:match pattern="*.do">
  -        <map:call function="main">
  -          <map:parameter name="page" value="{1}"/>
  -        </map:call>
  -      </map:match>
  -      <map:match pattern="petstore"> 
  -        <map:call function="jxForm"/> <!-- 
  -              Without parameters jxForm() handles continuations:
  -           The pattern I'm matching here, "petstore", must match the value 
  -              of the "action" attribute in the view's <xf:submit> element
  -           -->
  -      </map:match>
  -      <map:match pattern="">
  -        <map:call function="index"/>
  -      </map:match>
  -      <map:match pattern="editAccount.form">
  -        <map:call function="jxForm">
  -          <map:parameter name="function" value="editAccountForm"/>
  -       <map:parameter name="id" value="petstore-edit-account"/> <!--
  -                  The value I supply here, "petstore-edit-account", must 
match 
  -                  the "id" attribute of the view's <xf:form> element
  -             -->
  -          <map:parameter name="validator-schema-ns"/> <!-- no validator -->
  -          <map:parameter name="validator-schema"/> <!-- no validator -->
  -          <map:parameter name="scope" value="request"/>
  -        </map:call>
  -      </map:match>
  -
  -      <map:match pattern="view/jxforms/*.xml">
  -           <!-- original JXForms document -->
  -           <map:generate type="jxforms" src="view/jxforms/{1}.xml"/>
  -
  -           <map:transform type="xalan" src="stylesheets/form2html.xsl"  
label="debug1"/>
  -
  -           <map:transform type="xalan" 
src="../jxforms/stylesheets/jxforms2html.xsl" />
  -
  -
  -           <map:transform type="xalan" src="stylesheets/site2html.xsl"  
label="debug1"/>
  -
  -           <map:serialize type="html" />
  -     </map:match>          
  -    </map:pipeline>
  -   <map:pipeline>
  -     <map:match pattern="view/*.xsp">
  -        <map:generate src="view/xsp/{1}.xsp" type="serverpages"/>
  -        <map:transform src="stylesheets/site2html.xsl" />
  -        <map:serialize type="html"/>
  -     </map:match>
  -     <map:match pattern="view/Cart.jxpath">
  -        <map:generate src="view/jxpath/Cart.xml" type="jx" />
  -        <map:serialize type="html"/>
  -     </map:match>
  -     <map:match pattern="view/*.jxpath">
  -        <map:generate src="view/jxpath/{1}.xml" type="file" />
  -        <map:transform type="jx" />
  -        <map:transform src="stylesheets/site2html.xsl" />
  -        <map:serialize type="html"/>
  -     </map:match>
  -     <map:match pattern="view/Cart.jexl">
  -        <map:generate src="view/jexl/Cart.xml" type="jx" />
  -        <map:serialize type="html"/>
  -     </map:match>
  -     <map:match pattern="view/*.jexl">
  -        <map:generate src="view/jexl/{1}.xml" type="jx" />
  -        <map:transform src="stylesheets/site2html.xsl" />
  -        <map:serialize type="html"/>
  -     </map:match>
  -     <map:match pattern="view/*.vm">
  -      <map:generate src="view/templates/{1}.vm" type="velocity"/>
  -      <map:serialize type="html"/>
  -     </map:match>
  -   </map:pipeline>
  -
  -   <map:pipeline>
  -   <map:match pattern="images/*.gif">
  -    <map:read mime-type="images/gif" src="images/{1}.gif"/>
  -   </map:match>
  -   </map:pipeline>
  -
  -
  -  </map:pipelines> 
  -  
  -</map:sitemap>
  -<!-- end of file -->
  -
  -
  -
  -
  -
  -
  -
  -
  +<?xml version="1.0"?>
  +
  +<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  +
  +  <!-- =========================== Components 
================================ -->
  +  <map:components> 
  +    <map:transformers default="xslt">
  +      <map:transformer name="jx" 
src="org.apache.cocoon.transformation.JXTemplateTransformer" 
logger="jx.sitemap.transformer"/>
  +    </map:transformers>
  +    <map:generators default="file">
  +        <map:generator label="content,data" 
logger="sitemap.generator.velocity" name="velocity" 
src="org.apache.cocoon.generation.FlowVelocityGenerator"/>
  +        <map:generator label="content,data" logger="sitemap.generator.jx" 
name="jx" src="org.apache.cocoon.generation.JXTemplateGenerator"/>
  +      <map:generator name="jxforms" 
src="org.apache.cocoon.generation.JXFormsGenerator" 
logger="sitemap.generator.jxforms"/>
  +    </map:generators>
  +    <map:flow-interpreters default="JavaScript"/>
  +    <map:serializers default="html"/>
  +    <map:matchers default="wildcard"/>
  +  </map:components>
  +
  +
  +<!-- =========================== Views =================================== 
-->
  +
  +<!--
  +  The debug view can be used to output an intermediate 
  +  snapshot of the pipeline.
  +  Pass cocoon-view=debug as a URL parameter to see
  +  the pipeline output produced by the transofrmer
  +  labeled "debug". You can move the label to different
  +  transformers to understand each processing
  +  stage better.
  +-->
  +<map:views>
  +  <map:view name="debug" from-label="debug">
  +    <map:serialize type="xml"/>
  +  </map:view>
  +  <map:view name="debug1" from-label="debug1">
  +    <map:serialize type="xml"/>
  +  </map:view>
  +  <map:view name="debug2" from-label="debug2">
  +    <map:serialize type="xml"/>
  +  </map:view>
  +  <map:view name="xml" from-label="xml">
  +    <map:serialize type="xml"/>
  +  </map:view>
  +</map:views>
  +
  +  <!-- =========================== Resources 
================================= -->
  +
  +  <map:resources>
  +  </map:resources>
  +
  +  <!-- =========================== Pipelines 
================================= -->
  +    <map:flow language="JavaScript">
  +      <map:script src="flow/PetStoreImpl.js"/>
  +      <map:script src="flow/petstore.js"/>
  +    </map:flow>
  +  <map:pipelines> 
  +
  +    <map:pipeline>
  +      <map:match pattern="*.kont">
  +        <map:call continuation="{1}"/> <!-- 
  +               This handles sendPage*() continuations.
  +           -->
  +      </map:match>
  +      <map:match pattern="*.do">
  +        <map:call function="main">
  +          <map:parameter name="page" value="{1}"/>
  +        </map:call>
  +      </map:match>
  +      <map:match pattern="petstore"> 
  +        <map:call function="jxForm"/> <!-- 
  +              Without parameters jxForm() handles continuations:
  +           The pattern I'm matching here, "petstore", must match the value 
  +              of the "action" attribute in the view's <xf:submit> element
  +           -->
  +      </map:match>
  +      <map:match pattern="">
  +        <map:call function="index"/>
  +      </map:match>
  +      <map:match pattern="editAccount.form">
  +        <map:call function="jxForm">
  +          <map:parameter name="function" value="editAccountForm"/>
  +       <map:parameter name="id" value="petstore-edit-account"/> <!--
  +                  The value I supply here, "petstore-edit-account", must 
match 
  +                  the "id" attribute of the view's <xf:form> element
  +             -->
  +          <map:parameter name="validator-schema-ns"/> <!-- no validator -->
  +          <map:parameter name="validator-schema"/> <!-- no validator -->
  +          <map:parameter name="scope" value="request"/>
  +        </map:call>
  +      </map:match>
  +
  +      <map:match pattern="view/jxforms/*.xml">
  +           <!-- original JXForms document -->
  +           <map:generate type="jxforms" src="view/jxforms/{1}.xml"/>
  +
  +           <map:transform type="xalan" src="stylesheets/form2html.xsl"  
label="debug1"/>
  +
  +           <map:transform type="xalan" 
src="../jxforms/stylesheets/jxforms2html.xsl" />
  +
  +
  +           <map:transform type="xalan" src="stylesheets/site2html.xsl"  
label="debug1"/>
  +
  +           <map:serialize type="html" />
  +     </map:match>          
  +    </map:pipeline>
  +   <map:pipeline>
  +     <map:match pattern="view/*.xsp">
  +        <map:generate src="view/xsp/{1}.xsp" type="serverpages"/>
  +        <map:transform src="stylesheets/site2html.xsl" />
  +        <map:serialize type="html"/>
  +     </map:match>
  +     <map:match pattern="view/Cart.jxpath">
  +        <map:generate src="view/jxpath/Cart.xml" type="jx" />
  +        <map:serialize type="html"/>
  +     </map:match>
  +     <map:match pattern="view/*.jxpath">
  +        <map:generate src="view/jxpath/{1}.xml" type="file" />
  +        <map:transform type="jx" />
  +        <map:transform src="stylesheets/site2html.xsl" />
  +        <map:serialize type="html"/>
  +     </map:match>
  +     <map:match pattern="view/Cart.jexl">
  +        <map:generate src="view/jexl/Cart.xml" type="jx" />
  +        <map:serialize type="html"/>
  +     </map:match>
  +     <map:match pattern="view/*.jexl">
  +        <map:generate src="view/jexl/{1}.xml" type="jx" />
  +        <map:transform src="stylesheets/site2html.xsl" />
  +        <map:serialize type="html"/>
  +     </map:match>
  +     <map:match pattern="view/*.vm">
  +      <map:generate src="view/templates/{1}.vm" type="velocity"/>
  +      <map:serialize type="html"/>
  +     </map:match>
  +   </map:pipeline>
  +
  +   <map:pipeline>
  +   <map:match pattern="images/*.gif">
  +    <map:read mime-type="images/gif" src="images/{1}.gif"/>
  +   </map:match>
  +   </map:pipeline>
  +
  +  </map:pipelines> 
  +</map:sitemap>
  +<!-- end of file -->
  
  
  
  1.5       +122 -120  
cocoon-2.1/src/scratchpad/webapp/samples/petstore/stylesheets/form2html.xsl
  
  Index: form2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/stylesheets/form2html.xsl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- form2html.xsl     3 May 2003 20:36:12 -0000       1.4
  +++ form2html.xsl     6 May 2003 14:13:02 -0000       1.5
  @@ -1,120 +1,122 @@
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  -  xmlns:xf="http://apache.org/cocoon/jxforms/1.0";
  -     exclude-result-prefixes="xalan" >
  -
  -        <xsl:template match="/">
  -           <xsl:apply-templates />
  -        </xsl:template>
  -
  -     <xsl:template match="xf:form">
  -             <xf:form method="post">
  -                     <xsl:copy-of select="@*" />
  -                     <table cellpadding="10" cellspacing="0" border="1" 
align="center" bgcolor="#dddddd">
  -                             <xsl:if test="count(error/xf:violation) > 0">
  -                                     <tr>
  -                                             <td align="left" colspan="3"
  -                                                     
class="{error/xf:violation[1]/@class}">
  -                                                     <p>* [<b><xsl:value-of
  -                                                             
select="count(error/xf:violation)"/></b>] 
  -                                                             error(s). 
Please fix these errors and submit the
  -                                                             form again.</p>
  -                                                     <p>
  -                                                             <xsl:variable 
name="localViolations"
  -                                                                     
select=".//xf:*[ child::xf:violation ]"/>
  -                                                             <xsl:for-each 
select="error/xf:violation">
  -                                                                     
<xsl:variable name="eref" select="./@ref"/>
  -                                                                     <xsl:if
  -                                                                             
test="count ($localViolations[ @ref=$eref ]) = 0"
  -                                                                             
>* <xsl:value-of select="." /> <br/> </xsl:if>
  -                                                             </xsl:for-each>
  -                                                     </p>
  -                                                     <p/>
  -                                             </td>
  -                                     </tr>
  -                             </xsl:if>
  -                             <xsl:for-each select="*[name() != 'xf:submit']">
  -                                     <xsl:choose>
  -                                             <xsl:when test="name() = 
'error'"/>
  -                                             <xsl:when test="name() = 
'xf:label'"/>
  -                                             <xsl:when test="xf:*">
  -                                                     <xsl:apply-templates 
select="."/>
  -                                             </xsl:when>
  -                                             <xsl:otherwise>
  -                                                     <xsl:copy-of 
select="."/>
  -                                             </xsl:otherwise>
  -                                     </xsl:choose>
  -                             </xsl:for-each>
  -                             <tr>
  -                                     <td align="center" colspan="3">
  -                                             <xsl:for-each select="*[name() 
= 'xf:submit']">
  -                                                     <xsl:copy-of select="." 
/>
  -                                                     <xsl:text>
  -                                                     </xsl:text>
  -                                             </xsl:for-each>
  -                                     </td>
  -                             </tr>
  -                     </table>
  -             </xf:form>
  -     </xsl:template>
  -     <xsl:template match="xf:group">
  -             <tr>
  -                  <td>
  -                      <font color="darkgreen"><h3><xsl:value-of 
select="xf:label" /></h3></font>
  -                             <table cellspacing="1" cellpadding="3" 
border="0" bgcolor="#008800">
  -                                     <xsl:apply-templates select="*"/>
  -                             </table>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -     <xsl:template match="xf:[EMAIL PROTECTED]">
  -             <div align="center">
  -                     <hr width="30%"/>
  -                     <br/>
  -                     <font size="-1">
  -                             <code> <xsl:value-of select="xf:label" /> : 
<xsl:copy-of
  -                                     select="." /> </code>
  -                     </font>
  -                     <br/>
  -             </div>
  -     </xsl:template>
  -     <xsl:template match="xf:label"/>
  -     <xsl:template match="xf:*">
  -             <tr bgcolor="#FFFF88">
  -                     <td align="left" valign="top">
  -                             <p class="label">
  -                                     <xsl:value-of select="xf:label" />
  -                             </p>
  -                     </td>
  -                     <td align="left">
  -                             <table class="plaintable">
  -                                     <tr bgcolor="#FFFF88">
  -                                             <td align="left">
  -                                                     <xsl:copy-of select="." 
/>
  -                                             </td>
  -                                             <xsl:if test="xf:violation">
  -                                                     <td align="left" 
class="{xf:violation[1]/@class}" width="100%">
  -                                                             <xsl:for-each 
select="xf:violation">* 
  -                                                                     
<xsl:value-of select="." /> <br/> </xsl:for-each>
  -                                                     </td>
  -                                             </xsl:if>
  -                                     </tr>
  -                             </table>
  -                             <xsl:if test="xf:help">
  -                                     <div class="help">
  -                                             <xsl:value-of select="xf:help" 
/>
  -                                     </div>
  -                                     <br />
  -                             </xsl:if>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -   <!-- copy all the rest of the markup which is not recognized above -->
  -   <xsl:template match="*">
  -      <xsl:copy><xsl:copy-of select="@*" /><xsl:apply-templates /></xsl:copy>
  -   </xsl:template>
  -
  -   <xsl:template match="text()">
  -      <xsl:value-of select="." />
  -   </xsl:template>
  -
  -</xsl:stylesheet>
  +<?xml version="1.0"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +                xmlns:xf="http://apache.org/cocoon/jxforms/1.0";
  +             exclude-result-prefixes="xalan" >
  +
  +        <xsl:template match="/">
  +           <xsl:apply-templates />
  +        </xsl:template>
  +
  +     <xsl:template match="xf:form">
  +             <xf:form method="post">
  +                     <xsl:copy-of select="@*" />
  +                     <table cellpadding="10" cellspacing="0" border="1" 
align="center" bgcolor="#dddddd">
  +                             <xsl:if test="count(error/xf:violation) > 0">
  +                                     <tr>
  +                                             <td align="left" colspan="3"
  +                                                     
class="{error/xf:violation[1]/@class}">
  +                                                     <p>* [<b><xsl:value-of
  +                                                             
select="count(error/xf:violation)"/></b>] 
  +                                                             error(s). 
Please fix these errors and submit the
  +                                                             form again.</p>
  +                                                     <p>
  +                                                             <xsl:variable 
name="localViolations"
  +                                                                     
select=".//xf:*[ child::xf:violation ]"/>
  +                                                             <xsl:for-each 
select="error/xf:violation">
  +                                                                     
<xsl:variable name="eref" select="./@ref"/>
  +                                                                     <xsl:if
  +                                                                             
test="count ($localViolations[ @ref=$eref ]) = 0"
  +                                                                             
>* <xsl:value-of select="." /> <br/> </xsl:if>
  +                                                             </xsl:for-each>
  +                                                     </p>
  +                                                     <p/>
  +                                             </td>
  +                                     </tr>
  +                             </xsl:if>
  +                             <xsl:for-each select="*[name() != 'xf:submit']">
  +                                     <xsl:choose>
  +                                             <xsl:when test="name() = 
'error'"/>
  +                                             <xsl:when test="name() = 
'xf:label'"/>
  +                                             <xsl:when test="xf:*">
  +                                                     <xsl:apply-templates 
select="."/>
  +                                             </xsl:when>
  +                                             <xsl:otherwise>
  +                                                     <xsl:copy-of 
select="."/>
  +                                             </xsl:otherwise>
  +                                     </xsl:choose>
  +                             </xsl:for-each>
  +                             <tr>
  +                                     <td align="center" colspan="3">
  +                                             <xsl:for-each select="*[name() 
= 'xf:submit']">
  +                                                     <xsl:copy-of select="." 
/>
  +                                                     <xsl:text>
  +                                                     </xsl:text>
  +                                             </xsl:for-each>
  +                                     </td>
  +                             </tr>
  +                     </table>
  +             </xf:form>
  +     </xsl:template>
  +     <xsl:template match="xf:group">
  +             <tr>
  +                  <td>
  +                      <font color="darkgreen"><h3><xsl:value-of 
select="xf:label" /></h3></font>
  +                             <table cellspacing="1" cellpadding="3" 
border="0" bgcolor="#008800">
  +                                     <xsl:apply-templates select="*"/>
  +                             </table>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +     <xsl:template match="xf:[EMAIL PROTECTED]">
  +             <div align="center">
  +                     <hr width="30%"/>
  +                     <br/>
  +                     <font size="-1">
  +                             <code> <xsl:value-of select="xf:label" /> : 
<xsl:copy-of
  +                                     select="." /> </code>
  +                     </font>
  +                     <br/>
  +             </div>
  +     </xsl:template>
  +     <xsl:template match="xf:label"/>
  +     <xsl:template match="xf:*">
  +             <tr bgcolor="#FFFF88">
  +                     <td align="left" valign="top">
  +                             <p class="label">
  +                                     <xsl:value-of select="xf:label" />
  +                             </p>
  +                     </td>
  +                     <td align="left">
  +                             <table class="plaintable">
  +                                     <tr bgcolor="#FFFF88">
  +                                             <td align="left">
  +                                                     <xsl:copy-of select="." 
/>
  +                                             </td>
  +                                             <xsl:if test="xf:violation">
  +                                                     <td align="left" 
class="{xf:violation[1]/@class}" width="100%">
  +                                                             <xsl:for-each 
select="xf:violation">* 
  +                                                                     
<xsl:value-of select="." /> <br/> </xsl:for-each>
  +                                                     </td>
  +                                             </xsl:if>
  +                                     </tr>
  +                             </table>
  +                             <xsl:if test="xf:help">
  +                                     <div class="help">
  +                                             <xsl:value-of select="xf:help" 
/>
  +                                     </div>
  +                                     <br />
  +                             </xsl:if>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +   <!-- copy all the rest of the markup which is not recognized above -->
  +   <xsl:template match="*">
  +      <xsl:copy><xsl:copy-of select="@*" /><xsl:apply-templates /></xsl:copy>
  +   </xsl:template>
  +
  +   <xsl:template match="text()">
  +      <xsl:value-of select="." />
  +   </xsl:template>
  +
  +</xsl:stylesheet>
  
  
  
  1.11      +602 -603  
cocoon-2.1/src/scratchpad/webapp/samples/petstore/stylesheets/site2html.xsl
  
  Index: site2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/stylesheets/site2html.xsl,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- site2html.xsl     3 May 2003 21:03:30 -0000       1.10
  +++ site2html.xsl     6 May 2003 14:13:02 -0000       1.11
  @@ -1,603 +1,602 @@
  -<?xml version="1.0" encoding="utf-8"?>
  -
  -
  -<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  -     exclude-result-prefixes="xalan" >
  -
  -     <xsl:template match="site">
  -             <html>
  -                     <head>
  -                             <meta content="text/html; charset=windows-1252" 
http-equiv="Content-Type" />
  -                             <meta HTTP-EQUIV="Cache-Control" 
CONTENT="max-age=0"/>
  -                             <meta HTTP-EQUIV="Cache-Control" 
CONTENT="no-cache"/>
  -                             <meta http-equiv="expires" content="0"/>
  -                             <meta HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 
1980 1:00:00 GMT"/>
  -                             <meta HTTP-EQUIV="Pragma" CONTENT="no-cache"/>
  -                     </head>
  -                     <body bgcolor="white">
  -                             <table background="images/bkg-topbar.gif" 
border="0" cellspacing="0" cellpadding="5" width="100%">
  -                                     <tbody>
  -                                             <tr>
  -                                                     <td>
  -                                                        <form method="post" 
action="index.do">
  -                                                              <input 
type="image" border="0" src="images/logo-topbar.gif" />
  -                                                                <select 
name="view" width="14" align="left" onChange="document.forms[0].submit()">
  -                                                             <xsl:choose>
  -                                                                     
<xsl:when test="@view='jxpath'">
  -                                                                       
<option value="JXPath">JXPath</option>
  -                                                                       
<option value="Jexl">Jexl</option>
  -                                                                       
<option value="Xsp">Xsp</option>
  -                                                                       
<option value="Velocity">Velocity</option>
  -                                                                        
</xsl:when>
  -                                                                     
<xsl:when test="@view='jexl'">
  -                                                                       
<option value="Jexl">Jexl</option>
  -                                                                       
<option value="JXPath">JXPath</option>
  -                                                                       
<option value="Xsp">Xsp</option>
  -                                                                       
<option value="Velocity">Velocity</option>
  -                                                                        
</xsl:when>
  -                                                                     
<xsl:otherwise>
  -                                                                       
<option value="Xsp">Xsp</option>
  -                                                                       
<option value="JXPath">JXPath</option>
  -                                                                       
<option value="Jexl">Jexl</option>
  -                                                                       
<option value="Velocity">Velocity</option>
  -                                                                     
</xsl:otherwise>
  -                                                                   
</xsl:choose>
  -                                                                </select>
  -                                                        </form>
  -                                                     </td>
  -                                                     <td align="right">
  -                                                             <a 
href="viewCart.do"><img border="0" name="img_cart" src="images/cart.gif" 
/></a><img border="0" src="images/separator.gif" hspace="4" />
  -                                                             <xsl:choose>
  -                                                                     
<xsl:when test="@signOn='true'">
  -                                                                             
<a href="signonForm.do"><img border="0" name="img_signin" 
src="images/sign-in.gif" /></a>
  -                                                                     
</xsl:when>
  -                                                                     
<xsl:otherwise>
  -                                                                             
<a href="signonForm.do?signoff=true"><img border="0" name="img_signout" 
src="images/sign-out.gif" /></a><img border="0" src="images/separator.gif" 
hspace="4" />
  -                                                                             
<a href="editAccount.form"><img border="0" name="img_myaccount" 
src="images/my_account.gif" /></a>
  -                                                                     
</xsl:otherwise>
  -                                                             </xsl:choose>
  -                                                             <img border="0" 
src="images/separator.gif" hspace="4" /><a href="../help.html"><img border="0" 
name="img_help" src="images/help.gif" /></a>
  -                                                     </td>
  -                                                     <td align="left" 
valign="bottom">
  -                                                             <form 
method="post" action="searchProducts.do">
  -                                                                     <input 
name="keyword" size="14" />
  -                                                                     <input 
border="0" src="images/search.gif" type="image" />
  -                                                             </form>
  -                                                     </td>
  -                                             </tr>
  -                                     </tbody>
  -                             </table>
  -                             <center>
  -                                     <a 
href="viewCategory.do?categoryId=FISH"><img border="0" src="images/sm_fish.gif" 
/></a> 
  -                                     <img border="0" 
src="images/separator.gif" hspace="4" /> 
  -                                     <a 
href="viewCategory.do?categoryId=DOGS"><img border="0" src="images/sm_dogs.gif" 
/></a> 
  -                                     <img border="0" 
src="images/separator.gif" hspace="4" /> 
  -                                     <a 
href="viewCategory.do?categoryId=REPTILES"><img border="0" 
src="images/sm_reptiles.gif" /></a> 
  -                                     <img border="0" 
src="images/separator.gif" hspace="4" /> 
  -                                     <a 
href="viewCategory.do?categoryId=CATS"><img border="0" src="images/sm_cats.gif" 
/></a> 
  -                                     <img border="0" 
src="images/separator.gif" hspace="4" />
  -                                     <a 
href="viewCategory.do?categoryId=BIRDS"><img border="0" 
src="images/sm_birds.gif" /></a> 
  -                             </center>
  -                             <xsl:apply-templates/>
  -                             <br/>
  -                             <p align="center">
  -                                     <a href="http://cocoon.apache.org";><img 
border="0" align="center" src="images/cocoon.gif" /></a>
  -                             </p>
  -                     </body>
  -             </html>
  -     </xsl:template>
  -
  -     <xsl:template match="welcome">
  -             <table border="0" cellspacing="0" width="100%">
  -                     <tbody>
  -                             <tr>
  -                                     <td valign="top" width="100%">
  -                                             <table align="left" border="0" 
cellspacing="0" width="80%">
  -                                                     <tbody>
  -                                                             <tr>
  -                                                                     <td 
valign="top">
  -                                                                             
<xsl:apply-templates/>
  -                                                                     </td>
  -                                                                     <td 
align="center" bgcolor="white" height="300" width="100%">
  -                                                                             
<map name="estoremap">
  -                                                                             
        <area alt="Birds" coords="72,2,280,250" 
href="viewCategory.do?categoryId=BIRDS" shape="RECT" />
  -                                                                             
        <area alt="Fish" coords="2,180,72,250" 
href="viewCategory.do?categoryId=FISH" shape="RECT" />
  -                                                                             
        <area alt="Dogs" coords="60,250,130,320" 
href="viewCategory.do?categoryId=DOGS" shape="RECT" />
  -                                                                             
        <area alt="Reptiles" coords="140,270,210,340" 
href="viewCategory.do?categoryId=REPTILES" shape="RECT" />
  -                                                                             
        <area alt="Cats" coords="225,240,295,310" 
href="viewCategory.do?categoryId=CATS" shape="RECT" />
  -                                                                             
        <area alt="Birds" coords="280,180,350,250" 
href="viewCategory.do?categoryId=BIRDS" shape="RECT" />
  -                                                                             
</map>
  -                                                                             
<img border="0" height="355" src="images/splash.gif" align="center" 
usemap="#estoremap" width="350" />
  -                                                                     </td>
  -                                                             </tr>
  -                                                     </tbody>
  -                                             </table>
  -                                     </td>
  -                             </tr>
  -                     </tbody>
  -             </table>
  -     </xsl:template>
  -
  -     <xsl:template match="menu">
  -             <table bgcolor="#FFFF88" border="0" cellspacing="0" 
cellpadding="5" width="200">
  -                     <tbody>
  -                             <tr>
  -                                     <td>
  -                                             <!-- 
  -                                             #if (!$accountForm.signOn)
  -                                             <b><i><font size="2" 
color="BLACK">Welcome $accountForm.account.firstName!</font></i></b>
  -                                             #end
  -                                             -->
  -                                     </td>
  -                             </tr>
  -                             <xsl:apply-templates/>
  -                     </tbody>
  -             </table>
  -     </xsl:template>
  -
  -     <xsl:template match="menu/category">
  -             <tr>
  -                     <td>
  -                             <a href="[EMAIL 
PROTECTED]"><i><h2><xsl:value-of select="@name" /></h2></i></a>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -
  -     <xsl:template match="backpointer">
  -             <table align="left" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="2">
  -                     <tr>
  -                             <td bgcolor="#FFFF88">
  -                                     <a href="[EMAIL PROTECTED]"><b><font 
color="BLACK" size="2">&lt;&lt; <xsl:value-of select="@name" /></font></b></a>
  -                             </td>
  -                     </tr>
  -             </table>
  -     </xsl:template>
  -
  -     <xsl:template match="category">
  -             <p>
  -                     <center>
  -                             <h2><xsl:value-of select="@name" /></h2>
  -                     </center>
  -                     <table align="center" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="3">
  -                             <tr bgcolor="#CCCCCC">
  -                                     <td>
  -                                             <b>Product ID</b>
  -                                     </td>
  -                                     <td>
  -                                             <b>Name</b>
  -                                     </td>
  -                             </tr>
  -                             <xsl:apply-templates/>
  -                     </table>
  -             </p>
  -     </xsl:template>
  -
  -     <xsl:template match="category/product">
  -             <tr bgcolor="#FFFF88">
  -                     <td>
  -                             <b><a href="[EMAIL PROTECTED]"><font 
color="BLACK"><xsl:value-of select="@id" /></font></a></b>
  -                     </td>
  -                     <td>
  -                             <xsl:value-of select="@name" />
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -     
  -     <xsl:template match="search">
  -             <table align="center" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="3">
  -                     <tr bgcolor="#CCCCCC">
  -                             <td></td>
  -                             <td>
  -                                     <b>Product ID</b>
  -                             </td>
  -                             <td>
  -                                     <b>Name</b>
  -                             </td>
  -                     </tr>
  -                     
  -                     <xsl:apply-templates/>
  -             </table>
  -
  -     </xsl:template>
  -
  -     <xsl:template match="search/product">
  -             <tr bgcolor="#FFFF88">
  -                     <td><a href="[EMAIL PROTECTED]"><xsl:value-of 
select="product-desc" /></a></td>
  -                     <td>
  -                             <b><a href="[EMAIL PROTECTED]"><font 
color="BLACK"><xsl:value-of select="@id" /></font></a></b>
  -                     </td>
  -                     <td><xsl:value-of select="@name" /></td>
  -             </tr>
  -     </xsl:template>
  -
  -     <xsl:template match="situation">
  -             <tr>
  -                     <td>
  -                             <xsl:if test="@firstPage='false'" >
  -                                     <a href="[EMAIL PROTECTED]"><font 
color="white"><B>&lt;&lt; Prev</B></font></a>
  -                             </xsl:if>
  -                             <xsl:if test="@lastPage='false'" >
  -                                     <a href="[EMAIL PROTECTED]"><font 
color="white"><B>Next &gt;&gt;</B></font></a>
  -                             </xsl:if>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -
  -     <xsl:template match="product">
  -             <p>
  -                     <center>
  -                             <b><font size="4"><xsl:value-of select="@name" 
/></font></b>
  -                     </center>
  -                     
  -                     <table align="center" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="3">
  -                             <tr bgcolor="#CCCCCC">
  -                                     <td><b>Item ID</b></td>
  -                                     <td><b>Product ID</b></td>
  -                                     <td><b>Description</b></td>
  -                                     <td><b>List Price</b></td>
  -                                     <td></td>
  -                             </tr>
  -                             <xsl:apply-templates/>
  -                     </table>
  -             </p>
  -     </xsl:template>
  -
  -     <xsl:template match="product/item">
  -             <tr bgcolor="#FFFF88">
  -                     <td>
  -                             <b><a href="[EMAIL PROTECTED]"><xsl:value-of 
select="@id" /></a></b>
  -                     </td>
  -                     <td>
  -                             <b><xsl:value-of select="@product-id" /></b>
  -                     </td>
  -                     <td>
  -                             <xsl:value-of select="desc" /><xsl:text> 
</xsl:text><xsl:value-of select="../@name" />
  -                     </td>
  -                     <td>
  -                             <xsl:text>$</xsl:text> <xsl:value-of 
select="price" />
  -                     </td>
  -                     <td>
  -                             <a href="[EMAIL PROTECTED]"><img border="0" 
src="images/button_add_to_cart.gif" /></a>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -
  -     <xsl:template name="cart-common-columns">
  -             <td><b>Item ID</b></td>
  -             <td><b>Product ID</b></td>
  -             <td><b>Description</b></td>
  -             <td><b>Quantity</b></td>
  -             <td><b>List Price</b></td>
  -     </xsl:template>
  -
  -     <xsl:template match="[EMAIL PROTECTED]'Shopping Cart']">
  -             <table border="0" width="100%" cellspacing="0" cellpadding="0">
  -                     <tr>
  -                             <td valign="top" width="20%" align="left">
  -                                     <xsl:apply-templates 
select="backpointer" />
  -                             </td>
  -                             <td valign="top" align="center">
  -                                     <h2 align="center"><xsl:value-of 
select="@name" /></h2>
  -                                     <form action="updateCartQuantities.do" 
method="post" >
  -                                             <table align="center" 
bgcolor="#008800" border="0" cellspacing="2" cellpadding="5">
  -                                                     <tr bgcolor="#cccccc">
  -                                                             
<xsl:call-template name="cart-common-columns" />
  -                                                             <td></td>
  -                                                     </tr>
  -                                                     <xsl:if 
test="not(item)">
  -                                                             <tr 
bgcolor="#FFFF88">
  -                                                                     <td 
colspan="6">
  -                                                                             
<b>Your cart is empty.</b>
  -                                                                     </td>
  -                                                             </tr>
  -                                                     </xsl:if>
  -                                                     <xsl:apply-templates 
select="item" />
  -                                                     <tr bgcolor="#FFFF88">
  -                                                             <td colspan="5" 
align="right">
  -                                                                     <b>Sub 
Total: $<xsl:value-of select="format-number (total, '###,##0.00')"/></b><br />
  -                                                                     <input 
type="image" border="0" src="images/button_update_cart.gif" name="update" />
  -                                                             </td>
  -                                                             <td></td>
  -                                                     </tr>
  -                                             </table>
  -                                     </form>
  -                                     <xsl:if test="item">
  -                                             <xsl:apply-templates 
select="nextpointer" />
  -                                     </xsl:if>
  -                             </td>
  -                             <td valign="top" width="20%" align="right">
  -                             </td>
  -                     </tr>
  -             </table>
  -     </xsl:template>
  -
  -     <xsl:template match="[EMAIL PROTECTED]'Checkout Summary']">
  -             <table border="0" width="100%" cellspacing="0" cellpadding="0">
  -                     <tr>
  -                             <td valign="top" width="20%" align="left">
  -                                     <xsl:apply-templates 
select="backpointer" />
  -                             </td>
  -                             <td valign="top" align="center">
  -                                     <h2 align="center"><xsl:value-of 
select="@name" /></h2>
  -                                             <table align="center" 
bgcolor="#008800" border="0" cellspacing="2" cellpadding="5">
  -                                                     <tr bgcolor="#cccccc">
  -                                                             
<xsl:call-template name="cart-common-columns" />
  -                                                     </tr>
  -                                                     <xsl:apply-templates 
select="item" />
  -                                                     <tr bgcolor="#FFFF88">
  -                                                             <td colspan="5" 
align="right">
  -                                                                     <b>Sub 
Total: $<xsl:value-of select="format-number (total, '###,##0.00')"/></b><br />
  -                                                             </td>
  -                                                     </tr>
  -                                             </table>
  -                                             <xsl:apply-templates 
select="nextpointer" />
  -                             </td>
  -                             <td valign="top" width="20%" align="right">
  -                             </td>
  -                     </tr>
  -             </table>
  -     </xsl:template>
  -
  -     <xsl:template match="[EMAIL PROTECTED]'Status']">
  -             <table align="center" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="5">
  -                     <tr bgcolor="#cccccc">
  -                             <xsl:call-template name="cart-common-columns" />
  -                     </tr>
  -                     <xsl:apply-templates select="item" />
  -                     <tr bgcolor="#FFFF88">
  -                             <td colspan="5" align="right">
  -                                     <b>Total: $<xsl:value-of 
select="format-number (total, '###,##0.00')"/></b><br />
  -                             </td>
  -                     </tr>
  -             </table>
  -     </xsl:template>
  -
  -
  -     <xsl:template match="nextpointer">
  -             <br />
  -                     <center>
  -                             <a href="[EMAIL PROTECTED]"><img border="0" 
src="[EMAIL PROTECTED]" /></a>
  -                     </center>
  -     </xsl:template>
  -
  -
  -     <xsl:template match="cart/item">
  -             <tr bgcolor="#FFFF88">
  -                     <td>
  -                             <b><xsl:value-of select="@id" /></b>
  -                     </td>
  -                     <td>
  -                             <xsl:value-of select="@product-id" />
  -                     </td>
  -                      <td>
  -                                     <xsl:value-of select="desc" />
  -                      </td>
  -                     <td align="center">
  -                             <xsl:choose>
  -                                     <xsl:when test="../@name='Shopping 
Cart'">
  -                                             <input type="text" size="3" 
name="[EMAIL PROTECTED]" >
  -                                                     <xsl:attribute 
name="value"><xsl:value-of select="format-number (quantity, 
'####')"/></xsl:attribute>
  -                                             </input>
  -                                     </xsl:when>
  -                                     <xsl:otherwise>
  -                                             <xsl:value-of 
select="format-number (quantity, '####')"/>
  -                                     </xsl:otherwise>
  -                             </xsl:choose>
  -                     </td>
  -                     <td align="right">
  -                             $<xsl:value-of select="format-number (price, 
'###,##0.00')"/>
  -                     </td>
  -                     <xsl:if test="../@name='Shopping Cart'">
  -                             <td>
  -                                     <a href="[EMAIL PROTECTED]"><img 
border="0" src="images/button_remove.gif" /></a>
  -                             </td>
  -                     </xsl:if>
  -             </tr>
  -     </xsl:template>
  -     
  -     
  -
  -
  -     <xsl:template match="item">
  -             <p>
  -                     <table align="center" bgcolor="#008800" cellspacing="2" 
cellpadding="3" border="0" width="60%">
  -                             <tr bgcolor="#FFFF88">
  -                                     <td bgcolor="#FFFFFF">
  -                                             <xsl:value-of 
select="product-desc" />
  -                                     </td>
  -                             </tr>
  -                             <tr bgcolor="#FFFF88">
  -                                     <td width="100%" bgcolor="#cccccc">
  -                                       <b><xsl:value-of select="@id" /></b>
  -                                     </td>
  -                             </tr>
  -                             <tr bgcolor="#FFFF88">
  -                                     <td>
  -                                             <b><font size="4"><xsl:value-of 
select="desc" /></font></b>
  -                                     </td>
  -                             </tr>
  -                             <tr bgcolor="#FFFF88">
  -                                     <td>
  -                                             <font size="3"><i><xsl:value-of 
select="product-name" /></i></font>
  -                                     </td>
  -                             </tr>
  -                                     <!-- quantity stuff still missing -->
  -                             
  -                             <tr bgcolor="#FFFF88">
  -                                     <td>
  -                                             <xsl:value-of 
select="format-number (instock, '####')"/> in stock.
  -                                     </td>
  -                             </tr>
  -                             <tr bgcolor="#FFFF88">
  -                                     <td>
  -                                             $<xsl:value-of 
select="format-number (price, '###,##0.00')"/>
  -                                     </td>
  -                             </tr>
  -                             <tr bgcolor="#FFFF88">
  -                                     <td>
  -                                             <a href="[EMAIL PROTECTED]" 
><img border="0" src="images/button_add_to_cart.gif" /></a>
  -                                     </td>
  -                             </tr>
  -                     </table>
  -             </p>
  -     </xsl:template>
  -
  -     <xsl:template match="editAccountForm">
  -             <xsl:copy-of select="*"/>
  -        </xsl:template>
  -
  -     <xsl:template match="[EMAIL PROTECTED]'workingAccountForm']">
  -             <form>
  -                     <xsl:copy-of select="@action | @method | @styleId "/>
  -                     <xsl:choose>
  -                             <xsl:when test="/site/@signOn='true'">
  -                                     <hidden name="workingAccountForm" 
property="validate" value="newAccount"/>
  -                             </xsl:when>
  -                             <xsl:otherwise>
  -                                     <hidden name="workingAccountForm" 
property="validate" value="editAccount" />
  -                                     <hidden name="workingAccountForm" 
property="account.username" />
  -                             </xsl:otherwise>
  -                     </xsl:choose>
  -                     <table cellpadding="10" cellspacing="0" align="center" 
border="1" bgcolor="#dddddd">
  -                             <tr>
  -                                     <td>
  -                                     <xsl:apply-templates/>
  -                                     </td>
  -                             </tr>
  -                     </table>
  -                     <br />
  -                     <center>
  -                             <input border="0" type="image" 
src="images/button_submit.gif" name="submit" value="Save Account Information" />
  -                     </center>
  -             </form>
  -             <xsl:if test="/site/@signOn='false'">
  -                     <p>
  -                             <center><b><a href="listOrders.do">My 
Orders</a></b></center>
  -                     </p>
  -             </xsl:if>
  -     </xsl:template>
  -
  -     
  -     <xsl:template match="[EMAIL PROTECTED]'workingOrderForm']">
  -             <b><font color="RED"><xsl:value-of select="message" 
/></font></b>
  -             <form>
  -                     <xsl:copy-of select="@action | @method | @styleId"/>
  -                             <xsl:apply-templates/>
  -                <p><center>
  -                     <input type="image" src="images/button_submit.gif"/>
  -                 </center>
  -             </p>
  -             </form>
  -     </xsl:template>
  -     
  -     <xsl:template match="[EMAIL PROTECTED]'signon']">
  -             <xsl:apply-templates select="message"/>
  -             <form>
  -                     <xsl:copy-of select="@action | @method"/>
  -                     <table align="center" border="0">
  -                             <tr>
  -                                     <td colspan="2">Please enter your 
username and password.<br /> </td>
  -                             </tr>
  -                             <xsl:apply-templates select="input"/>
  -                     </table>
  -             </form>
  -     </xsl:template>
  -     
  -     
  -     <xsl:template match="panel[panel]">
  -             <table width="60%" align="center" border="0" cellpadding="3" 
cellspacing="1" bgcolor="#FFFF88">
  -                     <xsl:if test="@header">
  -                             <tr bgcolor="#FFFF88">
  -                                     <td align="center" colspan="2">
  -                                             <font size="4"><b><xsl:value-of 
select="@header" /></b></font>
  -                                             <xsl:if test="@subheader">
  -                                                     <br /><font 
size="3"><b><xsl:value-of select="@subheader" /></b></font>
  -                                             </xsl:if>
  -                                     </td>
  -                             </tr>
  -                     </xsl:if>
  -                     <xsl:apply-templates/>
  -             </table>
  -     </xsl:template>
  -     
  -     <xsl:template match="panel">
  -             <font color="darkgreen"><h3><xsl:value-of select="@label" 
/></h3></font>
  -             <table border="0" cellpadding="3" cellspacing="1" 
bgcolor="#008800">
  -                     <xsl:apply-templates/>
  -             </table>
  -     </xsl:template>
  -     
  -     <xsl:template match="panel/panel">
  -             <tr bgcolor="#FFFF88">
  -                     <td colspan="2">
  -                             <font color="GREEN" size="4"><b><xsl:value-of 
select="@label" />:</b></font>
  -                     </td>
  -             </tr>
  -             <xsl:apply-templates/>
  -     </xsl:template>
  -     
  -     <xsl:template match="panel/select">
  -             <tr bgcolor="#FFFF88">
  -                     <td><xsl:value-of select="@label" /></td>
  -                     <td>
  -                             <select>
  -                                     <xsl:copy-of select="@type | @src | 
@value | @name | @size | @selected | node()" />
  -                             </select>
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -     
  -     <xsl:template match="panel/input">
  -             <tr bgcolor="#FFFF88">
  -                     <td><xsl:value-of select="@label" /></td>
  -                     <td><input><xsl:copy-of select="@type | @src | @value | 
@name | @size | @selected"/></input></td>
  -             </tr>
  -     </xsl:template>
  -     
  -     <xsl:template match="panel/field">
  -             <tr bgcolor="#FFFF88">
  -                     <td><xsl:value-of select="@label" />:</td>
  -                     <td><xsl:value-of select="." /></td>
  -             </tr>
  -     </xsl:template>
  -
  -     <xsl:template match="panel/[EMAIL PROTECTED]">
  -             <tr bgcolor="#FFFF88">
  -                     <td colspan="[EMAIL PROTECTED]"><xsl:value-of 
select="@label" />
  -                             <xsl:apply-templates />
  -                     </td>
  -             </tr>
  -     </xsl:template>
  -
  -     <xsl:template match="message">
  -             <br clear="all" />
  -                     <center>
  -                             <b>
  -                                     <font size="4">
  -                                             <xsl:if test="@type='warning'">
  -                                                     <xsl:attribute 
name="color">RED</xsl:attribute> 
  -                                             </xsl:if>
  -                                             <xsl:value-of select="." />
  -                                     </font>
  -                             </b>
  -                     </center>
  -             <br clear="all" />
  -     </xsl:template>
  -
  -     
  -     <xsl:template match="input">
  -             <tr>
  -                     <td><xsl:value-of select="@label" /></td>
  -                     <td><input><xsl:copy-of select="@type | @src | @value | 
@name | @size | @selected"/></input></td>
  -             </tr>
  -     </xsl:template>
  -     
  -
  -     <xsl:template match="register">
  -             <center>
  -                     <a href="newAccountForm.do"><img border="0" 
src="images/button_register_now.gif" /></a>
  -             </center>
  -     </xsl:template>
  -
  -</xsl:stylesheet>
  -
  +<?xml version="1.0" encoding="utf-8"?>
  +
  +<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
  +     exclude-result-prefixes="xalan" >
  +
  +     <xsl:template match="site">
  +             <html>
  +                     <head>
  +                             <meta content="text/html; charset=windows-1252" 
http-equiv="Content-Type" />
  +                             <meta HTTP-EQUIV="Cache-Control" 
CONTENT="max-age=0"/>
  +                             <meta HTTP-EQUIV="Cache-Control" 
CONTENT="no-cache"/>
  +                             <meta http-equiv="expires" content="0"/>
  +                             <meta HTTP-EQUIV="Expires" CONTENT="Tue, 01 Jan 
1980 1:00:00 GMT"/>
  +                             <meta HTTP-EQUIV="Pragma" CONTENT="no-cache"/>
  +                     </head>
  +                     <body bgcolor="white">
  +                             <table background="images/bkg-topbar.gif" 
border="0" cellspacing="0" cellpadding="5" width="100%">
  +                                     <tbody>
  +                                             <tr>
  +                                                     <td>
  +                                                        <form method="post" 
action="index.do">
  +                                                              <input 
type="image" border="0" src="images/logo-topbar.gif" />
  +                                                                <select 
name="view" width="14" align="left" onChange="document.forms[0].submit()">
  +                                                             <xsl:choose>
  +                                                                     
<xsl:when test="@view='jxpath'">
  +                                                                       
<option value="JXPath">JXPath</option>
  +                                                                       
<option value="Jexl">Jexl</option>
  +                                                                       
<option value="Xsp">Xsp</option>
  +                                                                       
<option value="Velocity">Velocity</option>
  +                                                                        
</xsl:when>
  +                                                                     
<xsl:when test="@view='jexl'">
  +                                                                       
<option value="Jexl">Jexl</option>
  +                                                                       
<option value="JXPath">JXPath</option>
  +                                                                       
<option value="Xsp">Xsp</option>
  +                                                                       
<option value="Velocity">Velocity</option>
  +                                                                        
</xsl:when>
  +                                                                     
<xsl:otherwise>
  +                                                                       
<option value="Xsp">Xsp</option>
  +                                                                       
<option value="JXPath">JXPath</option>
  +                                                                       
<option value="Jexl">Jexl</option>
  +                                                                       
<option value="Velocity">Velocity</option>
  +                                                                     
</xsl:otherwise>
  +                                                                   
</xsl:choose>
  +                                                                </select>
  +                                                        </form>
  +                                                     </td>
  +                                                     <td align="right">
  +                                                             <a 
href="viewCart.do"><img border="0" name="img_cart" src="images/cart.gif" 
/></a><img border="0" src="images/separator.gif" hspace="4" />
  +                                                             <xsl:choose>
  +                                                                     
<xsl:when test="@signOn='true'">
  +                                                                             
<a href="signonForm.do"><img border="0" name="img_signin" 
src="images/sign-in.gif" /></a>
  +                                                                     
</xsl:when>
  +                                                                     
<xsl:otherwise>
  +                                                                             
<a href="signonForm.do?signoff=true"><img border="0" name="img_signout" 
src="images/sign-out.gif" /></a><img border="0" src="images/separator.gif" 
hspace="4" />
  +                                                                             
<a href="editAccount.form"><img border="0" name="img_myaccount" 
src="images/my_account.gif" /></a>
  +                                                                     
</xsl:otherwise>
  +                                                             </xsl:choose>
  +                                                             <img border="0" 
src="images/separator.gif" hspace="4" /><a href="../help.html"><img border="0" 
name="img_help" src="images/help.gif" /></a>
  +                                                     </td>
  +                                                     <td align="left" 
valign="bottom">
  +                                                             <form 
method="post" action="searchProducts.do">
  +                                                                     <input 
name="keyword" size="14" />
  +                                                                     <input 
border="0" src="images/search.gif" type="image" />
  +                                                             </form>
  +                                                     </td>
  +                                             </tr>
  +                                     </tbody>
  +                             </table>
  +                             <center>
  +                                     <a 
href="viewCategory.do?categoryId=FISH"><img border="0" src="images/sm_fish.gif" 
/></a> 
  +                                     <img border="0" 
src="images/separator.gif" hspace="4" /> 
  +                                     <a 
href="viewCategory.do?categoryId=DOGS"><img border="0" src="images/sm_dogs.gif" 
/></a> 
  +                                     <img border="0" 
src="images/separator.gif" hspace="4" /> 
  +                                     <a 
href="viewCategory.do?categoryId=REPTILES"><img border="0" 
src="images/sm_reptiles.gif" /></a> 
  +                                     <img border="0" 
src="images/separator.gif" hspace="4" /> 
  +                                     <a 
href="viewCategory.do?categoryId=CATS"><img border="0" src="images/sm_cats.gif" 
/></a> 
  +                                     <img border="0" 
src="images/separator.gif" hspace="4" />
  +                                     <a 
href="viewCategory.do?categoryId=BIRDS"><img border="0" 
src="images/sm_birds.gif" /></a> 
  +                             </center>
  +                             <xsl:apply-templates/>
  +                             <br/>
  +                             <p align="center">
  +                                     <a href="http://cocoon.apache.org";><img 
border="0" align="center" src="images/cocoon.gif" /></a>
  +                             </p>
  +                     </body>
  +             </html>
  +     </xsl:template>
  +
  +     <xsl:template match="welcome">
  +             <table border="0" cellspacing="0" width="100%">
  +                     <tbody>
  +                             <tr>
  +                                     <td valign="top" width="100%">
  +                                             <table align="left" border="0" 
cellspacing="0" width="80%">
  +                                                     <tbody>
  +                                                             <tr>
  +                                                                     <td 
valign="top">
  +                                                                             
<xsl:apply-templates/>
  +                                                                     </td>
  +                                                                     <td 
align="center" bgcolor="white" height="300" width="100%">
  +                                                                             
<map name="estoremap">
  +                                                                             
        <area alt="Birds" coords="72,2,280,250" 
href="viewCategory.do?categoryId=BIRDS" shape="RECT" />
  +                                                                             
        <area alt="Fish" coords="2,180,72,250" 
href="viewCategory.do?categoryId=FISH" shape="RECT" />
  +                                                                             
        <area alt="Dogs" coords="60,250,130,320" 
href="viewCategory.do?categoryId=DOGS" shape="RECT" />
  +                                                                             
        <area alt="Reptiles" coords="140,270,210,340" 
href="viewCategory.do?categoryId=REPTILES" shape="RECT" />
  +                                                                             
        <area alt="Cats" coords="225,240,295,310" 
href="viewCategory.do?categoryId=CATS" shape="RECT" />
  +                                                                             
        <area alt="Birds" coords="280,180,350,250" 
href="viewCategory.do?categoryId=BIRDS" shape="RECT" />
  +                                                                             
</map>
  +                                                                             
<img border="0" height="355" src="images/splash.gif" align="center" 
usemap="#estoremap" width="350" />
  +                                                                     </td>
  +                                                             </tr>
  +                                                     </tbody>
  +                                             </table>
  +                                     </td>
  +                             </tr>
  +                     </tbody>
  +             </table>
  +     </xsl:template>
  +
  +     <xsl:template match="menu">
  +             <table bgcolor="#FFFF88" border="0" cellspacing="0" 
cellpadding="5" width="200">
  +                     <tbody>
  +                             <tr>
  +                                     <td>
  +                                             <!-- 
  +                                             #if (!$accountForm.signOn)
  +                                             <b><i><font size="2" 
color="BLACK">Welcome $accountForm.account.firstName!</font></i></b>
  +                                             #end
  +                                             -->
  +                                     </td>
  +                             </tr>
  +                             <xsl:apply-templates/>
  +                     </tbody>
  +             </table>
  +     </xsl:template>
  +
  +     <xsl:template match="menu/category">
  +             <tr>
  +                     <td>
  +                             <a href="[EMAIL 
PROTECTED]"><i><h2><xsl:value-of select="@name" /></h2></i></a>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +
  +     <xsl:template match="backpointer">
  +             <table align="left" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="2">
  +                     <tr>
  +                             <td bgcolor="#FFFF88">
  +                                     <a href="[EMAIL PROTECTED]"><b><font 
color="BLACK" size="2">&lt;&lt; <xsl:value-of select="@name" /></font></b></a>
  +                             </td>
  +                     </tr>
  +             </table>
  +     </xsl:template>
  +
  +     <xsl:template match="category">
  +             <p>
  +                     <center>
  +                             <h2><xsl:value-of select="@name" /></h2>
  +                     </center>
  +                     <table align="center" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="3">
  +                             <tr bgcolor="#CCCCCC">
  +                                     <td>
  +                                             <b>Product ID</b>
  +                                     </td>
  +                                     <td>
  +                                             <b>Name</b>
  +                                     </td>
  +                             </tr>
  +                             <xsl:apply-templates/>
  +                     </table>
  +             </p>
  +     </xsl:template>
  +
  +     <xsl:template match="category/product">
  +             <tr bgcolor="#FFFF88">
  +                     <td>
  +                             <b><a href="[EMAIL PROTECTED]"><font 
color="BLACK"><xsl:value-of select="@id" /></font></a></b>
  +                     </td>
  +                     <td>
  +                             <xsl:value-of select="@name" />
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +     
  +     <xsl:template match="search">
  +             <table align="center" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="3">
  +                     <tr bgcolor="#CCCCCC">
  +                             <td></td>
  +                             <td>
  +                                     <b>Product ID</b>
  +                             </td>
  +                             <td>
  +                                     <b>Name</b>
  +                             </td>
  +                     </tr>
  +                     
  +                     <xsl:apply-templates/>
  +             </table>
  +
  +     </xsl:template>
  +
  +     <xsl:template match="search/product">
  +             <tr bgcolor="#FFFF88">
  +                     <td><a href="[EMAIL PROTECTED]"><xsl:value-of 
select="product-desc" /></a></td>
  +                     <td>
  +                             <b><a href="[EMAIL PROTECTED]"><font 
color="BLACK"><xsl:value-of select="@id" /></font></a></b>
  +                     </td>
  +                     <td><xsl:value-of select="@name" /></td>
  +             </tr>
  +     </xsl:template>
  +
  +     <xsl:template match="situation">
  +             <tr>
  +                     <td>
  +                             <xsl:if test="@firstPage='false'" >
  +                                     <a href="[EMAIL PROTECTED]"><font 
color="white"><B>&lt;&lt; Prev</B></font></a>
  +                             </xsl:if>
  +                             <xsl:if test="@lastPage='false'" >
  +                                     <a href="[EMAIL PROTECTED]"><font 
color="white"><B>Next &gt;&gt;</B></font></a>
  +                             </xsl:if>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +
  +     <xsl:template match="product">
  +             <p>
  +                     <center>
  +                             <b><font size="4"><xsl:value-of select="@name" 
/></font></b>
  +                     </center>
  +                     
  +                     <table align="center" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="3">
  +                             <tr bgcolor="#CCCCCC">
  +                                     <td><b>Item ID</b></td>
  +                                     <td><b>Product ID</b></td>
  +                                     <td><b>Description</b></td>
  +                                     <td><b>List Price</b></td>
  +                                     <td></td>
  +                             </tr>
  +                             <xsl:apply-templates/>
  +                     </table>
  +             </p>
  +     </xsl:template>
  +
  +     <xsl:template match="product/item">
  +             <tr bgcolor="#FFFF88">
  +                     <td>
  +                             <b><a href="[EMAIL PROTECTED]"><xsl:value-of 
select="@id" /></a></b>
  +                     </td>
  +                     <td>
  +                             <b><xsl:value-of select="@product-id" /></b>
  +                     </td>
  +                     <td>
  +                             <xsl:value-of select="desc" /><xsl:text> 
</xsl:text><xsl:value-of select="../@name" />
  +                     </td>
  +                     <td>
  +                             <xsl:text>$</xsl:text> <xsl:value-of 
select="price" />
  +                     </td>
  +                     <td>
  +                             <a href="[EMAIL PROTECTED]"><img border="0" 
src="images/button_add_to_cart.gif" /></a>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +
  +     <xsl:template name="cart-common-columns">
  +             <td><b>Item ID</b></td>
  +             <td><b>Product ID</b></td>
  +             <td><b>Description</b></td>
  +             <td><b>Quantity</b></td>
  +             <td><b>List Price</b></td>
  +     </xsl:template>
  +
  +     <xsl:template match="[EMAIL PROTECTED]'Shopping Cart']">
  +             <table border="0" width="100%" cellspacing="0" cellpadding="0">
  +                     <tr>
  +                             <td valign="top" width="20%" align="left">
  +                                     <xsl:apply-templates 
select="backpointer" />
  +                             </td>
  +                             <td valign="top" align="center">
  +                                     <h2 align="center"><xsl:value-of 
select="@name" /></h2>
  +                                     <form action="updateCartQuantities.do" 
method="post" >
  +                                             <table align="center" 
bgcolor="#008800" border="0" cellspacing="2" cellpadding="5">
  +                                                     <tr bgcolor="#cccccc">
  +                                                             
<xsl:call-template name="cart-common-columns" />
  +                                                             <td></td>
  +                                                     </tr>
  +                                                     <xsl:if 
test="not(item)">
  +                                                             <tr 
bgcolor="#FFFF88">
  +                                                                     <td 
colspan="6">
  +                                                                             
<b>Your cart is empty.</b>
  +                                                                     </td>
  +                                                             </tr>
  +                                                     </xsl:if>
  +                                                     <xsl:apply-templates 
select="item" />
  +                                                     <tr bgcolor="#FFFF88">
  +                                                             <td colspan="5" 
align="right">
  +                                                                     <b>Sub 
Total: $<xsl:value-of select="format-number (total, '###,##0.00')"/></b><br />
  +                                                                     <input 
type="image" border="0" src="images/button_update_cart.gif" name="update" />
  +                                                             </td>
  +                                                             <td></td>
  +                                                     </tr>
  +                                             </table>
  +                                     </form>
  +                                     <xsl:if test="item">
  +                                             <xsl:apply-templates 
select="nextpointer" />
  +                                     </xsl:if>
  +                             </td>
  +                             <td valign="top" width="20%" align="right">
  +                             </td>
  +                     </tr>
  +             </table>
  +     </xsl:template>
  +
  +     <xsl:template match="[EMAIL PROTECTED]'Checkout Summary']">
  +             <table border="0" width="100%" cellspacing="0" cellpadding="0">
  +                     <tr>
  +                             <td valign="top" width="20%" align="left">
  +                                     <xsl:apply-templates 
select="backpointer" />
  +                             </td>
  +                             <td valign="top" align="center">
  +                                     <h2 align="center"><xsl:value-of 
select="@name" /></h2>
  +                                             <table align="center" 
bgcolor="#008800" border="0" cellspacing="2" cellpadding="5">
  +                                                     <tr bgcolor="#cccccc">
  +                                                             
<xsl:call-template name="cart-common-columns" />
  +                                                     </tr>
  +                                                     <xsl:apply-templates 
select="item" />
  +                                                     <tr bgcolor="#FFFF88">
  +                                                             <td colspan="5" 
align="right">
  +                                                                     <b>Sub 
Total: $<xsl:value-of select="format-number (total, '###,##0.00')"/></b><br />
  +                                                             </td>
  +                                                     </tr>
  +                                             </table>
  +                                             <xsl:apply-templates 
select="nextpointer" />
  +                             </td>
  +                             <td valign="top" width="20%" align="right">
  +                             </td>
  +                     </tr>
  +             </table>
  +     </xsl:template>
  +
  +     <xsl:template match="[EMAIL PROTECTED]'Status']">
  +             <table align="center" bgcolor="#008800" border="0" 
cellspacing="2" cellpadding="5">
  +                     <tr bgcolor="#cccccc">
  +                             <xsl:call-template name="cart-common-columns" />
  +                     </tr>
  +                     <xsl:apply-templates select="item" />
  +                     <tr bgcolor="#FFFF88">
  +                             <td colspan="5" align="right">
  +                                     <b>Total: $<xsl:value-of 
select="format-number (total, '###,##0.00')"/></b><br />
  +                             </td>
  +                     </tr>
  +             </table>
  +     </xsl:template>
  +
  +
  +     <xsl:template match="nextpointer">
  +             <br />
  +                     <center>
  +                             <a href="[EMAIL PROTECTED]"><img border="0" 
src="[EMAIL PROTECTED]" /></a>
  +                     </center>
  +     </xsl:template>
  +
  +
  +     <xsl:template match="cart/item">
  +             <tr bgcolor="#FFFF88">
  +                     <td>
  +                             <b><xsl:value-of select="@id" /></b>
  +                     </td>
  +                     <td>
  +                             <xsl:value-of select="@product-id" />
  +                     </td>
  +                      <td>
  +                                     <xsl:value-of select="desc" />
  +                      </td>
  +                     <td align="center">
  +                             <xsl:choose>
  +                                     <xsl:when test="../@name='Shopping 
Cart'">
  +                                             <input type="text" size="3" 
name="[EMAIL PROTECTED]" >
  +                                                     <xsl:attribute 
name="value"><xsl:value-of select="format-number (quantity, 
'####')"/></xsl:attribute>
  +                                             </input>
  +                                     </xsl:when>
  +                                     <xsl:otherwise>
  +                                             <xsl:value-of 
select="format-number (quantity, '####')"/>
  +                                     </xsl:otherwise>
  +                             </xsl:choose>
  +                     </td>
  +                     <td align="right">
  +                             $<xsl:value-of select="format-number (price, 
'###,##0.00')"/>
  +                     </td>
  +                     <xsl:if test="../@name='Shopping Cart'">
  +                             <td>
  +                                     <a href="[EMAIL PROTECTED]"><img 
border="0" src="images/button_remove.gif" /></a>
  +                             </td>
  +                     </xsl:if>
  +             </tr>
  +     </xsl:template>
  +     
  +     
  +
  +
  +     <xsl:template match="item">
  +             <p>
  +                     <table align="center" bgcolor="#008800" cellspacing="2" 
cellpadding="3" border="0" width="60%">
  +                             <tr bgcolor="#FFFF88">
  +                                     <td bgcolor="#FFFFFF">
  +                                             <xsl:value-of 
select="product-desc" />
  +                                     </td>
  +                             </tr>
  +                             <tr bgcolor="#FFFF88">
  +                                     <td width="100%" bgcolor="#cccccc">
  +                                       <b><xsl:value-of select="@id" /></b>
  +                                     </td>
  +                             </tr>
  +                             <tr bgcolor="#FFFF88">
  +                                     <td>
  +                                             <b><font size="4"><xsl:value-of 
select="desc" /></font></b>
  +                                     </td>
  +                             </tr>
  +                             <tr bgcolor="#FFFF88">
  +                                     <td>
  +                                             <font size="3"><i><xsl:value-of 
select="product-name" /></i></font>
  +                                     </td>
  +                             </tr>
  +                                     <!-- quantity stuff still missing -->
  +                             
  +                             <tr bgcolor="#FFFF88">
  +                                     <td>
  +                                             <xsl:value-of 
select="format-number (instock, '####')"/> in stock.
  +                                     </td>
  +                             </tr>
  +                             <tr bgcolor="#FFFF88">
  +                                     <td>
  +                                             $<xsl:value-of 
select="format-number (price, '###,##0.00')"/>
  +                                     </td>
  +                             </tr>
  +                             <tr bgcolor="#FFFF88">
  +                                     <td>
  +                                             <a href="[EMAIL PROTECTED]" 
><img border="0" src="images/button_add_to_cart.gif" /></a>
  +                                     </td>
  +                             </tr>
  +                     </table>
  +             </p>
  +     </xsl:template>
  +
  +     <xsl:template match="editAccountForm">
  +             <xsl:copy-of select="*"/>
  +        </xsl:template>
  +
  +     <xsl:template match="[EMAIL PROTECTED]'workingAccountForm']">
  +             <form>
  +                     <xsl:copy-of select="@action | @method | @styleId "/>
  +                     <xsl:choose>
  +                             <xsl:when test="/site/@signOn='true'">
  +                                     <hidden name="workingAccountForm" 
property="validate" value="newAccount"/>
  +                             </xsl:when>
  +                             <xsl:otherwise>
  +                                     <hidden name="workingAccountForm" 
property="validate" value="editAccount" />
  +                                     <hidden name="workingAccountForm" 
property="account.username" />
  +                             </xsl:otherwise>
  +                     </xsl:choose>
  +                     <table cellpadding="10" cellspacing="0" align="center" 
border="1" bgcolor="#dddddd">
  +                             <tr>
  +                                     <td>
  +                                     <xsl:apply-templates/>
  +                                     </td>
  +                             </tr>
  +                     </table>
  +                     <br />
  +                     <center>
  +                             <input border="0" type="image" 
src="images/button_submit.gif" name="submit" value="Save Account Information" />
  +                     </center>
  +             </form>
  +             <xsl:if test="/site/@signOn='false'">
  +                     <p>
  +                             <center><b><a href="listOrders.do">My 
Orders</a></b></center>
  +                     </p>
  +             </xsl:if>
  +     </xsl:template>
  +
  +     
  +     <xsl:template match="[EMAIL PROTECTED]'workingOrderForm']">
  +             <b><font color="RED"><xsl:value-of select="message" 
/></font></b>
  +             <form>
  +                     <xsl:copy-of select="@action | @method | @styleId"/>
  +                             <xsl:apply-templates/>
  +                <p><center>
  +                     <input type="image" src="images/button_submit.gif"/>
  +                 </center>
  +             </p>
  +             </form>
  +     </xsl:template>
  +     
  +     <xsl:template match="[EMAIL PROTECTED]'signon']">
  +             <xsl:apply-templates select="message"/>
  +             <form>
  +                     <xsl:copy-of select="@action | @method"/>
  +                     <table align="center" border="0">
  +                             <tr>
  +                                     <td colspan="2">Please enter your 
username and password.<br /> </td>
  +                             </tr>
  +                             <xsl:apply-templates select="input"/>
  +                     </table>
  +             </form>
  +     </xsl:template>
  +     
  +     
  +     <xsl:template match="panel[panel]">
  +             <table width="60%" align="center" border="0" cellpadding="3" 
cellspacing="1" bgcolor="#FFFF88">
  +                     <xsl:if test="@header">
  +                             <tr bgcolor="#FFFF88">
  +                                     <td align="center" colspan="2">
  +                                             <font size="4"><b><xsl:value-of 
select="@header" /></b></font>
  +                                             <xsl:if test="@subheader">
  +                                                     <br /><font 
size="3"><b><xsl:value-of select="@subheader" /></b></font>
  +                                             </xsl:if>
  +                                     </td>
  +                             </tr>
  +                     </xsl:if>
  +                     <xsl:apply-templates/>
  +             </table>
  +     </xsl:template>
  +     
  +     <xsl:template match="panel">
  +             <font color="darkgreen"><h3><xsl:value-of select="@label" 
/></h3></font>
  +             <table border="0" cellpadding="3" cellspacing="1" 
bgcolor="#008800">
  +                     <xsl:apply-templates/>
  +             </table>
  +     </xsl:template>
  +     
  +     <xsl:template match="panel/panel">
  +             <tr bgcolor="#FFFF88">
  +                     <td colspan="2">
  +                             <font color="GREEN" size="4"><b><xsl:value-of 
select="@label" />:</b></font>
  +                     </td>
  +             </tr>
  +             <xsl:apply-templates/>
  +     </xsl:template>
  +     
  +     <xsl:template match="panel/select">
  +             <tr bgcolor="#FFFF88">
  +                     <td><xsl:value-of select="@label" /></td>
  +                     <td>
  +                             <select>
  +                                     <xsl:copy-of select="@type | @src | 
@value | @name | @size | @selected | node()" />
  +                             </select>
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +     
  +     <xsl:template match="panel/input">
  +             <tr bgcolor="#FFFF88">
  +                     <td><xsl:value-of select="@label" /></td>
  +                     <td><input><xsl:copy-of select="@type | @src | @value | 
@name | @size | @selected"/></input></td>
  +             </tr>
  +     </xsl:template>
  +     
  +     <xsl:template match="panel/field">
  +             <tr bgcolor="#FFFF88">
  +                     <td><xsl:value-of select="@label" />:</td>
  +                     <td><xsl:value-of select="." /></td>
  +             </tr>
  +     </xsl:template>
  +
  +     <xsl:template match="panel/[EMAIL PROTECTED]">
  +             <tr bgcolor="#FFFF88">
  +                     <td colspan="[EMAIL PROTECTED]"><xsl:value-of 
select="@label" />
  +                             <xsl:apply-templates />
  +                     </td>
  +             </tr>
  +     </xsl:template>
  +
  +     <xsl:template match="message">
  +             <br clear="all" />
  +                     <center>
  +                             <b>
  +                                     <font size="4">
  +                                             <xsl:if test="@type='warning'">
  +                                                     <xsl:attribute 
name="color">RED</xsl:attribute> 
  +                                             </xsl:if>
  +                                             <xsl:value-of select="." />
  +                                     </font>
  +                             </b>
  +                     </center>
  +             <br clear="all" />
  +     </xsl:template>
  +
  +     
  +     <xsl:template match="input">
  +             <tr>
  +                     <td><xsl:value-of select="@label" /></td>
  +                     <td><input><xsl:copy-of select="@type | @src | @value | 
@name | @size | @selected"/></input></td>
  +             </tr>
  +     </xsl:template>
  +     
  +
  +     <xsl:template match="register">
  +             <center>
  +                     <a href="newAccountForm.do"><img border="0" 
src="images/button_register_now.gif" /></a>
  +             </center>
  +     </xsl:template>
  +
  +</xsl:stylesheet>
  +
  
  
  
  1.3       +65 -65    
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/jxforms/EditAccountInformation.xml
  
  Index: EditAccountInformation.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/jxforms/EditAccountInformation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- EditAccountInformation.xml        3 May 2003 20:36:13 -0000       1.2
  +++ EditAccountInformation.xml        6 May 2003 14:13:03 -0000       1.3
  @@ -1,65 +1,65 @@
  -<?xml version="1.0"?>
  -
  -<site xmlns:xf="http://apache.org/cocoon/jxforms/1.0"; 
  -   signOn="false" view="xsp">
  -  <editAccountForm>
  -     <xf:form id="petstore-edit-account" view="edit-account-info" 
action="petstore" method="GET" class="petstore-form">
  -             <error>
  -                     <xf:violations class="error"/>
  -             </error>
  -             
  -             <xf:group class="panel" ref="/account">
  -                     <xf:label class="header" >Account Information</xf:label>
  -                     <xf:input ref="/account/firstName">
  -                             <xf:label>First Name:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="lastName">
  -                             <xf:label>Last Name:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="email">
  -                             <xf:label>Email:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="phone">
  -                             <xf:label>Phone:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="address1">
  -                             <xf:label>Address 1:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="address2">
  -                             <xf:label>Address 2:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="city">
  -                             <xf:label>City:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="state">
  -                             <xf:label>State:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="zip">
  -                             <xf:label>Zip:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:input ref="country">
  -                             <xf:label>Country:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -             </xf:group>
  -
  -             <xf:submit id="prev" continuation="back" class="button">
  -                     <xf:label>Back</xf:label>
  -                     <xf:hint>Go Back</xf:hint>
  -             </xf:submit>
  -             <xf:submit id="next" continuation="forward" class="button">
  -                     <xf:label>Next</xf:label>
  -                     <xf:hint>Continue</xf:hint>
  -             </xf:submit>
  -     </xf:form>
  -</editAccountForm>
  -</site>
  +<?xml version="1.0"?>
  +
  +<site xmlns:xf="http://apache.org/cocoon/jxforms/1.0"; 
  +   signOn="false" view="xsp">
  +  <editAccountForm>
  +     <xf:form id="petstore-edit-account" view="edit-account-info" 
action="petstore" method="GET" class="petstore-form">
  +             <error>
  +                     <xf:violations class="error"/>
  +             </error>
  +             
  +             <xf:group class="panel" ref="/account">
  +                     <xf:label class="header" >Account Information</xf:label>
  +                     <xf:input ref="/account/firstName">
  +                             <xf:label>First Name:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="lastName">
  +                             <xf:label>Last Name:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="email">
  +                             <xf:label>Email:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="phone">
  +                             <xf:label>Phone:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="address1">
  +                             <xf:label>Address 1:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="address2">
  +                             <xf:label>Address 2:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="city">
  +                             <xf:label>City:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="state">
  +                             <xf:label>State:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="zip">
  +                             <xf:label>Zip:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:input ref="country">
  +                             <xf:label>Country:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +             </xf:group>
  +
  +             <xf:submit id="prev" continuation="back" class="button">
  +                     <xf:label>Back</xf:label>
  +                     <xf:hint>Go Back</xf:hint>
  +             </xf:submit>
  +             <xf:submit id="next" continuation="forward" class="button">
  +                     <xf:label>Next</xf:label>
  +                     <xf:hint>Continue</xf:hint>
  +             </xf:submit>
  +     </xf:form>
  +</editAccountForm>
  +</site>
  
  
  
  1.3       +54 -54    
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/jxforms/EditProfileInformation.xml
  
  Index: EditProfileInformation.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/jxforms/EditProfileInformation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- EditProfileInformation.xml        3 May 2003 20:36:13 -0000       1.2
  +++ EditProfileInformation.xml        6 May 2003 14:13:03 -0000       1.3
  @@ -1,54 +1,54 @@
  -<?xml version="1.0"?>
  -
  -<site xmlns:xf="http://apache.org/cocoon/jxforms/1.0"; 
  - signOn="false" view="xsp">
  - <editAccountForm>
  -     <xf:form id="petstore-edit-account" view="edit-profile" 
action="petstore" method="GET">
  -             <error>
  -                     <xf:violations class="error"/>
  -             </error>
  -             
  -             <xf:group ref="/account">
  -                     <xf:label class="header">Profile Information</xf:label>
  -                     <xf:select1 ref="/account/favCategory">
  -                        <xf:label>Favorite Category:</xf:label>
  -                        <xf:itemset nodeset="/categoryList">
  -                             <xf:label><xf:output ref="name"/></xf:label>
  -                             <xf:value><xf:output ref="name"/></xf:value>
  -                        </xf:itemset>
  -                     </xf:select1>
  -                     <xf:select1 ref="/account/listOption">
  -                             <xf:label>Enable MyList</xf:label>
  -                                <xf:item>
  -                               <xf:label>Yes</xf:label>
  -                               <xf:value>true</xf:value>
  -                                </xf:item>
  -                                <xf:item>
  -                               <xf:label>No</xf:label>
  -                               <xf:value></xf:value>
  -                                </xf:item>
  -                     </xf:select1>
  -                     <xf:select1 ref="/account/bannerOption">
  -                             <xf:label>Enable MyBanner</xf:label>
  -                                <xf:item>
  -                               <xf:label>Yes</xf:label>
  -                               <xf:value>true</xf:value>
  -                                </xf:item>
  -                                <xf:item>
  -                               <xf:label>No</xf:label>
  -                               <xf:value></xf:value>
  -                                </xf:item>
  -                     </xf:select1>
  -             </xf:group>
  -
  -             <xf:submit id="prev" continuation="back" class="button">
  -                     <xf:label>Back</xf:label>
  -                     <xf:hint>Go Back</xf:hint>
  -             </xf:submit>
  -             <xf:submit id="next" continuation="forward" class="button">
  -                     <xf:label>Finish</xf:label>
  -                     <xf:hint>Submit Account Information</xf:hint>
  -             </xf:submit>
  -     </xf:form>
  -</editAccountForm>
  -</site>
  +<?xml version="1.0"?>
  +
  +<site xmlns:xf="http://apache.org/cocoon/jxforms/1.0"; 
  + signOn="false" view="xsp">
  + <editAccountForm>
  +     <xf:form id="petstore-edit-account" view="edit-profile" 
action="petstore" method="GET">
  +             <error>
  +                     <xf:violations class="error"/>
  +             </error>
  +             
  +             <xf:group ref="/account">
  +                     <xf:label class="header">Profile Information</xf:label>
  +                     <xf:select1 ref="/account/favCategory">
  +                        <xf:label>Favorite Category:</xf:label>
  +                        <xf:itemset nodeset="/categoryList">
  +                             <xf:label><xf:output ref="name"/></xf:label>
  +                             <xf:value><xf:output ref="name"/></xf:value>
  +                        </xf:itemset>
  +                     </xf:select1>
  +                     <xf:select1 ref="/account/listOption">
  +                             <xf:label>Enable MyList</xf:label>
  +                                <xf:item>
  +                               <xf:label>Yes</xf:label>
  +                               <xf:value>true</xf:value>
  +                                </xf:item>
  +                                <xf:item>
  +                               <xf:label>No</xf:label>
  +                               <xf:value></xf:value>
  +                                </xf:item>
  +                     </xf:select1>
  +                     <xf:select1 ref="/account/bannerOption">
  +                             <xf:label>Enable MyBanner</xf:label>
  +                                <xf:item>
  +                               <xf:label>Yes</xf:label>
  +                               <xf:value>true</xf:value>
  +                                </xf:item>
  +                                <xf:item>
  +                               <xf:label>No</xf:label>
  +                               <xf:value></xf:value>
  +                                </xf:item>
  +                     </xf:select1>
  +             </xf:group>
  +
  +             <xf:submit id="prev" continuation="back" class="button">
  +                     <xf:label>Back</xf:label>
  +                     <xf:hint>Go Back</xf:hint>
  +             </xf:submit>
  +             <xf:submit id="next" continuation="forward" class="button">
  +                     <xf:label>Finish</xf:label>
  +                     <xf:hint>Submit Account Information</xf:hint>
  +             </xf:submit>
  +     </xf:form>
  +</editAccountForm>
  +</site>
  
  
  
  1.3       +34 -34    
cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/jxforms/EditUserInformation.xml
  
  Index: EditUserInformation.xml
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/scratchpad/webapp/samples/petstore/view/jxforms/EditUserInformation.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- EditUserInformation.xml   3 May 2003 20:36:13 -0000       1.2
  +++ EditUserInformation.xml   6 May 2003 14:13:03 -0000       1.3
  @@ -1,34 +1,34 @@
  -<?xml version="1.0"?>
  -
  -<site xmlns:xf="http://apache.org/cocoon/jxforms/1.0"; 
  -   signOn="false" view="xsp">
  -  <editAccountForm>
  -     <xf:form id="petstore-edit-account" view="edit-user-info" 
action="petstore" method="GET" class="petstore-form">
  -             <error>
  -                     <xf:violations class="error"/>
  -             </error>
  -             
  -             <xf:group class="panel" ref="/">
  -                     <xf:label class="header">User Information</xf:label>
  -                     <xf:input ref="/username">
  -                             <xf:label>User ID:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:input>
  -                     <xf:secret ref="/password">
  -                             <xf:label>Password:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:secret>
  -                     <xf:secret ref="/password2">
  -                             <xf:label>Repeat Password:</xf:label>
  -                             <xf:violations class="error"/>
  -                     </xf:secret>
  -             </xf:group>
  -             
  -
  -             <xf:submit id="next" continuation="forward" class="button">
  -                     <xf:label>Next</xf:label>
  -                     <xf:hint>Continue</xf:hint>
  -             </xf:submit>
  -     </xf:form>
  -</editAccountForm>
  -</site>
  +<?xml version="1.0"?>
  +
  +<site xmlns:xf="http://apache.org/cocoon/jxforms/1.0"; 
  +   signOn="false" view="xsp">
  +  <editAccountForm>
  +     <xf:form id="petstore-edit-account" view="edit-user-info" 
action="petstore" method="GET" class="petstore-form">
  +             <error>
  +                     <xf:violations class="error"/>
  +             </error>
  +             
  +             <xf:group class="panel" ref="/">
  +                     <xf:label class="header">User Information</xf:label>
  +                     <xf:input ref="/username">
  +                             <xf:label>User ID:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:input>
  +                     <xf:secret ref="/password">
  +                             <xf:label>Password:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:secret>
  +                     <xf:secret ref="/password2">
  +                             <xf:label>Repeat Password:</xf:label>
  +                             <xf:violations class="error"/>
  +                     </xf:secret>
  +             </xf:group>
  +             
  +
  +             <xf:submit id="next" continuation="forward" class="button">
  +                     <xf:label>Next</xf:label>
  +                     <xf:hint>Continue</xf:hint>
  +             </xf:submit>
  +     </xf:form>
  +</editAccountForm>
  +</site>
  
  
  
  1.2       +40 -39    cocoon-2.1/src/webapp/samples/errorhandling/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/webapp/samples/errorhandling/sitemap.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sitemap.xmap      29 Apr 2003 10:45:19 -0000      1.1
  +++ sitemap.xmap      6 May 2003 14:13:03 -0000       1.2
  @@ -1,39 +1,40 @@
  -<?xml version="1.0" encoding="UTF-8"?>
  -<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  -     <map:components>
  -             <map:selectors default="browser">
  -                     <map:selector name="exception" 
src="org.apache.cocoon.selection.XPathExceptionSelector">
  -                             <exception name="application" 
class="org.apache.cocoon.samples.errorhandling.ApplicationException">
  -                                     <xpath name="application1" 
test="errorCode=1"/>
  -                                     <xpath name="application2" 
test="errorCode=2"/>
  -                             </exception>
  -                             <exception name="validation" 
class="org.apache.cocoon.samples.errorhandling.ValidationException"/>
  -                             <exception name="resourceNotFound" 
class="org.apache.cocoon.ResourceNotFoundException"/>
  -                             <exception class="java.lang.Throwable" 
unroll="true"/>
  -                     </map:selector>
  -             </map:selectors>
  -     </map:components>
  -     <map:pipelines>
  -             <map:pipeline>
  -                     <map:match pattern="main">
  -                             <map:generate src="main.htm"/>
  -                             <map:serialize/>
  -                     </map:match>
  -             </map:pipeline>
  -             <map:pipeline>
  -                     <map:mount uri-prefix="exception" src="exception/"/>
  -                     <map:handle-errors>
  -                             <map:select type="exception">
  -                                     <map:when test="resourceNotFound">
  -                                             <map:generate 
src="resourceNotFound.htm"/>
  -                                             <map:serialize/>
  -                                     </map:when>
  -                             </map:select>
  -                     </map:handle-errors>
  -             </map:pipeline>
  -             <map:handle-errors>
  -                     <map:generate src="generalerror.htm"/>
  -                     <map:serialize/>
  -             </map:handle-errors>
  -     </map:pipelines>
  -</map:sitemap>
  \ No newline at end of file
  +<?xml version="1.0" encoding="UTF-8"?>
  +
  +<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  +     <map:components>
  +             <map:selectors default="browser">
  +                     <map:selector name="exception" 
src="org.apache.cocoon.selection.XPathExceptionSelector">
  +                             <exception name="application" 
class="org.apache.cocoon.samples.errorhandling.ApplicationException">
  +                                     <xpath name="application1" 
test="errorCode=1"/>
  +                                     <xpath name="application2" 
test="errorCode=2"/>
  +                             </exception>
  +                             <exception name="validation" 
class="org.apache.cocoon.samples.errorhandling.ValidationException"/>
  +                             <exception name="resourceNotFound" 
class="org.apache.cocoon.ResourceNotFoundException"/>
  +                             <exception class="java.lang.Throwable" 
unroll="true"/>
  +                     </map:selector>
  +             </map:selectors>
  +     </map:components>
  +     <map:pipelines>
  +             <map:pipeline>
  +                     <map:match pattern="main">
  +                             <map:generate src="main.htm"/>
  +                             <map:serialize/>
  +                     </map:match>
  +             </map:pipeline>
  +             <map:pipeline>
  +                     <map:mount uri-prefix="exception" src="exception/"/>
  +                     <map:handle-errors>
  +                             <map:select type="exception">
  +                                     <map:when test="resourceNotFound">
  +                                             <map:generate 
src="resourceNotFound.htm"/>
  +                                             <map:serialize/>
  +                                     </map:when>
  +                             </map:select>
  +                     </map:handle-errors>
  +             </map:pipeline>
  +             <map:handle-errors>
  +                     <map:generate src="generalerror.htm"/>
  +                     <map:serialize/>
  +             </map:handle-errors>
  +     </map:pipelines>
  +</map:sitemap>
  
  
  
  1.2       +41 -40    
cocoon-2.1/src/webapp/samples/errorhandling/exception/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/webapp/samples/errorhandling/exception/sitemap.xmap,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sitemap.xmap      29 Apr 2003 10:45:20 -0000      1.1
  +++ sitemap.xmap      6 May 2003 14:13:03 -0000       1.2
  @@ -1,40 +1,41 @@
  -<?xml version="1.0" encoding="UTF-8"?>
  -<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  -     <map:components>
  -             <map:generators default="file">
  -                     <map:generator name="exception" 
src="org.apache.cocoon.samples.errorhandling.ExceptionGenerator"/>
  -             </map:generators>
  -     </map:components>
  -     <map:pipelines>
  -             <map:pipeline>
  -                     <map:match pattern="exception">
  -                             <map:generate type="exception"/>
  -                             <map:serialize/>
  -                     </map:match>
  -                     <map:handle-errors>
  -                             <map:select type="exception">
  -                                     <map:when test="validation">
  -                                             <map:generate 
src="validation.htm"/>
  -                                             <map:serialize/>
  -                                     </map:when>
  -                             </map:select>
  -                     </map:handle-errors>
  -             </map:pipeline>
  -             <map:handle-errors>
  -                     <map:select type="exception">
  -                             <map:when test="application1">
  -                                     <map:generate src="application1.htm"/>
  -                                     <map:serialize/>
  -                             </map:when>
  -                             <map:when test="application2">
  -                                     <map:generate src="application2.htm"/>
  -                                     <map:serialize/>
  -                             </map:when>
  -                             <map:when test="application">
  -                                     <map:generate src="application.htm"/>
  -                                     <map:serialize/>
  -                             </map:when>
  -                     </map:select>
  -             </map:handle-errors>
  -     </map:pipelines>
  -</map:sitemap>
  \ No newline at end of file
  +<?xml version="1.0" encoding="UTF-8"?>
  +
  +<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  +     <map:components>
  +             <map:generators default="file">
  +                     <map:generator name="exception" 
src="org.apache.cocoon.samples.errorhandling.ExceptionGenerator"/>
  +             </map:generators>
  +     </map:components>
  +     <map:pipelines>
  +             <map:pipeline>
  +                     <map:match pattern="exception">
  +                             <map:generate type="exception"/>
  +                             <map:serialize/>
  +                     </map:match>
  +                     <map:handle-errors>
  +                             <map:select type="exception">
  +                                     <map:when test="validation">
  +                                             <map:generate 
src="validation.htm"/>
  +                                             <map:serialize/>
  +                                     </map:when>
  +                             </map:select>
  +                     </map:handle-errors>
  +             </map:pipeline>
  +             <map:handle-errors>
  +                     <map:select type="exception">
  +                             <map:when test="application1">
  +                                     <map:generate src="application1.htm"/>
  +                                     <map:serialize/>
  +                             </map:when>
  +                             <map:when test="application2">
  +                                     <map:generate src="application2.htm"/>
  +                                     <map:serialize/>
  +                             </map:when>
  +                             <map:when test="application">
  +                                     <map:generate src="application.htm"/>
  +                                     <map:serialize/>
  +                             </map:when>
  +                     </map:select>
  +             </map:handle-errors>
  +     </map:pipelines>
  +</map:sitemap>
  
  
  
  1.2       +40 -40    
cocoon-2.1/src/webapp/samples/webserviceproxy/cocoonhive/stylesheets/page.css
  
  Index: page.css
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/webapp/samples/webserviceproxy/cocoonhive/stylesheets/page.css,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- page.css  9 Mar 2003 00:11:28 -0000       1.1
  +++ page.css  6 May 2003 14:13:03 -0000       1.2
  @@ -1,40 +1,40 @@
  -body {  background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: 
Arial, Helvetica, sans-serif;  font-size : 14px;  }
  -
  -a:link { color: #0F3660; }
  -a:visited { color: #009999; }
  -a:active { color: #000066; }
  -a:hover { color: #000066; }
  -
  -.menu { background-color: #4C6C8F; margin: 0px; padding: 3px 8px 5px 3px;  
font-size : 14px;  }
  -.menu a:link { color: #FFFFFF;  text-decoration : none;  }
  -.menu a:visited { color: #FFFFFF; text-decoration : none; }
  -/*.menu a:active { font-weight: bold }*/
  -.menu a:hover { color: #FFCC00; text-decoration : none; }
  -.menu ul { margin: 0px 0px 0px 20px; padding: 0px; }
  -.menu li  { list-style-image: url('images/label.gif'); }
  -.menu ul ul li .sel { list-style-image: url('images/current.gif'); }
  -.menu ul ul li  { list-style-image: url('images/page.gif'); }
  -
  -.content { padding: 5px 5px 5px 10px;  font : small;  font-size : 14px;   }
  -.content table { width: 100%; background-color: #7099C5; color: #ffffff;  
font-size : 14px;}
  -.content table .caption { text-align: left; color: black; font-size : 14px; }
  -.content table .th { text-align: center;  font-size : 14px;}
  -.content td { background-color: #f0f0ff; color: black;  font-size : 14px;}
  -
  -.frame { margin: 5px 20px 5px 20px; font-size: 14px; }
  -.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; }
  -
  -.highlight { background-color: yellow; }
  -
  -.minitoc {margin: 5px 5px 5px 40px;}
  +body {  background-color: #FFFFFF; margin: 0px 0px 0px 0px; font-family: 
Arial, Helvetica, sans-serif;  font-size : 14px;  }
  +
  +a:link { color: #0F3660; }
  +a:visited { color: #009999; }
  +a:active { color: #000066; }
  +a:hover { color: #000066; }
  +
  +.menu { background-color: #4C6C8F; margin: 0px; padding: 3px 8px 5px 3px;  
font-size : 14px;  }
  +.menu a:link { color: #FFFFFF;  text-decoration : none;  }
  +.menu a:visited { color: #FFFFFF; text-decoration : none; }
  +/*.menu a:active { font-weight: bold }*/
  +.menu a:hover { color: #FFCC00; text-decoration : none; }
  +.menu ul { margin: 0px 0px 0px 20px; padding: 0px; }
  +.menu li  { list-style-image: url('images/label.gif'); }
  +.menu ul ul li .sel { list-style-image: url('images/current.gif'); }
  +.menu ul ul li  { list-style-image: url('images/page.gif'); }
  +
  +.content { padding: 5px 5px 5px 10px;  font : small;  font-size : 14px;   }
  +.content table { width: 100%; background-color: #7099C5; color: #ffffff;  
font-size : 14px;}
  +.content table .caption { text-align: left; color: black; font-size : 14px; }
  +.content table .th { text-align: center;  font-size : 14px;}
  +.content td { background-color: #f0f0ff; color: black;  font-size : 14px;}
  +
  +.frame { margin: 5px 20px 5px 20px; font-size: 14px; }
  +.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; }
  +
  +.highlight { background-color: yellow; }
  +
  +.minitoc {margin: 5px 5px 5px 40px;}
  
  
  

Reply via email to