ivelin      2002/09/21 15:57:19

  Modified:    src/java/org/apache/cocoon/acting AbstractAction.java
                        AbstractXMLFormAction.java SendmailAction.java
               src/java/org/apache/cocoon/generation
                        WebServiceProxyGenerator.java
               src/java/org/apache/cocoon/samples/xmlform
                        UsageFeedbackAction.java WizardAction.java
               src/java/org/apache/cocoon/servlet CocoonServlet.java
               src/java/org/apache/cocoon/transformation
                        XMLFormTransformer.java
               src/webapp/WEB-INF cocoon.xconf instrumentation.xconf
                        logkit.xconf
               src/webapp/WEB-INF/db cocoondb.properties cocoondb.script
               src/webapp/WEB-INF/entities book-cocoon-v10.dtd
                        changes-v10.dtd document-v10.dtd faq-v10.dtd
                        javadoc-v04draft.dtd specification-v10.dtd
                        todo-v10.dtd
               src/webapp/samples sitemap.xmap
               src/webapp/samples/chaperon/grammars java.rgrm
               src/webapp/samples/common/style/xsl/html
                        simple-samples2html.xsl
               src/webapp/samples/hello-world/style/xsl simple-page2swf.xsl
               src/webapp/samples/linkstatus linkstatus.xsl
               src/webapp/samples/mod-db database.xml schema.sql
               src/webapp/samples/profiler page2html.xsl
               src/webapp/samples/stylesheets simple-samples2html.xsl
                        svg-samples2html.xsl
               src/webapp/samples/sub/stylesheets simple-samples2html.xsl
               src/webapp/samples/webserviceproxy sitemap.xmap
               src/webapp/samples/welcome welcome.xhtml
               src/webapp/samples/xmlform sitemap.xmap
  Log:
  patch for
  http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12721
  
  fixed several problems caused by recent changes in other C2.1 modules
  
  Revision  Changes    Path
  1.8       +3 -3      
xml-cocoon2/src/java/org/apache/cocoon/acting/AbstractAction.java
  
  Index: AbstractAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/acting/AbstractAction.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AbstractAction.java       23 Aug 2002 06:49:01 -0000      1.7
  +++ AbstractAction.java       21 Sep 2002 22:57:18 -0000      1.8
  @@ -3,7 +3,7 @@
    ============================================================================
                      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-
  @@ -15,7 +15,7 @@
    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/)."
  
  
  
  1.7       +113 -14   
xml-cocoon2/src/java/org/apache/cocoon/acting/AbstractXMLFormAction.java
  
  Index: AbstractXMLFormAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/acting/AbstractXMLFormAction.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AbstractXMLFormAction.java        16 Sep 2002 03:57:27 -0000      1.6
  +++ AbstractXMLFormAction.java        21 Sep 2002 22:57:18 -0000      1.7
  @@ -85,6 +85,7 @@
   import org.apache.avalon.framework.CascadingRuntimeException;
   import org.apache.avalon.framework.parameters.Parameters;
   import org.apache.avalon.excalibur.pool.Poolable;
  +import org.apache.avalon.excalibur.pool.Recyclable;
   import org.apache.excalibur.source.Source;
   
   // Cocoon classes
  @@ -104,6 +105,7 @@
   
   // Cocoon Form
   import org.apache.cocoon.components.xmlform.Form;
  +import org.apache.cocoon.components.xmlform.FormListener;
   
   
   
  @@ -129,7 +131,9 @@
    */
   public abstract class AbstractXMLFormAction
     extends ConfigurableComposerAction
  -  implements Poolable
  +  implements Poolable, Recyclable,
  +              FormListener
  +
   {
   
     public static final String OBJECT_MAP_NEXT_PAGE = "page";
  @@ -159,6 +163,57 @@
       return PREPARE_RESULT_CONTINUE;
     }
   
  +
  +  /** 
  +   *
  +   * FormListener callback
  +   * called in the beginning Form.populate()
  +   * before population starts.
  +   *
  +   * This is the place to handle unchecked checkboxes, special validation or 
  +   * application specific rules.
  +   *
  +   */
  +  public void reset( Form form )
  +  {
  +    // Do Nothing by default
  +    return;
  +  }
  +
  +
  +  /**
  +   * FormListener callback
  +   *
  +   * Invoked during Form.populate();
  +   *
  +   * It is invoked before a request parameter is mapped to
  +   * an attribute of the form model.
  +   *
  +   * It is appropriate to use this method for filtering
  +   * custom request parameters which do not reference
  +   * the model.
  +   *
  +   * Another appropriate use of this method is for graceful filtering of 
invalid
  +   * values, in case that knowledge of the system state or
  +   * other circumstainces make the standard validation 
  +   * insufficient. For example if a registering user choses a username which
  +   * is already taken - the check requires database transaction, which is
  +   * beyond the scope of document validating schemas.
  +   * Of course customized Validators can be implemented to do
  +   * this kind of domain specific validation
  +   * instead of using this method.
  +   *
  +   *
  +   * @return false if the request parameter should not be filtered.
  +   * true otherwise.
  +   */
  +  public boolean filterRequestParameter (Form form, String parameterName)
  +  {
  +    // in this example we do not expect "custom" parameters
  +    return false;
  +  }
  +
  + 
    
     /**
      * Invoked during the form population process
  @@ -200,6 +255,16 @@
         src_ = src;
         params_ = params;
   
  +
  +      // ensure that there is a form available
  +      // through the rest of the flow
  +      Form form = getForm();
  +      if (form == null) 
  +      {
  +        throw new IllegalStateException( "Action could not obtain the Form" 
);
  +      }
  +      
  +
         // find and save the action command
         findCommand();
   
  @@ -208,17 +273,30 @@
         Map prepareResult = prepare();
         if ( prepareResult != null ) return prepareResult;
   
  -      // ensure that there is a form available
  -      // through the rest of the flow
  -      Form form = getForm();
  +      // attache callback hooks to the form
  +      // in case the action subclasses are interested in
  +      // form events
  +      getForm().addFormListener( this );
  +      Map result = null;
         
  -      // populate form with request parameters
  -      // population is automatically followed by validation by default.
  -      // If this is not the desired behaviour, the Form class can be 
subclassed
  -      form.populate( objectModel );
  -
  -
  -      return perform();
  +      try
  +      {
  +        // populate form with request parameters
  +        // population is automatically followed by validation by default.
  +        // If this is not the desired behaviour, the Form class can be 
subclassed
  +        form.populate( objectModel );
  +  
  +        result = perform();
  +      }
  +      finally
  +      {
  +        // since the action may be recycled immediately after 
  +        // the request. It is important that it's callback hooks
  +        // are removed from the Form.
  +        getForm().removeFormListener( this );
  +      }  
  +      
  +      return result;
     }
   
   
  @@ -421,8 +499,29 @@
         // default to request scope
         formScope = Form.SCOPE_REQUEST;
       }
  +    
       return formScope;
     }
  +
  +
  +
  +  /**
  +   *  Recycle this component.
  +   */
  +  public void recycle() 
  +  {
  +
  +    redirector_ = null;
  +    resolver_ = null;
  +    objectModel_ = null;
  +    params_ = null;
  +    src_ = null;
  +    request_ = null;
  +    session_ = null;
  +    command_ = null;
  +
  +  }
  +
   
   
     // action state objects
  
  
  
  1.8       +3 -3      
xml-cocoon2/src/java/org/apache/cocoon/acting/SendmailAction.java
  
  Index: SendmailAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/acting/SendmailAction.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SendmailAction.java       11 Sep 2002 08:26:44 -0000      1.7
  +++ SendmailAction.java       21 Sep 2002 22:57:18 -0000      1.8
  @@ -8,10 +8,10 @@
   
    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.
  
  
  
  1.2       +10 -2     
xml-cocoon2/src/java/org/apache/cocoon/generation/WebServiceProxyGenerator.java
  
  Index: WebServiceProxyGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/generation/WebServiceProxyGenerator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WebServiceProxyGenerator.java     4 Jul 2002 20:57:47 -0000       1.1
  +++ WebServiceProxyGenerator.java     21 Sep 2002 22:57:18 -0000      1.2
  @@ -15,7 +15,7 @@
    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/)."
  @@ -251,7 +251,15 @@
           method.setQueryString( urlQryString + "&" + submitQryString );
         } // if there are submit parameters 
   
  -      httpClient.executeMethod( method );
  +      int htcode = httpClient.executeMethod( method );
  +       
  +      // @todo: Maybe we should implement some
  +      // meaningful reaction to htcodes different than 200
  +      
  +      // @todo: fix-me
  +      // This sleep() is a temporary workaround 
  +      // to avoid NullPointerException in the next line.
  +      Thread.currentThread().sleep( 100 ); 
   
         String ret = method.getResponseBodyAsString();
   
  
  
  
  1.3       +4 -4      
xml-cocoon2/src/java/org/apache/cocoon/samples/xmlform/UsageFeedbackAction.java
  
  Index: UsageFeedbackAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/samples/xmlform/UsageFeedbackAction.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- UsageFeedbackAction.java  29 Jul 2002 03:07:08 -0000      1.2
  +++ UsageFeedbackAction.java  21 Sep 2002 22:57:18 -0000      1.3
  @@ -74,7 +74,7 @@
     extends AbstractXMLFormAction
   
   {
  -
  +  
   
     // Web Service Response names
     final String SERVICE_RESPONSE_OK = "ok";
  
  
  
  1.8       +8 -10     
xml-cocoon2/src/java/org/apache/cocoon/samples/xmlform/WizardAction.java
  
  Index: WizardAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/samples/xmlform/WizardAction.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- WizardAction.java 8 Sep 2002 12:20:28 -0000       1.7
  +++ WizardAction.java 21 Sep 2002 22:57:18 -0000      1.8
  @@ -128,10 +128,8 @@
         }
       else if ( getCommand().equals( CMD_START ) )
       {
  -      // reset state by removing old form
  -      // if one exists
  -      Form.remove( getObjectModel(), getFormId() );
  -      getForm().addFormListener( this );
  +      // reset workflow state if necessary
  +      // ...
   
         return page( VIEW_USERID );
       }
  @@ -142,9 +140,9 @@
         }
   
   
  -    // get ready for action
  -    // if not ready return page("whereNext");
  -    return null;
  +    // nothing special
  +    // continue with form population;
  +    return super.PREPARE_RESULT_CONTINUE;
     }
   
   
  
  
  
  1.38      +3 -3      
xml-cocoon2/src/java/org/apache/cocoon/servlet/CocoonServlet.java
  
  Index: CocoonServlet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/servlet/CocoonServlet.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- CocoonServlet.java        21 Sep 2002 15:07:56 -0000      1.37
  +++ CocoonServlet.java        21 Sep 2002 22:57:18 -0000      1.38
  @@ -15,7 +15,7 @@
    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/)."
  @@ -49,7 +49,7 @@
   
   */
   package org.apache.cocoon.servlet;
  -
  + 
   import org.apache.avalon.excalibur.logger.DefaultLogKitManager;
   import org.apache.avalon.excalibur.logger.LogKitManager;
   import org.apache.avalon.framework.activity.Initializable;
  
  
  
  1.12      +81 -37    
xml-cocoon2/src/java/org/apache/cocoon/transformation/XMLFormTransformer.java
  
  Index: XMLFormTransformer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/XMLFormTransformer.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- XMLFormTransformer.java   8 Sep 2002 23:02:57 -0000       1.11
  +++ XMLFormTransformer.java   21 Sep 2002 22:57:18 -0000      1.12
  @@ -281,8 +281,14 @@
     public final static String TAG_COMMON_ATTR_REF = "ref";
   
   
  -  // the current Form being processed
  -  private Form currentForm;
  +  // the stack of nested forms. 
  +  // Although nested form tags are not allowed, it is possible 
  +  // that an output tag (with reference to another form) might be nested 
within a form tag.
  +  // In this case elements under the output tag (like caption) can reference 
properties
  +  // of the form of the enclosing output tag.
  +
  +  private Stack formStack = null;
  +
   
     private Object value_;
   
  @@ -317,7 +323,7 @@
         namespaceURI = NS;
   
         // init tracking parameters
  -      currentForm = null;
  +      formStack = new Stack();
         cannonicalRef = "";
         refStack = new Stack();
         currentTagDepth = 0;
  @@ -328,6 +334,26 @@
   
   
       /**
  +     *  Recycle this component.
  +     */
  +    public void recycle() 
  +    {
  +      // init tracking parameters
  +      formStack.clear();
  +      formStack = null;
  +      cannonicalRef = null;
  +      refStack.clear();
  +      refStack = null;
  +      currentTagDepth = 0;
  +      repeatTagDepth = -1;
  +      isRecording = false;
  +      nodeset = null;
  +
  +      super.recycle();
  +    }
  +
  +
  +    /**
        * Start processing elements of our namespace.
        * This hook is invoked for each sax event with our namespace.
        * @param uri The namespace of the element.
  @@ -474,9 +500,9 @@
             super.startElement( uri, name, raw, attributes);
           }
            
  -        // if the currentForm is still not available
  -        // then we can't process nested form tags
  -        else if (currentForm != null)
  +        // if we are not within an enclosing form
  +        // then we can't process the following nested tags
  +        else if (!formStack.isEmpty())
           {
   
             if (
  @@ -485,22 +511,24 @@
                       TAG_PASSWORD.equals(name) ||
                       TAG_SELECTBOOLEAN.equals(name) ||
                       TAG_SELECTONE.equals(name) ||
  -                    TAG_SELECTMANY.equals(name) 
  +                    TAG_SELECTMANY.equals(name)
                )
             {
  -            startElementSimpleField( uri, name, raw, attributes, currentForm 
);
  +            startElementSimpleField( uri, name, raw, attributes );
             }
             else if (
                       TAG_CAPTION.equals(name) ||
                       TAG_VALUE.equals(name) 
                      )
            {
  -           startElementWithOptionalRefAndSimpleContent( uri, name, raw, 
attributes, currentForm );
  +           startElementWithOptionalRefAndSimpleContent( uri, name, raw, 
attributes );
            }
             else if (
               TAG_SUBMIT.equals(name) ||
               TAG_CANCEL.equals(name) ||
  -            TAG_RESET.equals(name) )
  +            TAG_RESET.equals(name) ||
  +            TAG_ITEM.equals(name) 
  +            )
             {
               super.startElement(uri, name, raw, attributes);
             }
  @@ -510,11 +538,11 @@
               // since there are intricacies in 
               // handling the value sub-element
                          isHiddenTag = true;
  -                       startElementSimpleField( uri, name, raw, attributes, 
currentForm );
  +                       startElementSimpleField( uri, name, raw, attributes );
             }          
             else
             {
  -              getLogger().error("unknown element [" + String.valueOf(name) + 
"]");
  +              getLogger().error("pass through element [" + 
String.valueOf(name) + "]");
                 super.startElement(uri, name, raw, attributes);
             }
           }
  @@ -538,23 +566,27 @@
     {
       String id = attributes.getValue(TAG_FORM_ATTR_ID);
   
  -    if ( currentForm != null )
  +    if ( !formStack.isEmpty() )
       {
  -      String error = "Form nodes should not be nested ! Current form [id=" + 
currentForm.getId() + "], nested form [id=" + String.valueOf(id) + "]";
  +      String error = "Form nodes should not be nested ! Current form [id=" + 
formStack.peek() + "], nested form [id=" + String.valueOf(id) + "]";
         getLogger().error( error );
  -      throw new SAXException( error );
  +      throw new IllegalStateException( error );
       }
   
       super.startElement(uri, name, raw, attributes);
   
       // load up the referenced form
  -    currentForm =  Form.lookup( objectModel, id );
  +    Form currentForm =  Form.lookup( objectModel, id );
   
       // if the form wasn't found, we're in trouble
       if (currentForm == null)
       {
  -      getLogger().error("could not find form [id=" + String.valueOf(id) + 
"]");
  -    }
  +      String error = "Form is null [id=" + String.valueOf(id) + "]";
  +      getLogger().error( error );
  +      throw new IllegalStateException( error );
  +    };
  +    
  +    formStack.push( currentForm );
     } // end of startElementForm
   
   
  @@ -568,11 +600,11 @@
         String formAttr = attributes.getValue( TAG_OUTPUT_ATTR_FORM );
         if (formAttr == null)
         {
  -        if (currentForm == null)
  +        if ( formStack.isEmpty() )
           {
             throw new SAXException( "When used outside of a form tag, the 
output tag requires an '" + TAG_OUTPUT_ATTR_FORM + "' attribute" );
           }
  -        form = currentForm;
  +        form = (Form) formStack.peek();
         }
         else
         {
  @@ -657,24 +689,25 @@
           String formAttr = attributes.getValue( TAG_OUTPUT_ATTR_FORM );
           if (formAttr == null)
           {
  -          if (currentForm == null)
  +          if ( formStack.isEmpty() )
             {
               throw new SAXException( "When used outside of a form tag, the 
output tag requires an '" + TAG_OUTPUT_ATTR_FORM + "' attribute" );
             }
  -          form = currentForm;
  +          form = (Form) formStack.peek();
           }
           else
           {
             form = Form.lookup( objectModel, formAttr );
           }
  +        formStack.push( form );
   
  -        startElementSimpleField( uri, name, raw, attributes, form );
  +        startElementSimpleField( uri, name, raw, attributes );
   
     } // end of startElementOutput
   
   
   
  -  protected void startElementSimpleField(String uri, String name, String 
raw, Attributes attributes, Form form)
  +  protected void startElementSimpleField(String uri, String name, String 
raw, Attributes attributes )
       throws SAXException
     {
         String ref = attributes.getValue(TAG_COMMON_ATTR_REF);
  @@ -684,11 +717,13 @@
            throw new SAXException( name + " element should provide a '" + 
TAG_COMMON_ATTR_REF + "' attribute" );
         }
   
  -      if ( form == null)
  +      if ( formStack.isEmpty() )
         {
            throw new SAXException( name + " element should be either nested 
within a form tag or provide a form attribute" );
         }
   
  +      Form form = (Form) formStack.peek();
  +
         getLogger().debug("[" + String.valueOf( name ) + "] getting value from 
form [id=" + form.getId() + ", ref=" + String.valueOf(ref) + "]");
   
         value_ = form.getValue( ref );
  @@ -699,32 +734,34 @@
   
         getLogger().debug("Value of form [id=" + form.getId() + ", ref=" + 
String.valueOf(ref) + "] = [" + value_ + "]") ;
   
  -       // Only render value sub-elements
  +       // Only render value sub-elements
         // at this point
         // if this is not a xf:hidden element.
  -       if(! isHiddenTag) renderValueSubElements();
  +         if(! isHiddenTag) renderValueSubElements();
        } // end of startElementSimpleField
   
   
  -  protected void startElementWithOptionalRefAndSimpleContent(String uri, 
String name, String raw, Attributes attributes, Form form)
  +  protected void startElementWithOptionalRefAndSimpleContent(String uri, 
String name, String raw, Attributes attributes )
       throws SAXException
     {
         String ref = attributes.getValue(TAG_COMMON_ATTR_REF);
   
         if (ref == null) // ref attribute is not provided
         {
  -         this.startElement( uri, name, raw, attributes );
  +         super.startElement( uri, name, raw, attributes );
            return;
         }
   
  -      if ( form == null)
  +      if ( formStack.isEmpty() )
         {
            throw new SAXException( name + " element should be either nested 
within a form tag or provide a form attribute" );
         }
   
  +      Form form = (Form) formStack.peek();
  +
         getLogger().debug("[" + String.valueOf( name ) + "] getting value from 
form [id=" + form.getId() + ", ref=" + String.valueOf(ref) + "]");
   
  -      value_ = form.getValue( ref );
  +      Object value = form.getValue( ref );
   
         // we will only forward the SAX event once we know
         // that the value of the tag is available
  @@ -733,11 +770,11 @@
         getLogger().debug("Value of form [id=" + form.getId() + ", ref=" + 
String.valueOf(ref) + "] = [" + value_ + "]") ;
   
         // Now render the character data inside the tag
  -      String v = String.valueOf( value_ );
  +      String v = String.valueOf( value );
         super.characters(v.toCharArray(),0,v.length());      
       
     } // end of startElementSimpleFieldWithOptionalRef
  -
  + 
   
        /**
         * Renders one or more xf:value elements 
  @@ -872,12 +909,11 @@
           }
           else if (TAG_FORM.equals(name))
           {
  -          // nullify currentForm since we're getting out of its scope
  -          currentForm = null;
  +          // pop currentForm from stack since we're getting out of its scope
  +          formStack.pop();
             super.endElement(uri, name, raw);
           }
           else if (
  -                TAG_OUTPUT.equals(name) ||
                   TAG_TEXTBOX.equals(name) ||
                   TAG_PASSWORD.equals(name) ||
                   TAG_SELECTBOOLEAN.equals(name) ||
  @@ -887,9 +923,15 @@
                   TAG_CAPTION.equals( name ) ||
                   TAG_VALUE.equals( name )
                   )
  +        { 
  +          super.endElement(uri, name, raw);
  +        }
  +        else if ( TAG_OUTPUT.equals(name) )
           {
  +          formStack.pop();
             super.endElement(uri, name, raw);
           }
  +        
           else if (TAG_HIDDEN.equals(name))
           {
                        isHiddenTag = false;
  @@ -950,7 +992,7 @@
       {
         // reset ignore hooks counter
         this.ignoreHooksCount = 0;
  -
  +      Form currentForm = (Form) formStack.peek();
         Collection locations = currentForm.locate( nodeset );
         Iterator iter = locations.iterator();
         // iterate over each node in the nodeset
  @@ -1005,6 +1047,8 @@
       {
         // reset ignore hooks counter
         this.ignoreHooksCount = 0;
  +
  +      Form currentForm = (Form) formStack.peek();
   
         Collection locations = currentForm.locate( nodeset );
         Iterator iter = locations.iterator();
  
  
  
  1.39      +217 -5    xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf
  
  Index: cocoon.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/cocoon.xconf,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- cocoon.xconf      23 Aug 2002 09:28:10 -0000      1.38
  +++ cocoon.xconf      21 Sep 2002 22:57:18 -0000      1.39
  @@ -13,8 +13,20 @@
   
   <!-- ===================== General Components =========================== -->
   
  -  <xml-parser class="org.apache.avalon.excalibur.xml.JaxpParser" 
  -              logger="core.xml-parser" pool-grow="4" pool-max="32" 
pool-min="8">
  +  
  +  <!-- HSQLDB Server for samples:
  +    Comment this section out if you don't care about the samples.
  +        port   : number      port where the server is listening
  +        silent : true/false  display all queries
  +        trace  : true/false  display JDBC trace messages
  +  -->
  +  <hsqldb-server class="org.apache.cocoon.components.hsqldb.ServerImpl" 
logger="core.hsqldb-server" pool-max="1" pool-min="1">
  +     <parameter name="port" value="9002"/>
  +     <parameter name="silent" value="true"/>
  +     <parameter name="trace" value="false"/>
  +  </hsqldb-server>
  +
  +<xml-parser class="org.apache.avalon.excalibur.xml.JaxpParser" 
logger="core.xml-parser" pool-grow="4" pool-max="32" pool-min="8">
   
     <!-- Parser:
       The default parser used in Apache Cocoon is
  @@ -80,6 +92,33 @@
        <parameter name="use-persistent-cache" value="true"/>
     </transient-store>
   
  +  <!-- Persistent store for the cache. Two store implementations to choose
  +       from:
  +         * FilesystemStore: Simple. Dependable. Thorougly tested.
  +         * JispFilesystemStore: Scalable. New kid on the block. Not 
thorougly tested.
  +
  +       Common configuration parameters:
  +         use-cache-directory: Indicates that cache directory specified in
  +                              web.xml should be used.
  +         use-work-directory: Indicates that work directory specified in
  +                             web.xml should be used.
  +         directory: Specifies directory to use. Absolute or relative to the
  +                    work directory.
  +
  +       JispFilesystemStore configuration parameters
  +       (in addition to common parameters):
  +         datafile: name of the store file to use.
  +         indexfile: name of the index file to use.
  +         order: FIXME: put description here.
  +  -->
  +  <persistent-store 
class="org.apache.cocoon.components.store.JispFilesystemStore" 
logger="core.store.persistent">
  +    <parameter name="use-cache-directory" value="true"/>
  +    <parameter name="datafile" value="cocoon-cache.dat"/>
  +    <parameter name="indexfile" value="cocoon-cache.idx"/>
  +    <parameter name="order" value="2701"/>
  +  </persistent-store>
  +
  +
     <!-- Store Janitor:
       Be careful with the heapsize and freememory parameters. Wrong values can
       cause high cpu usage. Example configuration:
  @@ -148,7 +187,15 @@
       <!-- file protocol : this is a WriteableSource -->
       <protocol class="org.apache.cocoon.components.source.FileSourceFactory" 
name="file"/>
   
  -  </source-handler>
  +  
  +
  +    <!-- xmldb pseudo protocol -->
  +    <protocol class="org.apache.cocoon.components.source.XMLDBSourceFactory" 
name="xmldb">
  +      <!-- Xindice driver -->
  +      <driver class="org.apache.xindice.client.xmldb.DatabaseImpl" 
type="xindice"/>
  +      <!-- Add here other XML:DB compliant databases drivers -->
  +    </protocol>
  +</source-handler>
   
     <!-- Source Factories
          Each source factory adds a special uri protocol to the system.
  @@ -161,7 +208,18 @@
         <!-- file protocol : this is a WriteableSource -->
         <component-instance 
class="org.apache.cocoon.components.source.impl.FileSourceFactory" name="file"/>
     
  -  </source-factories>
  +  
  +
  +    <!-- xmldb pseudo protocol -->
  +    <component-instance 
class="org.apache.cocoon.components.source.impl.SourceFactoryWrapper" 
name="xmldb">
  +        <source-factory 
class="org.apache.cocoon.components.source.XMLDBSourceFactory">
  +            <!-- Xindice driver -->
  +            <driver class="org.apache.xindice.client.xmldb.DatabaseImpl" 
type="xindice"/>
  +            <!-- Add here other XML:DB compliant databases drivers -->
  +        </source-factory>
  +    </component-instance>
  +
  +</source-factories>
   
     <!-- The XMLizer converts different mime-types to XML -->
     <xmlizer>
  @@ -479,4 +537,158 @@
      <parameter name="verbosity" value="1"/>
     </entity-resolver>
   
  -</cocoon>
  +
  +
  +  <!-- Flow interpreter support.
  +
  +    The attributes recognized by the <flow-interpreters> element are:
  +
  +      default (string value):
  +
  +         the default interpreted language assumed for <map:script>
  +         elements which do not specify a "language" attribute. If not
  +         present, the first language that's described within the
  +         <flow-interpreters> element is assumed to be the default
  +         language.
  +
  +      reload-scripts (boolean value, default false):
  +
  +         whether to check if the scripts source files are
  +         modified. Checking for modification is an expensive
  +         operation, so leave it disabled in a production
  +         environment. If not present it is assumed to be "false". When
  +         "true" *all* script files are checked for modification on
  +         each function invocation done using <map:call
  +         function="...">, but not more frequent than the value of
  +         "check-time" (see below).
  +
  +      check-time (long value, default 1000):
  +
  +         time in miliseconds between the checks for the last
  +         modification date of script files.
  +
  +    Within <flow-interpreters> only <component-instance> elements are
  +    recognized. The attributes recognized by this element are "name"
  +    and "class". "name" specifies the name of a scripting language,
  +    and "class" defines the Java class that implements it. See
  +    org.apache.cocoon.components.flow.Interpreter for the Cocoon
  +    interface with an scripting language interpreter.
  +
  +  -->
  +
  +  <flow-interpreters check-time="2000" default="JavaScript" logger="flow" 
reload-scripts="true">
  +
  +    <component-instance 
class="org.apache.cocoon.components.flow.javascript.JavaScriptInterpreter" 
name="JavaScript">
  +      
<load-on-startup>resource://org/apache/cocoon/components/flow/javascript/system.js</load-on-startup>
  +    </component-instance>
  +
  +<!--
  +  Temporarily disable Scheme, until full support is completed
  +-->
  +
  +<!--
  +    <component-instance name="Scheme"
  +                        
class="org.apache.cocoon.components.flow.scheme.SchemeInterpreter">
  +      
<load-on-startup>resource://org/apache/cocoon/components/flow/scheme/system.scm</load-on-startup>
  +      <heap>/WEB-INF/sisc.heap</heap>
  +    </component-instance>
  +-->
  +
  +  </flow-interpreters>
  +
  +  <continuations time-to-live="3600"/>
  +
  +
  +
  +  <!-- Profiler:
  +    The profiler facilitates the gathering of statistics about timings of
  +    different steps of pipelines. Profiler consists of several components:
  +     profiling pipeline and profiler generator
  +    which are used to generate the profile report. You need to enable all of
  +    these components to use profiler.
  +    -->
  +  <profiler results="10"/>
  +
  +   <!-- =============== Sitemap In/Out/Database Modules ==================== 
-->
  +   
  +   <input-modules>
  +       <component-instance 
class="org.apache.cocoon.components.modules.input.RequestParameterModule" 
logger="core.modules.input" name="request"/>
  +       <component-instance 
class="org.apache.cocoon.components.modules.input.RequestAttributeModule" 
logger="core.modules.input" name="attribute"/>
  +       <component-instance 
class="org.apache.cocoon.components.modules.input.RequestURIModule" 
logger="core.modules.input" name="URI"/>
  +       <component-instance 
class="org.apache.cocoon.components.modules.input.HeaderAttributeModule" 
logger="core.modules.input" name="header"/>
  +       <component-instance 
class="org.apache.cocoon.components.modules.input.SessionAttributeModule" 
logger="core.modules.input" name="session"/>
  +       <component-instance 
class="org.apache.cocoon.components.modules.input.StringConstantModule" 
logger="core.modules.input" name="constant"/>
  +       <component-instance 
class="org.apache.cocoon.components.modules.input.RandomNumberModule" 
logger="core.modules.input" name="random"/>
  +      <component-instance 
class="org.apache.cocoon.components.modules.input.DigestMetaModule" 
logger="core.modules.input" name="digest"/>
  +      <component-instance 
class="org.apache.cocoon.components.modules.input.DateInputModule" 
logger="core.modules.input" name="date"/>
  +      <component-instance 
class="org.apache.cocoon.components.modules.input.NullInputModule" 
logger="core.modules.input" name="nullinput"/>
  +      <component-instance 
class="org.apache.cocoon.components.modules.input.CollectionMetaModule" 
logger="core.modules.input" name="collection"/>
  +      <component-instance 
class="org.apache.cocoon.components.modules.input.XMLMetaModule" 
logger="core.modules.input" name="xmlmeta"/>
  +      <component-instance 
class="org.apache.cocoon.components.modules.input.MapMetaModule" 
logger="core.modules.input" name="mapmeta"/>
  +      <component-instance 
class="org.apache.cocoon.components.modules.input.DefaultsMetaModule" 
logger="core.modules.input" name="defaults">
  +              <input-module name="request"/>
  +              <values>
  +                     <skin>defaultSkin</skin>
  +                     <base-url>http://localhost:8080/cocoon</base-url>
  +              </values>
  +       </component-instance>
  +   </input-modules>
  +
  +   <output-modules>
  +      <component-instance 
class="org.apache.cocoon.components.modules.output.RequestAttributeOutputModule"
 logger="core.modules.output" name="attribute"/>
  +      <component-instance 
class="org.apache.cocoon.components.modules.output.SessionAttributeOutputModule"
 logger="core.modules.output" name="session"/>
  +   </output-modules>
  +
  +   <autoincrement-modules>
  +      <component-instance 
class="org.apache.cocoon.components.modules.database.HsqlIdentityAutoIncrementModule"
 logger="core.modules.auto" name="auto"/>
  +<!--
  +      Choose the one suitable for your DBMS. You *can* have more than
  +      one at a time, but they need to have different names. You then
  +      need to specify explicitly, which one to use in your descriptor
  +      file.
  +
  +      <component-instance logger="core.modules.auto" name="auto" 
class="org.apache.cocoon.components.modules.database.ManualAutoIncrementModule"/>
  +      <component-instance logger="core.modules.auto" name="auto" 
class="org.apache.cocoon.components.modules.database.IfxSerialAutoIncrementModule"/>
  +      <component-instance logger="core.modules.auto" name="auto" 
class="org.apache.cocoon.components.modules.database.MysqlAutoIncrementModule"/>
  +-->
  +   </autoincrement-modules>
  +
  +
  +  <!-- Search:
  +    These are the components that handle the search. 
  +    
  +    Cocoon indexer write into an index.
  +    Cocoon searcher reads form an index, returning matched hits.
  +    Cocoon crawler crawls all links starting from a given base URI.
  +    Lucene xml indexer build a lucene document from XML content.
  +   -->
  +  <cocoon-indexer logger="core.search.indexer"/>
  +  <cocoon-searcher logger="core.search.searcher"/>  
  +  <cocoon-crawler logger="core.search.crawler"/>
  +  <lucene-xml-indexer logger="core.search.lucene"/>
  +
  +
  +  <!-- Deli support -->
  +  <!-- Uncomment this section to enable DELI
  +  <deli class="org.apache.cocoon.components.deli.DeliImpl">
  +    <parameter name="deli-config-file" 
value="resources/deli/config/deliConfig.xml"/>
  +  </deli>
  +  -->
  +
  +
  +  <portal-manager logger="core.portal-manager" pool-grow="4" pool-max="32" 
pool-min="8"/>
  +
  +
  +
  +  <session-manager logger="core.session-manager" pool-grow="4" pool-max="32" 
pool-min="8"/>
  +
  +
  +
  +    <authentication-manager logger="core.authentication-manager" 
pool-grow="4" pool-max="32" pool-min="8">
  +      <mediatypes default="html">
  +        <media name="wap" useragent="Nokia"/>
  +        <media name="wap" useragent="UP"/>
  +        <media name="wap" useragent="Wapalizer"/>
  +      </mediatypes>
  +    </authentication-manager>
  +</cocoon>
  \ No newline at end of file
  
  
  
  1.2       +1 -1      xml-cocoon2/src/webapp/WEB-INF/instrumentation.xconf
  
  Index: instrumentation.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/instrumentation.xconf,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- instrumentation.xconf     16 Sep 2002 14:05:48 -0000      1.1
  +++ instrumentation.xconf     21 Sep 2002 22:57:18 -0000      1.2
  @@ -27,4 +27,4 @@
               </instrument>
           </instrumentable>
       </instrumentables>
  -</instrument>
  \ No newline at end of file
  +</instrument>
  
  
  
  1.11      +15 -0     xml-cocoon2/src/webapp/WEB-INF/logkit.xconf
  
  Index: logkit.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/logkit.xconf,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- logkit.xconf      12 Jun 2002 20:07:38 -0000      1.10
  +++ logkit.xconf      21 Sep 2002 22:57:18 -0000      1.11
  @@ -58,6 +58,15 @@
         <append>false</append>
       </cocoon>
   
  +    <!-- The logger for the xmlform components -->
  +    <cocoon id="xmlform">
  +      <filename>${context-root}/WEB-INF/logs/xmlform.log</filename>
  +      <format type="cocoon">
  +        %7.7{priority} %{time}   [%{category}] (%{uri}) 
%{thread}/%{class:short}: %{message}\n%{throwable}
  +      </format>
  +      <append>false</append>
  +    </cocoon>
  +
       <!--
         This log file gets only messages with log level ERROR and below.
       -->
  @@ -131,5 +140,11 @@
         <log-target id-ref="flow"/>
         <log-target id-ref="error"/>
       </category>
  +
  +    <category name="xmlform" log-level="DEBUG">
  +      <log-target id-ref="xmlform"/>
  +      <log-target id-ref="error"/>
  +    </category>
  +
     </categories>
   </logkit>
  
  
  
  1.8       +1 -1      xml-cocoon2/src/webapp/WEB-INF/db/cocoondb.properties
  
  Index: cocoondb.properties
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/db/cocoondb.properties,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- cocoondb.properties       4 Jul 2002 20:57:47 -0000       1.7
  +++ cocoondb.properties       21 Sep 2002 22:57:18 -0000      1.8
  @@ -1,4 +1,4 @@
   #HSQL database
  -#Thu Jul 04 15:52:54 CDT 2002
  +#Mon Sep 16 23:16:08 CDT 2002
   version=1.6
   modified=yes
  
  
  
  1.8       +13 -1     xml-cocoon2/src/webapp/WEB-INF/db/cocoondb.script
  
  Index: cocoondb.script
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/db/cocoondb.script,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- cocoondb.script   2 Jun 2002 03:33:35 -0000       1.7
  +++ cocoondb.script   21 Sep 2002 22:57:18 -0000      1.8
  @@ -4,8 +4,8 @@
   CREATE TABLE GROUPS(GID INTEGER IDENTITY PRIMARY KEY,GNAME 
VARCHAR,UNIQUE(GNAME))
   CREATE TABLE USER_GROUPS(UID INTEGER,GID INTEGER,UNIQUE(UID,GID),FOREIGN 
KEY(UID)REFERENCES USER(UID),FOREIGN KEY(GID)REFERENCES GROUPS(GID))
   CREATE TABLE STATE_TAX(CATEGORY VARCHAR NOT NULL,GROSSTAX_COLLECTED DOUBLE 
NOT NULL,NETTAX_COLLECTED DOUBLE NOT NULL,YEAR INTEGER NOT NULL)
  -GRANT ALL ON CLASS "java.lang.Math" TO PUBLIC
   GRANT ALL ON CLASS "org.hsqldb.Library" TO PUBLIC
  +GRANT ALL ON CLASS "java.lang.Math" TO PUBLIC
   CREATE USER SA PASSWORD "" ADMIN
   CREATE ALIAS DAYNAME FOR "org.hsqldb.Library.dayname"
   CREATE ALIAS SPACE FOR "org.hsqldb.Library.space"
  @@ -115,5 +115,17 @@
   INSERT INTO STATE_TAX VALUES('Horse Racing',1.7921198E7,1.7321198E7,2001)
   INSERT INTO STATE_TAX VALUES('Severance',7981539.0,7967438.0,2001)
   INSERT INTO STATE_TAX VALUES('School District 
Income',1.61257059E8,1.53238001E8,2001)
  +/*C1*/CONNECT USER sa PASSWORD ""
  +/*C2*/CONNECT USER sa PASSWORD ""
   /*C3*/CONNECT USER sa PASSWORD ""
   /*C4*/CONNECT USER sa PASSWORD ""
  +/*C5*/CONNECT USER sa PASSWORD ""
  +/*C6*/CONNECT USER sa PASSWORD ""
  +/*C7*/CONNECT USER sa PASSWORD ""
  +/*C8*/CONNECT USER sa PASSWORD ""
  +/*C9*/CONNECT USER sa PASSWORD ""
  +/*C10*/CONNECT USER sa PASSWORD ""
  +/*C11*/CONNECT USER sa PASSWORD ""
  +/*C12*/CONNECT USER sa PASSWORD ""
  +/*C13*/CONNECT USER sa PASSWORD ""
  +/*C14*/CONNECT USER sa PASSWORD ""
  
  
  
  1.2       +1 -1      
xml-cocoon2/src/webapp/WEB-INF/entities/book-cocoon-v10.dtd
  
  Index: book-cocoon-v10.dtd
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/WEB-INF/entities/book-cocoon-v10.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- book-cocoon-v10.dtd       2 Jul 2002 14:36:36 -0000       1.1
  +++ book-cocoon-v10.dtd       21 Sep 2002 22:57:18 -0000      1.2
  @@ -36,7 +36,7 @@
     20011031 Initial version. (DC)
       
   COPYRIGHT:
  -  Copyright (c) @year@ The Apache Software Foundation.
  +  Copyright (c) 1999-2002 The Apache Software Foundation.
     
     Permission to copy in any form is granted provided this notice is 
     included in all copies. Permission to redistribute is granted 
  
  
  
  1.2       +1 -1      xml-cocoon2/src/webapp/WEB-INF/entities/changes-v10.dtd
  
  Index: changes-v10.dtd
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/entities/changes-v10.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- changes-v10.dtd   2 Jul 2002 14:36:36 -0000       1.1
  +++ changes-v10.dtd   21 Sep 2002 22:57:18 -0000      1.2
  @@ -38,7 +38,7 @@
     20000316 Added bugfixing attribute. (SM)
   
   COPYRIGHT:
  -  Copyright (c) @year@ The Apache Software Foundation.
  +  Copyright (c) 1999-2002 The Apache Software Foundation.
   
     Permission to copy in any form is granted provided this notice is
     included in all copies. Permission to redistribute is granted
  
  
  
  1.2       +1 -1      xml-cocoon2/src/webapp/WEB-INF/entities/document-v10.dtd
  
  Index: document-v10.dtd
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/entities/document-v10.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- document-v10.dtd  2 Jul 2002 14:36:36 -0000       1.1
  +++ document-v10.dtd  21 Sep 2002 22:57:18 -0000      1.2
  @@ -54,7 +54,7 @@
     20020223 Allowed "figure" at section level (SM)
   
   COPYRIGHT:
  -  Copyright (c) @year@ The Apache Software Foundation.
  +  Copyright (c) 1999-2002 The Apache Software Foundation.
   
     Permission to copy in any form is granted provided this notice is
     included in all copies. Permission to redistribute is granted
  
  
  
  1.2       +1 -1      xml-cocoon2/src/webapp/WEB-INF/entities/faq-v10.dtd
  
  Index: faq-v10.dtd
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/entities/faq-v10.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- faq-v10.dtd       2 Jul 2002 14:36:36 -0000       1.1
  +++ faq-v10.dtd       21 Sep 2002 22:57:18 -0000      1.2
  @@ -36,7 +36,7 @@
     19991129 Initial version. (SM)
       
   COPYRIGHT:
  -  Copyright (c) @year@ The Apache Software Foundation.
  +  Copyright (c) 1999-2002 The Apache Software Foundation.
     
     Permission to copy in any form is granted provided this notice is 
     included in all copies. Permission to redistribute is granted 
  
  
  
  1.2       +1 -1      
xml-cocoon2/src/webapp/WEB-INF/entities/javadoc-v04draft.dtd
  
  Index: javadoc-v04draft.dtd
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/WEB-INF/entities/javadoc-v04draft.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- javadoc-v04draft.dtd      2 Jul 2002 14:36:36 -0000       1.1
  +++ javadoc-v04draft.dtd      21 Sep 2002 22:57:18 -0000      1.2
  @@ -47,7 +47,7 @@
     19991129 Cleaned up DTD. (SM)
       
   COPYRIGHT:
  -  Copyright (c) @year@ The Apache Software Foundation.
  +  Copyright (c) 1999-2002 The Apache Software Foundation.
     
     Permission to copy in any form is granted provided this notice is 
     included in all copies. Permission to redistribute is granted 
  
  
  
  1.2       +1 -1      
xml-cocoon2/src/webapp/WEB-INF/entities/specification-v10.dtd
  
  Index: specification-v10.dtd
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/WEB-INF/entities/specification-v10.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- specification-v10.dtd     2 Jul 2002 14:36:36 -0000       1.1
  +++ specification-v10.dtd     21 Sep 2002 22:57:18 -0000      1.2
  @@ -31,7 +31,7 @@
     19991129 Initial version. (SM)
       
   COPYRIGHT:
  -  Copyright (c) @year@ The Apache Software Foundation.
  +  Copyright (c) 1999-2002 The Apache Software Foundation.
     
     Permission to copy in any form is granted provided this notice is 
     included in all copies. Permission to redistribute is granted 
  
  
  
  1.2       +1 -1      xml-cocoon2/src/webapp/WEB-INF/entities/todo-v10.dtd
  
  Index: todo-v10.dtd
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/WEB-INF/entities/todo-v10.dtd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- todo-v10.dtd      2 Jul 2002 14:36:36 -0000       1.1
  +++ todo-v10.dtd      21 Sep 2002 22:57:18 -0000      1.2
  @@ -39,7 +39,7 @@
     19991225 Added actions element for better structure (SM)
       
   COPYRIGHT:
  -  Copyright (c) @year@ The Apache Software Foundation.
  +  Copyright (c) 1999-2002 The Apache Software Foundation.
     
     Permission to copy in any form is granted provided this notice is 
     included in all copies. Permission to redistribute is granted 
  
  
  
  1.20      +30 -90    xml-cocoon2/src/webapp/samples/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/sitemap.xmap,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- sitemap.xmap      20 Sep 2002 18:14:40 -0000      1.19
  +++ sitemap.xmap      21 Sep 2002 22:57:19 -0000      1.20
  @@ -88,16 +88,16 @@
     orthogonal to pipelines. Please refer to the docs.
   -->
    <map:views>
  -  <map:view name="content" from-label="content">
  +  <map:view from-label="content" name="content">
      <map:serialize type="xml"/>
     </map:view>
   
  -  <map:view name="pretty-content" from-label="data">
  +  <map:view from-label="data" name="pretty-content">
       <map:transform src="common/style/xsl/html/simple-xml2html.xsl"/>
       <map:serialize type="html"/>
     </map:view>
     
  -  <map:view name="links" from-position="last">
  +  <map:view from-position="last" name="links">
      <map:serialize type="links"/>
     </map:view>
   
  @@ -229,7 +229,7 @@
   
       <map:match pattern="welcome">
         <map:generate src="samples.xml"/>
  -      <map:transform type="xalan" 
src="common/style/xsl/html/simple-samples2html.xsl"/>
  +      <map:transform src="common/style/xsl/html/simple-samples2html.xsl" 
type="xalan"/>
         <map:serialize/>
       </map:match>
     </map:pipeline>
  @@ -326,7 +326,21 @@
         <map:generate src="xmldb:xindice://localhost:4080/db/{1}"/>
         <map:serialize type="xml"/>
       </map:match>
  -  </map:pipeline>
  +  
  +
  +    <!-- Mount search pages sitemap, for using indexing & searching -->
  +    <map:match pattern="search/**">
  +      <map:mount check-reload="yes" src="search/" uri-prefix="search"/>
  +    </map:match>
  +
  +
  +    <!-- =============== Parent Component Manager ====================== -->
  +    <map:match pattern="parentcm">
  +      <map:generate src="{1}" type="parentcm"/>
  +      <map:transform src="stylesheets/parentcm/time.xsl"/>
  +      <map:serialize/>
  +    </map:match>
  +</map:pipeline>
   
     <!-- main samples pipeline -->
      <map:pipeline>   
  @@ -360,7 +374,7 @@
         </map:otherwise>
       </map:select>
       -->
  -    <map:transform type="xslt" src="stylesheets/simple-samples2html.xsl"/>
  +    <map:transform src="stylesheets/simple-samples2html.xsl" type="xslt"/>
       <!-- uncomment the following if you want to use Xalan's interpreter as 
the XSLT processor -->
       <!-- <map:transform type="xalan" 
src="stylesheets/simple-samples2html.xsl"/> -->
       <!--
  @@ -390,45 +404,6 @@
   
   
   
  -   <map:match pattern="welcome-svg">
  -    <map:generate src="docs/samples/samples.xml"/>
  -    <map:transform src="stylesheets/svg-samples2html.xsl"/>
  -    <map:transform type="extractor"/>
  -    <!-- 
  -       Here, several transformers are needed to obtain the desired
  -       result. Note, that the above is not the default transformer but
  -       one named "extractor". Interestingly enough, this transformer
  -       does not need any additional configuration or input.
  -       
  -       If we look at it's javadocs it says:
  -
  -       "[...] The transformation half of the FragmentExtractor. This
  -       transformer sieves an incoming stream of xml with embedded SVG
  -       images and replaces the images with an xlink locator pointing
  -       to the image. [...]"
  -
  -       So, this interacts with the fragment below, doing the actual
  -       generating.
  -    -->
  -    <map:transform src="stylesheets/fragment-extractor.xsl"/>
  -    <map:serialize/>
  -   </map:match>
  -
  -   <map:match pattern="welcome-svg-images/*.png">
  -    <map:generate src="{1}" type="extractor"/>
  -    <!--
  -       Again, citing the javadocs:
  -
  -       "[...] The generation half of
  -       FragmentExtractor. FragmentExtractor is a transformer-generator
  -       pair which is designed to allow sitemap managers to extract
  -       certain nodes from a SAX stream and move them into a separate
  -       pipeline. The main use for this is to extract inline SVG images
  -       and serve them up through a separate pipeline, usually
  -       serializing them to PNG or JPEG format first. [...]"
  -    -->
  -    <map:serialize type="svg2png"/>
  -   </map:match>
   
   
   
  @@ -469,23 +444,7 @@
       <map:serialize type="xml"/>
      </map:match>
   
  -   <map:match pattern="hello.svg">
  -    <map:generate src="docs/samples/hello-page.xml"/>
  -    <map:transform src="stylesheets/page/simple-page2svg.xsl"/>
  -    <map:serialize type="svg2jpeg"/>
  -   </map:match>
   
  -   <map:match pattern="hello.wrl">
  -    <map:generate src="docs/samples/hello-page.xml"/>
  -    <map:transform src="stylesheets/page/simple-page2vrml.xsl"/>
  -    <map:serialize type="vrml"/>
  -   </map:match>
  -
  -   <map:match pattern="hello.pdf">
  -    <map:generate src="docs/samples/hello-page.xml"/>
  -    <map:transform src="stylesheets/page/simple-page2fo.xsl"/>
  -    <map:serialize type="fo2pdf"/>
  -   </map:match>
   
      <map:match pattern="redirect">
       <map:act type="request">
  @@ -586,15 +545,6 @@
   
      <!-- ================  Static  =========================== -->
   
  -   <map:match pattern="fo">
  -    <map:generate src="docs/samples/fo/readme.fo"/>
  -    <map:serialize type="fo2pdf"/>
  -   </map:match>
  -
  -   <map:match pattern="svg">
  -    <map:generate src="docs/samples/svg/henryV.svg"/>
  -    <map:serialize type="svg2png"/>
  -   </map:match>
   
      <map:match pattern="scripts/*">
       <map:generate src="docs/samples/scripts/{1}" type="script"/>
  @@ -602,14 +552,6 @@
       <map:serialize type="html"/>
      </map:match>
   
  -   <map:match pattern="templates/*">
  -    <map:generate src="templates/{1}" type="velocity">
  -    <map:parameter name="name" value="Velocity"/>
  -    <map:parameter name="project" value="Cocoon"/>
  -    </map:generate>
  -    <map:transform src="stylesheets/page/simple-page2html.xsl"/>
  -    <map:serialize type="html"/>
  -   </map:match>
   
      <map:match pattern="slides/slides">
       <map:call resource="slides"/>
  @@ -934,37 +876,37 @@
   
      <map:match pattern="welcome">
       <map:generate src="samples.xml"/>
  -    <map:transform type="xalan" 
src="common/style/xsl/html/simple-samples2html.xsl"/>
  +    <map:transform src="common/style/xsl/html/simple-samples2html.xsl" 
type="xalan"/>
       <map:serialize/>
      </map:match>
   
      <map:match pattern="scratchpad">
       <map:generate src="scratchpad-samples.xml"/>
  -    <map:transform type="xalan" 
src="common/style/xsl/html/simple-samples2html.xsl"/>
  +    <map:transform src="common/style/xsl/html/simple-samples2html.xsl" 
type="xalan"/>
       <map:serialize/>
      </map:match>
     
      <!-- ========================= Server ================================ -->
   
      <map:match pattern="**favicon.ico">
  -    <map:read src="common/resources/icons/cocoon.ico" 
mime-type="application/ico"/>
  +    <map:read mime-type="application/ico" 
src="common/resources/icons/cocoon.ico"/>
      </map:match>
      
      <!-- ================== Common ======================= -->
      <map:match pattern="*.css">
  -    <map:read src="common/style/css/{1}.css" mime-type="text/css"/>
  +    <map:read mime-type="text/css" src="common/style/css/{1}.css"/>
      </map:match>
   
      <map:match pattern="images/*.gif">
  -    <map:read src="common/resources/images/{1}.gif" mime-type="image/gif"/>
  +    <map:read mime-type="image/gif" src="common/resources/images/{1}.gif"/>
      </map:match>
   
      <map:match pattern="images/*.jpg">
  -    <map:read src="common/resources/images/{1}.jpg" mime-type="image/jpg"/>
  +    <map:read mime-type="image/jpg" src="common/resources/images/{1}.jpg"/>
      </map:match>
   
      <map:match pattern="images/*.png">
  -    <map:read src="common/resources/images/{1}.png" mime-type="image/png"/>
  +    <map:read mime-type="image/png" src="common/resources/images/{1}.png"/>
      </map:match>
   
      <!-- ================== Common fallthrough ===================== -->
  @@ -985,19 +927,17 @@
      
      <!-- samples automount -->  
      <map:match pattern="*/**">
  -     <map:mount uri-prefix="{1}" src="{1}/" check-reload="yes"/>
  +     <map:mount check-reload="yes" src="{1}/" uri-prefix="{1}"/>
      </map:match>
           
      <map:handle-errors>
       <!-- FIXME -->
       <!--<map:transform src="common/style/xsl/html/error2html.xsl"/>-->
       <map:transform 
src="context://samples/common/style/xsl/html/error2html.xsl"/>
  -    <map:serialize type="html" status-code="500"/>
  +    <map:serialize status-code="500" type="html"/>
      </map:handle-errors>
   
     </map:pipeline>
    </map:pipelines>
   
  -</map:sitemap>
  -
  -<!-- end of file -->
  +</map:sitemap><!-- end of file -->
  \ No newline at end of file
  
  
  
  1.2       +1616 -808 
xml-cocoon2/src/webapp/samples/chaperon/grammars/java.rgrm
  
  Index: java.rgrm
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/samples/chaperon/grammars/java.rgrm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- java.rgrm 15 Aug 2002 13:43:19 -0000      1.1
  +++ java.rgrm 21 Sep 2002 22:57:19 -0000      1.2
  @@ -1,808 +1,1616 @@
  -/*------------------------------------------------------------------
  - * Copyright (C)
  - *   1996, 1997, 1998 Dmitri Bronnikov, All rights reserved.
  - *
  - * THIS GRAMMAR IS PROVIDED "AS IS" WITHOUT  ANY  EXPRESS  OR
  - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  - * WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A  PARTICULAR
  - * PURPOSE, OR NON-INFRINGMENT.
  - *
  - * [EMAIL PROTECTED]
  - *
  - *------------------------------------------------------------------
  - *
  - * VERSION 1.06 DATE 20 AUG 1998
  - *
  - *------------------------------------------------------------------
  - *
  - * UPDATES
  - *
  - * 1.06 Correction of Java 1.1 syntax
  - * 1.05 Yet more Java 1.1
  - *      <qualified name>.<allocation expression>
  - * 1.04 More Java 1.1 features:
  - *      <class name>.this
  - *      <type name>.class
  - * 1.03 Added Java 1.1 features:
  - *      inner classes,
  - *      anonymous classes,
  - *      non-static initializer blocks,
  - *      array initialization by new operator
  - * 1.02 Corrected cast expression syntax
  - * 1.01 All shift/reduce conflicts, except dangling else, resolved
  - *
  - *------------------------------------------------------------------
  - *
  - * PARSING CONFLICTS RESOLVED
  - *
  - * Some Shift/Reduce conflicts have been resolved at the expense of
  - * the grammar defines a superset of the language. The following
  - * actions have to be performed to complete program syntax checking:
  - *
  - * 1) Check that modifiers applied to a class, interface, field,
  - *    or constructor are allowed in respectively a class, inteface,
  - *    field or constructor declaration. For example, a class
  - *    declaration should not allow other modifiers than abstract,
  - *    final and public.
  - *
  - * 2) For an expression statement, check it is either increment, or
  - *    decrement, or assignment expression.
  - *
  - * 3) Check that type expression in a cast operator indicates a type.
  - *    Some of the compilers that I have tested will allow simultaneous
  - *    use of identically named type and variable in the same scope
  - *    depending on context.
  - *
  - * 4) Change lexical definition to change '[' optionally followed by
  - *    any number of white-space characters immediately followed by ']'
  - *    to OP_DIM token. I defined this token as [\[]{white_space}*[\]]
  - *    in the lexer.
  - *
  - *------------------------------------------------------------------
  - *
  - * UNRESOLVED SHIFT/REDUCE CONFLICTS
  - *
  - * Dangling else in if-then-else
  - *
  - *------------------------------------------------------------------
  - */
  -
  -%uri "http://chaperon.sourceforge.net/grammar/java/1.0";;
  -
  -%token DOPEN     \(;
  -%token DCLOSE    \);
  -%token COPEN     \{;
  -%token CCLOSE    \};
  -%token BOPEN     \[;
  -%token BCLOSE    \];
  -%token SEMICOLON \;;
  -%token COMMA     \,;
  -%token DOT       \.;
  -
  -%token OP_EQ    ==;
  -%token OP_LE    \<=;
  -%token OP_GE    \>=;
  -%token OP_NE    !=;
  -%token OP_LOR   \|\|;
  -%token OP_LAND  &&;
  -%token OP_INC   \+\+;
  -%token OP_DEC   \-\-;
  -%token OP_SHR   \>\>;
  -%token OP_SHL   \<\<;
  -%token OP_SHRR  \>\>\>;
  -%token ASS_OP   \+= | \-= | \*= | /= | &= | \|= | \^= | \%= | \<\<= | \>\>= 
| \>\>\>=;
  -
  -%token EQ    \=;
  -%token GT    \>;
  -%token LT    \<;
  -%token NOT   \!;
  -%token TILDE \~;
  -%token QM    \?;
  -%token COLON \:;
  -%token PLUS  \+;
  -%token MINUS \-;
  -%token MULT  \*;
  -%token DIV   \/;
  -%token AND   \&;
  -%token OR    \|;
  -%token XOR   \^;
  -%token MOD   \%;
  -
  -%token BOOLLIT true|false;
  -
  -%token ABSTRACT     abstract;
  -%token DO           do;
  -%token IMPLEMENTS   implements;
  -%token PACKAGE      package;
  -%token THROW        throw;
  -%token BOOLEAN      boolean;
  -%token DOUBLE       double;
  -%token IMPORT       import;
  -%token PRIVATE      private;
  -%token THROWS       throws;
  -%token BREAK        break;
  -
  -%right ELSE         else;
  -
  -%token INNER        inner;
  -%token PROTECTED    protected;
  -%token TRANSIENT    transient;
  -%token BYTE         byte;
  -%token EXTENDS      extends;
  -%token INSTANCEOF   instanceof;
  -%token PUBLIC       public;
  -%token TRY          try;
  -%token CASE         case;
  -%token FINAL        final;
  -%token INT          int;
  -%token REST         rest;
  -%token VAR          var;
  -%token CAST         cast;
  -%token FINALLY      finally;
  -%token INTERFACE    interface;
  -%token RETURN       return;
  -%token VOID         void;
  -%token CATCH        catch;
  -%token FLOAT        float;
  -%token LONG         long;
  -%token SHORT        short;
  -%token VOLATILE     volatile;
  -%token CHAR         char;
  -%token FOR          for;
  -%token NATIVE       native;
  -%token STATIC       static;
  -%token WHILE        while;
  -%token CLASS        class;
  -%token FUTURE       future;
  -%token NEW          new;
  -%token SUPER        super;
  -%token CONST        const;
  -%token GENERIC      generic;
  -%token NULL         null;
  -%token SWITCH       switch;
  -%token CONTINUE     continue;
  -%token GOTO         goto;
  -%token OPERATOR     operator;
  -%token SYNCHRONIZED synchronized;
  -%token DEFAULT      default;
  -%token IF           if;
  -%token OUTER        outer;
  -%token THIS         this;
  -
  -%ab HexDigit        [0-9a-fA-F];
  -%ab Digit           [0-9];
  -%ab OctalDigit      [0-7];
  -%ab TetraDigit      [0-3];
  -%ab NonZeroDigit    [1-9];
  -%ab Letter          [a-zA-Z_];
  -%ab AnyButSlash     [^\/];
  -%ab AnyButAstr      [^\*];
  -%ab UniEsc          [\1b];
  -
  -%ab OctEscape1      \\ <OctalDigit>;
  -%ab OctEscape2      \\ <OctalDigit><OctalDigit>;
  -%ab OctEscape3      \\ <TetraDigit><OctalDigit><OctalDigit>;
  -%ab OctEscape       (<OctEscape1>|<OctEscape2>|<OctEscape3>);
  -
  -%ab Escape          [\\]([rnbft\\\'\"]);
  -%ab ULetter         (<Letter>|<UniEsc>);
  -%ab Identifier      <ULetter>(<ULetter>|<Digit>)*;
  -
  -%ab IntSuffix       (l|L);
  -%ab DecimalNum      <NonZeroDigit><Digit>*<IntSuffix>?;
  -%ab OctalNum        0 <OctalDigit>*<IntSuffix>?;
  -%ab HexNum          0 (x|X) <HexDigit><HexDigit>*<IntSuffix>?;
  -%ab IntegerLiteral  (<DecimalNum>|<OctalNum>|<HexNum>);
  -
  -%ab Sign            (\+ | \-);
  -%ab FlSuffix        (f|F|d|D);
  -%ab SignedInt       <Sign>?<Digit>+;
  -%ab Expo            (e|E);
  -%ab ExponentPart    <Expo><SignedInt>?;
  -%ab Float1          <Digit>+ \. (<Digit>+)?<ExponentPart>?<FlSuffix>?;
  -%ab Float2          \. <Digit>+<ExponentPart>?<FlSuffix>?;
  -%ab Float3          <Digit>+<ExponentPart><FlSuffix>?;
  -%ab Float4          <Digit>+<FlSuffix>;
  -%ab FloatingPoint   (<Float1>|<Float2>|<Float3>|<Float4>);
  -
  -%ab AnyChrChr       [^\\'];
  -%ab AnyStrChr       [^\\\"];
  -%ab Character       \' (<Escape>|<OctEscape>|<AnyChrChr>)  \' ;
  -%ab String          \" (<Escape>|<OctEscape>|<AnyStrChr>)* \" ;
  -%ab Numeric         (<IntegerLiteral>|<FloatingPoint>);
  -
  -%token LITERAL         (<Numeric>|<Character>|<String>);
  -
  -%token IDENTIFIER   ([a-zA-Z_]|[\1b])(([a-zA-Z_]|[\1b])|[0-9])*;
  -
  -
  -//%token OP_DIM \[ ([\r\n\f\t\b\ ]|( \/ \* ([^\*]| \* [^\/])* \*  \/ |
  -//              \/ \/ (.*)))* \] ;
  -
  -//%whitespace [\r\n\f\t\b\ ];
  -
  -
  -%token OP_DIM \[ ([\r\n\t\ ]|( \/ \* ([^\*]| \* [^\/])* \*  \/ |
  -               \/ \/ (.*)))* \] ;
  -
  -%ignore whitespace [\t\ ];
  -
  -%ignore eol \r(\n)?|\n;
  -
  -%ab Comment1        \/ \* (<AnyButAstr>|[\*]<AnyButSlash>)* \* \/;
  -%ab Comment2        \/ \/ (.*);
  -%ignore comment         (<Comment1>|<Comment2>);
  -
  -%start CompilationUnit;
  -
  -%%
  -
  -TypeSpecifier
  -     : TypeName
  -     | TypeName Dims
  -     ;
  -
  -TypeName
  -     : PrimitiveType
  -     | QualifiedName
  -     ;
  -
  -ClassNameList
  -  : QualifiedName
  -  | ClassNameList COMMA QualifiedName
  -     ;
  -
  -PrimitiveType
  -     : BOOLEAN
  -     | CHAR
  -     | BYTE
  -     | SHORT
  -     | INT
  -     | LONG
  -     | FLOAT
  -     | DOUBLE
  -     | VOID
  -     ;
  -
  -SemiColons
  -     : SEMICOLON
  -  | SemiColons SEMICOLON
  -  ;
  -
  -CompilationUnit
  -     : ProgramFile
  -  ;
  -
  -ProgramFile
  -     : PackageStatement ImportStatements TypeDeclarations
  -     | PackageStatement ImportStatements
  -     | PackageStatement                  TypeDeclarations
  -     |                  ImportStatements TypeDeclarations
  -     | PackageStatement
  -     |                  ImportStatements
  -     |                                   TypeDeclarations
  -     ;
  -
  -PackageStatement
  -     : PACKAGE QualifiedName SemiColons
  -     ;
  -
  -TypeDeclarations
  -     : TypeDeclarationOptSemi
  -     | TypeDeclarations TypeDeclarationOptSemi
  -     ;
  -
  -TypeDeclarationOptSemi
  -  : TypeDeclaration
  -  | TypeDeclaration SemiColons
  -  ;
  -
  -ImportStatements
  -     : ImportStatement
  -     | ImportStatements ImportStatement
  -     ;
  -
  -ImportStatement
  -     : IMPORT QualifiedName SemiColons
  -     | IMPORT QualifiedName DOT MULT SemiColons
  -     ;
  -
  -QualifiedName
  -     : IDENTIFIER %append
  -     | QualifiedName DOT IDENTIFIER %append
  -     ;
  -
  -TypeDeclaration
  -     : ClassHeader COPEN FieldDeclarations CCLOSE
  -     | ClassHeader COPEN CCLOSE
  -     ;
  -
  -ClassHeader
  -     : Modifiers ClassWord IDENTIFIER Extends Interfaces
  -     | Modifiers ClassWord IDENTIFIER Extends
  -     | Modifiers ClassWord IDENTIFIER         Interfaces
  -     |           ClassWord IDENTIFIER Extends Interfaces
  -     | Modifiers ClassWord IDENTIFIER
  -     |           ClassWord IDENTIFIER Extends
  -     |           ClassWord IDENTIFIER         Interfaces
  -     |           ClassWord IDENTIFIER
  -     ;
  -
  -Modifiers
  -     : Modifier %append
  -     | Modifiers Modifier %append
  -     ;
  -
  -Modifier
  -     : ABSTRACT
  -     | FINAL
  -     | PUBLIC
  -     | PROTECTED
  -     | PRIVATE
  -     | STATIC
  -     | TRANSIENT
  -     | VOLATILE
  -     | NATIVE
  -     | SYNCHRONIZED
  -     ;
  -
  -ClassWord
  -     : CLASS
  -     | INTERFACE
  -     ;
  -
  -Interfaces
  -     : IMPLEMENTS ClassNameList
  -     ;
  -
  -FieldDeclarations
  -     : FieldDeclarationOptSemi
  -  | FieldDeclarations FieldDeclarationOptSemi
  -     ;
  -
  -FieldDeclarationOptSemi
  -  : FieldDeclaration
  -  | FieldDeclaration SemiColons
  -  ;
  -
  -FieldDeclaration
  -     : FieldVariableDeclaration SEMICOLON
  -     | MethodDeclaration
  -     | ConstructorDeclaration
  -     | StaticInitializer
  -  | NonStaticInitializer
  -  | TypeDeclaration
  -     ;
  -
  -FieldVariableDeclaration
  -     : Modifiers TypeSpecifier VariableDeclarators
  -     |           TypeSpecifier VariableDeclarators
  -     ;
  -
  -VariableDeclarators
  -     : VariableDeclarator
  -     | VariableDeclarators COMMA VariableDeclarator
  -     ;
  -
  -VariableDeclarator
  -     : DeclaratorName
  -     | DeclaratorName EQ VariableInitializer
  -     ;
  -
  -VariableInitializer
  -     : Expression
  -     | COPEN CCLOSE
  -  | COPEN ArrayInitializers CCLOSE
  -  ;
  -
  -ArrayInitializers
  -     : VariableInitializer
  -     | ArrayInitializers COMMA VariableInitializer
  -     | ArrayInitializers COMMA
  -     ;
  -
  -MethodDeclaration
  -     : Modifiers TypeSpecifier MethodDeclarator Throws MethodBody
  -     | Modifiers TypeSpecifier MethodDeclarator        MethodBody
  -     |           TypeSpecifier MethodDeclarator Throws MethodBody
  -     |           TypeSpecifier MethodDeclarator        MethodBody
  -     ;
  -
  -MethodDeclarator
  -     : DeclaratorName DOPEN ParameterList DCLOSE
  -     | DeclaratorName DOPEN DCLOSE
  -     | MethodDeclarator OP_DIM
  -     ;
  -
  -ParameterList
  -     : Parameter
  -     | ParameterList COMMA Parameter
  -     ;
  -
  -Parameter
  -     : TypeSpecifier DeclaratorName
  -  | FINAL TypeSpecifier DeclaratorName
  -     ;
  -
  -DeclaratorName
  -     : IDENTIFIER
  -  | DeclaratorName OP_DIM
  -  ;
  -
  -Throws
  -     : THROWS ClassNameList
  -     ;
  -
  -MethodBody
  -     : Block
  -     | SEMICOLON
  -     ;
  -
  -ConstructorDeclaration
  -     : Modifiers ConstructorDeclarator Throws Block
  -     | Modifiers ConstructorDeclarator        Block
  -     |           ConstructorDeclarator Throws Block
  -     |           ConstructorDeclarator        Block
  -     ;
  -
  -ConstructorDeclarator
  -     : IDENTIFIER DOPEN ParameterList DCLOSE
  -     | IDENTIFIER DOPEN DCLOSE
  -     ;
  -
  -StaticInitializer
  -     : STATIC Block
  -     ;
  -
  -NonStaticInitializer
  -  : Block
  -  ;
  -
  -Extends
  -     : EXTENDS TypeName
  -     | Extends COMMA TypeName
  -     ;
  -
  -Block
  -     : COPEN LocalVariableDeclarationsAndStatements CCLOSE
  -     | COPEN CCLOSE
  -  ;
  -
  -LocalVariableDeclarationsAndStatements
  -     : LocalVariableDeclarationOrStatement %append
  -     | LocalVariableDeclarationsAndStatements 
LocalVariableDeclarationOrStatement %append
  -     ;
  -
  -LocalVariableDeclarationOrStatement
  -     : LocalVariableDeclarationStatement
  -     | Statement
  -     ;
  -
  -LocalVariableDeclarationStatement
  -     : TypeSpecifier VariableDeclarators SEMICOLON
  -  | FINAL TypeSpecifier VariableDeclarators SEMICOLON
  -     ;
  -
  -Statement
  -     : EmptyStatement
  -     | LabelStatement
  -     | ExpressionStatement SEMICOLON
  -  | SelectionStatement
  -  | IterationStatement
  -     | JumpStatement
  -     | GuardingStatement
  -     | Block
  -     ;
  -
  -EmptyStatement
  -     : SEMICOLON
  -  ;
  -
  -LabelStatement
  -     : IDENTIFIER COLON
  -  | CASE ConstantExpression COLON
  -     | DEFAULT COLON
  -  ;
  -
  -ExpressionStatement
  -     : Expression
  -     ;
  -
  -SelectionStatement
  -     : IF DOPEN Expression DCLOSE Statement %prec ELSE
  -  | IF DOPEN Expression DCLOSE Statement ELSE Statement %prec ELSE
  -  | SWITCH DOPEN Expression DCLOSE Block
  -  ;
  -
  -IterationStatement
  -     : WHILE DOPEN Expression DCLOSE Statement
  -     | DO Statement WHILE DOPEN Expression DCLOSE SEMICOLON
  -     | FOR DOPEN ForInit ForExpr ForIncr DCLOSE Statement
  -     | FOR DOPEN ForInit ForExpr         DCLOSE Statement
  -     ;
  -
  -ForInit
  -     : ExpressionStatements SEMICOLON
  -     | LocalVariableDeclarationStatement
  -     | SEMICOLON
  -     ;
  -
  -ForExpr
  -     : Expression SEMICOLON
  -     | SEMICOLON
  -     ;
  -
  -ForIncr
  -     : ExpressionStatements
  -     ;
  -
  -ExpressionStatements
  -     : ExpressionStatement %resolve
  -     | ExpressionStatements COMMA ExpressionStatement
  -     ;
  -
  -JumpStatement
  -     : BREAK IDENTIFIER SEMICOLON
  -     | BREAK            SEMICOLON
  -  | CONTINUE IDENTIFIER SEMICOLON
  -     | CONTINUE            SEMICOLON
  -     | RETURN Expression SEMICOLON
  -     | RETURN            SEMICOLON
  -     | THROW Expression SEMICOLON
  -     ;
  -
  -GuardingStatement
  -     : SYNCHRONIZED DOPEN Expression DCLOSE Statement
  -     | TRY Block Finally
  -     | TRY Block Catches
  -     | TRY Block Catches Finally
  -     ;
  -
  -Catches
  -     : Catch
  -     | Catches Catch
  -     ;
  -
  -Catch
  -     : CatchHeader Block
  -     ;
  -
  -CatchHeader
  -     : CATCH DOPEN TypeSpecifier IDENTIFIER DCLOSE
  -     | CATCH DOPEN TypeSpecifier DCLOSE
  -     ;
  -
  -Finally
  -     : FINALLY Block
  -     ;
  -
  -PrimaryExpression
  -     : QualifiedName %resolve
  -     | NotJustName %resolve
  -     ;
  -
  -NotJustName
  -     : SpecialName %resolve
  -     | NewAllocationExpression %resolve
  -     | ComplexPrimary %resolve
  -     ;
  -
  -ComplexPrimary
  -     : DOPEN Expression DCLOSE
  -     | ComplexPrimaryNoParenthesis %resolve
  -     ;
  -
  -ComplexPrimaryNoParenthesis
  -     : LITERAL
  -     | BOOLLIT
  -     | ArrayAccess
  -     | FieldAccess
  -     | MethodCall
  -     ;
  -
  -ArrayAccess
  -     : QualifiedName  BOPEN Expression BCLOSE
  -     | ComplexPrimary BOPEN Expression BCLOSE
  -     ;
  -
  -FieldAccess
  -     : NotJustName DOT IDENTIFIER
  -     | RealPostfixExpression DOT IDENTIFIER
  -  | QualifiedName DOT THIS
  -  | QualifiedName DOT CLASS
  -  | PrimitiveType DOT CLASS
  -     ;
  -
  -MethodCall
  -     : MethodAccess DOPEN ArgumentList DCLOSE
  -     | MethodAccess DOPEN DCLOSE
  -     ;
  -
  -MethodAccess
  -     : ComplexPrimaryNoParenthesis
  -     | SpecialName
  -     | QualifiedName
  -     ;
  -
  -SpecialName
  -     : THIS
  -     | SUPER
  -     | NULL
  -     ;
  -
  -ArgumentList
  -     : Expression
  -     | ArgumentList COMMA Expression
  -     ;
  -
  -NewAllocationExpression
  -  : PlainNewAllocationExpression
  -  | QualifiedName DOT PlainNewAllocationExpression
  -  ;
  -
  -PlainNewAllocationExpression
  -     : ArrayAllocationExpression
  -     | ClassAllocationExpression
  -     | ArrayAllocationExpression COPEN CCLOSE
  -     | ClassAllocationExpression COPEN CCLOSE
  -     | ArrayAllocationExpression COPEN ArrayInitializers CCLOSE
  -     | ClassAllocationExpression COPEN FieldDeclarations CCLOSE
  -     ;
  -
  -ClassAllocationExpression
  -     : NEW TypeName DOPEN ArgumentList DCLOSE
  -     | NEW TypeName DOPEN              DCLOSE
  -  ;
  -
  -ArrayAllocationExpression
  -     : NEW TypeName DimExprs Dims
  -     | NEW TypeName DimExprs
  -  | NEW TypeName Dims
  -     ;
  -
  -DimExprs
  -     : DimExpr
  -     | DimExprs DimExpr
  -     ;
  -
  -DimExpr
  -     : BOPEN Expression BCLOSE
  -     ;
  -
  -Dims
  -     : OP_DIM
  -     | Dims OP_DIM
  -     ;
  -
  -PostfixExpression
  -     : PrimaryExpression %resolve
  -     | RealPostfixExpression %resolve
  -     ;
  -
  -RealPostfixExpression
  -     : PostfixExpression OP_INC
  -     | PostfixExpression OP_DEC
  -     ;
  -
  -UnaryExpression
  -     : OP_INC UnaryExpression
  -     | OP_DEC UnaryExpression
  -     | ArithmeticUnaryOperator CastExpression
  -     | LogicalUnaryExpression %resolve
  -     ;
  -
  -LogicalUnaryExpression
  -     : PostfixExpression %resolve
  -     | LogicalUnaryOperator UnaryExpression
  -     ;
  -
  -LogicalUnaryOperator
  -     : TILDE
  -     | NOT
  -     ;
  -
  -ArithmeticUnaryOperator
  -     : PLUS
  -     | MINUS
  -     ;
  -
  -CastExpression
  -     : UnaryExpression %resolve
  -     | DOPEN PrimitiveTypeExpression DCLOSE CastExpression
  -     | DOPEN ClassTypeExpression DCLOSE CastExpression
  -     | DOPEN Expression DCLOSE LogicalUnaryExpression
  -     ;
  -
  -PrimitiveTypeExpression
  -     : PrimitiveType 
  -  | PrimitiveType Dims
  -  ;
  -
  -ClassTypeExpression
  -     : QualifiedName Dims
  -  ;
  -
  -MultiplicativeExpression
  -     : CastExpression %resolve
  -     | MultiplicativeExpression MULT CastExpression
  -     | MultiplicativeExpression DIV CastExpression
  -     | MultiplicativeExpression MOD CastExpression
  -     ;
  -
  -AdditiveExpression
  -     : MultiplicativeExpression %resolve
  -  | AdditiveExpression PLUS MultiplicativeExpression
  -     | AdditiveExpression MINUS MultiplicativeExpression
  -  ;
  -
  -ShiftExpression 
  -     : AdditiveExpression %resolve
  -  | ShiftExpression OP_SHL AdditiveExpression
  -  | ShiftExpression OP_SHR AdditiveExpression
  -  | ShiftExpression OP_SHRR AdditiveExpression
  -     ;
  -
  -RelationalExpression
  -     : ShiftExpression %resolve
  -  | RelationalExpression LT ShiftExpression
  -     | RelationalExpression GT ShiftExpression
  -     | RelationalExpression OP_LE ShiftExpression
  -     | RelationalExpression OP_GE ShiftExpression
  -     | RelationalExpression INSTANCEOF TypeSpecifier
  -     ;
  -
  -EqualityExpression
  -     : RelationalExpression %resolve
  -  | EqualityExpression OP_EQ RelationalExpression
  -  | EqualityExpression OP_NE RelationalExpression
  -  ;
  -
  -AndExpression
  -     : EqualityExpression %resolve
  -  | AndExpression AND EqualityExpression
  -  ;
  -
  -ExclusiveOrExpression
  -     : AndExpression %resolve
  -     | ExclusiveOrExpression XOR AndExpression
  -     ;
  -
  -InclusiveOrExpression
  -     : ExclusiveOrExpression %resolve
  -     | InclusiveOrExpression OR ExclusiveOrExpression
  -     ;
  -
  -ConditionalAndExpression
  -     : InclusiveOrExpression %resolve
  -     | ConditionalAndExpression OP_LAND InclusiveOrExpression
  -     ;
  -
  -ConditionalOrExpression
  -     : ConditionalAndExpression %resolve
  -     | ConditionalOrExpression OP_LOR ConditionalAndExpression
  -     ;
  -
  -ConditionalExpression
  -     : ConditionalOrExpression %resolve
  -     | ConditionalOrExpression QM Expression COLON ConditionalExpression
  -     ;
  -
  -AssignmentExpression
  -     : ConditionalExpression %resolve
  -     | UnaryExpression AssignmentOperator AssignmentExpression
  -     ;
  -
  -AssignmentOperator
  -     : EQ
  -     | ASS_OP
  -     ;
  -
  -Expression
  -     : AssignmentExpression
  -  ;
  -
  -ConstantExpression
  -     : ConditionalExpression
  -     ;
  -
  -
  +/*------------------------------------------------------------------
  +
  + * Copyright (C)
  +
  + *   1996, 1997, 1998 Dmitri Bronnikov, All rights reserved.
  +
  + *
  +
  + * THIS GRAMMAR IS PROVIDED "AS IS" WITHOUT  ANY  EXPRESS  OR
  +
  + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  +
  + * WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS  FOR  A  PARTICULAR
  +
  + * PURPOSE, OR NON-INFRINGMENT.
  +
  + *
  +
  + * [EMAIL PROTECTED]
  +
  + *
  +
  + *------------------------------------------------------------------
  +
  + *
  +
  + * VERSION 1.06 DATE 20 AUG 1998
  +
  + *
  +
  + *------------------------------------------------------------------
  +
  + *
  +
  + * UPDATES
  +
  + *
  +
  + * 1.06 Correction of Java 1.1 syntax
  +
  + * 1.05 Yet more Java 1.1
  +
  + *      <qualified name>.<allocation expression>
  +
  + * 1.04 More Java 1.1 features:
  +
  + *      <class name>.this
  +
  + *      <type name>.class
  +
  + * 1.03 Added Java 1.1 features:
  +
  + *      inner classes,
  +
  + *      anonymous classes,
  +
  + *      non-static initializer blocks,
  +
  + *      array initialization by new operator
  +
  + * 1.02 Corrected cast expression syntax
  +
  + * 1.01 All shift/reduce conflicts, except dangling else, resolved
  +
  + *
  +
  + *------------------------------------------------------------------
  +
  + *
  +
  + * PARSING CONFLICTS RESOLVED
  +
  + *
  +
  + * Some Shift/Reduce conflicts have been resolved at the expense of
  +
  + * the grammar defines a superset of the language. The following
  +
  + * actions have to be performed to complete program syntax checking:
  +
  + *
  +
  + * 1) Check that modifiers applied to a class, interface, field,
  +
  + *    or constructor are allowed in respectively a class, inteface,
  +
  + *    field or constructor declaration. For example, a class
  +
  + *    declaration should not allow other modifiers than abstract,
  +
  + *    final and public.
  +
  + *
  +
  + * 2) For an expression statement, check it is either increment, or
  +
  + *    decrement, or assignment expression.
  +
  + *
  +
  + * 3) Check that type expression in a cast operator indicates a type.
  +
  + *    Some of the compilers that I have tested will allow simultaneous
  +
  + *    use of identically named type and variable in the same scope
  +
  + *    depending on context.
  +
  + *
  +
  + * 4) Change lexical definition to change '[' optionally followed by
  +
  + *    any number of white-space characters immediately followed by ']'
  +
  + *    to OP_DIM token. I defined this token as [\[]{white_space}*[\]]
  +
  + *    in the lexer.
  +
  + *
  +
  + *------------------------------------------------------------------
  +
  + *
  +
  + * UNRESOLVED SHIFT/REDUCE CONFLICTS
  +
  + *
  +
  + * Dangling else in if-then-else
  +
  + *
  +
  + *------------------------------------------------------------------
  +
  + */
  +
  +
  +
  +%uri "http://chaperon.sourceforge.net/grammar/java/1.0";;
  +
  +
  +
  +%token DOPEN     \(;
  +
  +%token DCLOSE    \);
  +
  +%token COPEN     \{;
  +
  +%token CCLOSE    \};
  +
  +%token BOPEN     \[;
  +
  +%token BCLOSE    \];
  +
  +%token SEMICOLON \;;
  +
  +%token COMMA     \,;
  +
  +%token DOT       \.;
  +
  +
  +
  +%token OP_EQ    ==;
  +
  +%token OP_LE    \<=;
  +
  +%token OP_GE    \>=;
  +
  +%token OP_NE    !=;
  +
  +%token OP_LOR   \|\|;
  +
  +%token OP_LAND  &&;
  +
  +%token OP_INC   \+\+;
  +
  +%token OP_DEC   \-\-;
  +
  +%token OP_SHR   \>\>;
  +
  +%token OP_SHL   \<\<;
  +
  +%token OP_SHRR  \>\>\>;
  +
  +%token ASS_OP   \+= | \-= | \*= | /= | &= | \|= | \^= | \%= | \<\<= | \>\>= 
| \>\>\>=;
  +
  +
  +
  +%token EQ    \=;
  +
  +%token GT    \>;
  +
  +%token LT    \<;
  +
  +%token NOT   \!;
  +
  +%token TILDE \~;
  +
  +%token QM    \?;
  +
  +%token COLON \:;
  +
  +%token PLUS  \+;
  +
  +%token MINUS \-;
  +
  +%token MULT  \*;
  +
  +%token DIV   \/;
  +
  +%token AND   \&;
  +
  +%token OR    \|;
  +
  +%token XOR   \^;
  +
  +%token MOD   \%;
  +
  +
  +
  +%token BOOLLIT true|false;
  +
  +
  +
  +%token ABSTRACT     abstract;
  +
  +%token DO           do;
  +
  +%token IMPLEMENTS   implements;
  +
  +%token PACKAGE      package;
  +
  +%token THROW        throw;
  +
  +%token BOOLEAN      boolean;
  +
  +%token DOUBLE       double;
  +
  +%token IMPORT       import;
  +
  +%token PRIVATE      private;
  +
  +%token THROWS       throws;
  +
  +%token BREAK        break;
  +
  +
  +
  +%right ELSE         else;
  +
  +
  +
  +%token INNER        inner;
  +
  +%token PROTECTED    protected;
  +
  +%token TRANSIENT    transient;
  +
  +%token BYTE         byte;
  +
  +%token EXTENDS      extends;
  +
  +%token INSTANCEOF   instanceof;
  +
  +%token PUBLIC       public;
  +
  +%token TRY          try;
  +
  +%token CASE         case;
  +
  +%token FINAL        final;
  +
  +%token INT          int;
  +
  +%token REST         rest;
  +
  +%token VAR          var;
  +
  +%token CAST         cast;
  +
  +%token FINALLY      finally;
  +
  +%token INTERFACE    interface;
  +
  +%token RETURN       return;
  +
  +%token VOID         void;
  +
  +%token CATCH        catch;
  +
  +%token FLOAT        float;
  +
  +%token LONG         long;
  +
  +%token SHORT        short;
  +
  +%token VOLATILE     volatile;
  +
  +%token CHAR         char;
  +
  +%token FOR          for;
  +
  +%token NATIVE       native;
  +
  +%token STATIC       static;
  +
  +%token WHILE        while;
  +
  +%token CLASS        class;
  +
  +%token FUTURE       future;
  +
  +%token NEW          new;
  +
  +%token SUPER        super;
  +
  +%token CONST        const;
  +
  +%token GENERIC      generic;
  +
  +%token NULL         null;
  +
  +%token SWITCH       switch;
  +
  +%token CONTINUE     continue;
  +
  +%token GOTO         goto;
  +
  +%token OPERATOR     operator;
  +
  +%token SYNCHRONIZED synchronized;
  +
  +%token DEFAULT      default;
  +
  +%token IF           if;
  +
  +%token OUTER        outer;
  +
  +%token THIS         this;
  +
  +
  +
  +%ab HexDigit        [0-9a-fA-F];
  +
  +%ab Digit           [0-9];
  +
  +%ab OctalDigit      [0-7];
  +
  +%ab TetraDigit      [0-3];
  +
  +%ab NonZeroDigit    [1-9];
  +
  +%ab Letter          [a-zA-Z_];
  +
  +%ab AnyButSlash     [^\/];
  +
  +%ab AnyButAstr      [^\*];
  +
  +%ab UniEsc          [\1b];
  +
  +
  +
  +%ab OctEscape1      \\ <OctalDigit>;
  +
  +%ab OctEscape2      \\ <OctalDigit><OctalDigit>;
  +
  +%ab OctEscape3      \\ <TetraDigit><OctalDigit><OctalDigit>;
  +
  +%ab OctEscape       (<OctEscape1>|<OctEscape2>|<OctEscape3>);
  +
  +
  +
  +%ab Escape          [\\]([rnbft\\\'\"]);
  +
  +%ab ULetter         (<Letter>|<UniEsc>);
  +
  +%ab Identifier      <ULetter>(<ULetter>|<Digit>)*;
  +
  +
  +
  +%ab IntSuffix       (l|L);
  +
  +%ab DecimalNum      <NonZeroDigit><Digit>*<IntSuffix>?;
  +
  +%ab OctalNum        0 <OctalDigit>*<IntSuffix>?;
  +
  +%ab HexNum          0 (x|X) <HexDigit><HexDigit>*<IntSuffix>?;
  +
  +%ab IntegerLiteral  (<DecimalNum>|<OctalNum>|<HexNum>);
  +
  +
  +
  +%ab Sign            (\+ | \-);
  +
  +%ab FlSuffix        (f|F|d|D);
  +
  +%ab SignedInt       <Sign>?<Digit>+;
  +
  +%ab Expo            (e|E);
  +
  +%ab ExponentPart    <Expo><SignedInt>?;
  +
  +%ab Float1          <Digit>+ \. (<Digit>+)?<ExponentPart>?<FlSuffix>?;
  +
  +%ab Float2          \. <Digit>+<ExponentPart>?<FlSuffix>?;
  +
  +%ab Float3          <Digit>+<ExponentPart><FlSuffix>?;
  +
  +%ab Float4          <Digit>+<FlSuffix>;
  +
  +%ab FloatingPoint   (<Float1>|<Float2>|<Float3>|<Float4>);
  +
  +
  +
  +%ab AnyChrChr       [^\\'];
  +
  +%ab AnyStrChr       [^\\\"];
  +
  +%ab Character       \' (<Escape>|<OctEscape>|<AnyChrChr>)  \' ;
  +
  +%ab String          \" (<Escape>|<OctEscape>|<AnyStrChr>)* \" ;
  +
  +%ab Numeric         (<IntegerLiteral>|<FloatingPoint>);
  +
  +
  +
  +%token LITERAL         (<Numeric>|<Character>|<String>);
  +
  +
  +
  +%token IDENTIFIER   ([a-zA-Z_]|[\1b])(([a-zA-Z_]|[\1b])|[0-9])*;
  +
  +
  +
  +
  +
  +//%token OP_DIM \[ ([\r\n\f\t\b\ ]|( \/ \* ([^\*]| \* [^\/])* \*  \/ |
  +
  +//              \/ \/ (.*)))* \] ;
  +
  +
  +
  +//%whitespace [\r\n\f\t\b\ ];
  +
  +
  +
  +
  +
  +%token OP_DIM \[ ([\r\n\t\ ]|( \/ \* ([^\*]| \* [^\/])* \*  \/ |
  +
  +               \/ \/ (.*)))* \] ;
  +
  +
  +
  +%ignore whitespace [\t\ ];
  +
  +
  +
  +%ignore eol \r(\n)?|\n;
  +
  +
  +
  +%ab Comment1        \/ \* (<AnyButAstr>|[\*]<AnyButSlash>)* \* \/;
  +
  +%ab Comment2        \/ \/ (.*);
  +
  +%ignore comment         (<Comment1>|<Comment2>);
  +
  +
  +
  +%start CompilationUnit;
  +
  +
  +
  +%%
  +
  +
  +
  +TypeSpecifier
  +
  +     : TypeName
  +
  +     | TypeName Dims
  +
  +     ;
  +
  +
  +
  +TypeName
  +
  +     : PrimitiveType
  +
  +     | QualifiedName
  +
  +     ;
  +
  +
  +
  +ClassNameList
  +
  +  : QualifiedName
  +
  +  | ClassNameList COMMA QualifiedName
  +
  +     ;
  +
  +
  +
  +PrimitiveType
  +
  +     : BOOLEAN
  +
  +     | CHAR
  +
  +     | BYTE
  +
  +     | SHORT
  +
  +     | INT
  +
  +     | LONG
  +
  +     | FLOAT
  +
  +     | DOUBLE
  +
  +     | VOID
  +
  +     ;
  +
  +
  +
  +SemiColons
  +
  +     : SEMICOLON
  +
  +  | SemiColons SEMICOLON
  +
  +  ;
  +
  +
  +
  +CompilationUnit
  +
  +     : ProgramFile
  +
  +  ;
  +
  +
  +
  +ProgramFile
  +
  +     : PackageStatement ImportStatements TypeDeclarations
  +
  +     | PackageStatement ImportStatements
  +
  +     | PackageStatement                  TypeDeclarations
  +
  +     |                  ImportStatements TypeDeclarations
  +
  +     | PackageStatement
  +
  +     |                  ImportStatements
  +
  +     |                                   TypeDeclarations
  +
  +     ;
  +
  +
  +
  +PackageStatement
  +
  +     : PACKAGE QualifiedName SemiColons
  +
  +     ;
  +
  +
  +
  +TypeDeclarations
  +
  +     : TypeDeclarationOptSemi
  +
  +     | TypeDeclarations TypeDeclarationOptSemi
  +
  +     ;
  +
  +
  +
  +TypeDeclarationOptSemi
  +
  +  : TypeDeclaration
  +
  +  | TypeDeclaration SemiColons
  +
  +  ;
  +
  +
  +
  +ImportStatements
  +
  +     : ImportStatement
  +
  +     | ImportStatements ImportStatement
  +
  +     ;
  +
  +
  +
  +ImportStatement
  +
  +     : IMPORT QualifiedName SemiColons
  +
  +     | IMPORT QualifiedName DOT MULT SemiColons
  +
  +     ;
  +
  +
  +
  +QualifiedName
  +
  +     : IDENTIFIER %append
  +
  +     | QualifiedName DOT IDENTIFIER %append
  +
  +     ;
  +
  +
  +
  +TypeDeclaration
  +
  +     : ClassHeader COPEN FieldDeclarations CCLOSE
  +
  +     | ClassHeader COPEN CCLOSE
  +
  +     ;
  +
  +
  +
  +ClassHeader
  +
  +     : Modifiers ClassWord IDENTIFIER Extends Interfaces
  +
  +     | Modifiers ClassWord IDENTIFIER Extends
  +
  +     | Modifiers ClassWord IDENTIFIER         Interfaces
  +
  +     |           ClassWord IDENTIFIER Extends Interfaces
  +
  +     | Modifiers ClassWord IDENTIFIER
  +
  +     |           ClassWord IDENTIFIER Extends
  +
  +     |           ClassWord IDENTIFIER         Interfaces
  +
  +     |           ClassWord IDENTIFIER
  +
  +     ;
  +
  +
  +
  +Modifiers
  +
  +     : Modifier %append
  +
  +     | Modifiers Modifier %append
  +
  +     ;
  +
  +
  +
  +Modifier
  +
  +     : ABSTRACT
  +
  +     | FINAL
  +
  +     | PUBLIC
  +
  +     | PROTECTED
  +
  +     | PRIVATE
  +
  +     | STATIC
  +
  +     | TRANSIENT
  +
  +     | VOLATILE
  +
  +     | NATIVE
  +
  +     | SYNCHRONIZED
  +
  +     ;
  +
  +
  +
  +ClassWord
  +
  +     : CLASS
  +
  +     | INTERFACE
  +
  +     ;
  +
  +
  +
  +Interfaces
  +
  +     : IMPLEMENTS ClassNameList
  +
  +     ;
  +
  +
  +
  +FieldDeclarations
  +
  +     : FieldDeclarationOptSemi
  +
  +  | FieldDeclarations FieldDeclarationOptSemi
  +
  +     ;
  +
  +
  +
  +FieldDeclarationOptSemi
  +
  +  : FieldDeclaration
  +
  +  | FieldDeclaration SemiColons
  +
  +  ;
  +
  +
  +
  +FieldDeclaration
  +
  +     : FieldVariableDeclaration SEMICOLON
  +
  +     | MethodDeclaration
  +
  +     | ConstructorDeclaration
  +
  +     | StaticInitializer
  +
  +  | NonStaticInitializer
  +
  +  | TypeDeclaration
  +
  +     ;
  +
  +
  +
  +FieldVariableDeclaration
  +
  +     : Modifiers TypeSpecifier VariableDeclarators
  +
  +     |           TypeSpecifier VariableDeclarators
  +
  +     ;
  +
  +
  +
  +VariableDeclarators
  +
  +     : VariableDeclarator
  +
  +     | VariableDeclarators COMMA VariableDeclarator
  +
  +     ;
  +
  +
  +
  +VariableDeclarator
  +
  +     : DeclaratorName
  +
  +     | DeclaratorName EQ VariableInitializer
  +
  +     ;
  +
  +
  +
  +VariableInitializer
  +
  +     : Expression
  +
  +     | COPEN CCLOSE
  +
  +  | COPEN ArrayInitializers CCLOSE
  +
  +  ;
  +
  +
  +
  +ArrayInitializers
  +
  +     : VariableInitializer
  +
  +     | ArrayInitializers COMMA VariableInitializer
  +
  +     | ArrayInitializers COMMA
  +
  +     ;
  +
  +
  +
  +MethodDeclaration
  +
  +     : Modifiers TypeSpecifier MethodDeclarator Throws MethodBody
  +
  +     | Modifiers TypeSpecifier MethodDeclarator        MethodBody
  +
  +     |           TypeSpecifier MethodDeclarator Throws MethodBody
  +
  +     |           TypeSpecifier MethodDeclarator        MethodBody
  +
  +     ;
  +
  +
  +
  +MethodDeclarator
  +
  +     : DeclaratorName DOPEN ParameterList DCLOSE
  +
  +     | DeclaratorName DOPEN DCLOSE
  +
  +     | MethodDeclarator OP_DIM
  +
  +     ;
  +
  +
  +
  +ParameterList
  +
  +     : Parameter
  +
  +     | ParameterList COMMA Parameter
  +
  +     ;
  +
  +
  +
  +Parameter
  +
  +     : TypeSpecifier DeclaratorName
  +
  +  | FINAL TypeSpecifier DeclaratorName
  +
  +     ;
  +
  +
  +
  +DeclaratorName
  +
  +     : IDENTIFIER
  +
  +  | DeclaratorName OP_DIM
  +
  +  ;
  +
  +
  +
  +Throws
  +
  +     : THROWS ClassNameList
  +
  +     ;
  +
  +
  +
  +MethodBody
  +
  +     : Block
  +
  +     | SEMICOLON
  +
  +     ;
  +
  +
  +
  +ConstructorDeclaration
  +
  +     : Modifiers ConstructorDeclarator Throws Block
  +
  +     | Modifiers ConstructorDeclarator        Block
  +
  +     |           ConstructorDeclarator Throws Block
  +
  +     |           ConstructorDeclarator        Block
  +
  +     ;
  +
  +
  +
  +ConstructorDeclarator
  +
  +     : IDENTIFIER DOPEN ParameterList DCLOSE
  +
  +     | IDENTIFIER DOPEN DCLOSE
  +
  +     ;
  +
  +
  +
  +StaticInitializer
  +
  +     : STATIC Block
  +
  +     ;
  +
  +
  +
  +NonStaticInitializer
  +
  +  : Block
  +
  +  ;
  +
  +
  +
  +Extends
  +
  +     : EXTENDS TypeName
  +
  +     | Extends COMMA TypeName
  +
  +     ;
  +
  +
  +
  +Block
  +
  +     : COPEN LocalVariableDeclarationsAndStatements CCLOSE
  +
  +     | COPEN CCLOSE
  +
  +  ;
  +
  +
  +
  +LocalVariableDeclarationsAndStatements
  +
  +     : LocalVariableDeclarationOrStatement %append
  +
  +     | LocalVariableDeclarationsAndStatements 
LocalVariableDeclarationOrStatement %append
  +
  +     ;
  +
  +
  +
  +LocalVariableDeclarationOrStatement
  +
  +     : LocalVariableDeclarationStatement
  +
  +     | Statement
  +
  +     ;
  +
  +
  +
  +LocalVariableDeclarationStatement
  +
  +     : TypeSpecifier VariableDeclarators SEMICOLON
  +
  +  | FINAL TypeSpecifier VariableDeclarators SEMICOLON
  +
  +     ;
  +
  +
  +
  +Statement
  +
  +     : EmptyStatement
  +
  +     | LabelStatement
  +
  +     | ExpressionStatement SEMICOLON
  +
  +  | SelectionStatement
  +
  +  | IterationStatement
  +
  +     | JumpStatement
  +
  +     | GuardingStatement
  +
  +     | Block
  +
  +     ;
  +
  +
  +
  +EmptyStatement
  +
  +     : SEMICOLON
  +
  +  ;
  +
  +
  +
  +LabelStatement
  +
  +     : IDENTIFIER COLON
  +
  +  | CASE ConstantExpression COLON
  +
  +     | DEFAULT COLON
  +
  +  ;
  +
  +
  +
  +ExpressionStatement
  +
  +     : Expression
  +
  +     ;
  +
  +
  +
  +SelectionStatement
  +
  +     : IF DOPEN Expression DCLOSE Statement %prec ELSE
  +
  +  | IF DOPEN Expression DCLOSE Statement ELSE Statement %prec ELSE
  +
  +  | SWITCH DOPEN Expression DCLOSE Block
  +
  +  ;
  +
  +
  +
  +IterationStatement
  +
  +     : WHILE DOPEN Expression DCLOSE Statement
  +
  +     | DO Statement WHILE DOPEN Expression DCLOSE SEMICOLON
  +
  +     | FOR DOPEN ForInit ForExpr ForIncr DCLOSE Statement
  +
  +     | FOR DOPEN ForInit ForExpr         DCLOSE Statement
  +
  +     ;
  +
  +
  +
  +ForInit
  +
  +     : ExpressionStatements SEMICOLON
  +
  +     | LocalVariableDeclarationStatement
  +
  +     | SEMICOLON
  +
  +     ;
  +
  +
  +
  +ForExpr
  +
  +     : Expression SEMICOLON
  +
  +     | SEMICOLON
  +
  +     ;
  +
  +
  +
  +ForIncr
  +
  +     : ExpressionStatements
  +
  +     ;
  +
  +
  +
  +ExpressionStatements
  +
  +     : ExpressionStatement %resolve
  +
  +     | ExpressionStatements COMMA ExpressionStatement
  +
  +     ;
  +
  +
  +
  +JumpStatement
  +
  +     : BREAK IDENTIFIER SEMICOLON
  +
  +     | BREAK            SEMICOLON
  +
  +  | CONTINUE IDENTIFIER SEMICOLON
  +
  +     | CONTINUE            SEMICOLON
  +
  +     | RETURN Expression SEMICOLON
  +
  +     | RETURN            SEMICOLON
  +
  +     | THROW Expression SEMICOLON
  +
  +     ;
  +
  +
  +
  +GuardingStatement
  +
  +     : SYNCHRONIZED DOPEN Expression DCLOSE Statement
  +
  +     | TRY Block Finally
  +
  +     | TRY Block Catches
  +
  +     | TRY Block Catches Finally
  +
  +     ;
  +
  +
  +
  +Catches
  +
  +     : Catch
  +
  +     | Catches Catch
  +
  +     ;
  +
  +
  +
  +Catch
  +
  +     : CatchHeader Block
  +
  +     ;
  +
  +
  +
  +CatchHeader
  +
  +     : CATCH DOPEN TypeSpecifier IDENTIFIER DCLOSE
  +
  +     | CATCH DOPEN TypeSpecifier DCLOSE
  +
  +     ;
  +
  +
  +
  +Finally
  +
  +     : FINALLY Block
  +
  +     ;
  +
  +
  +
  +PrimaryExpression
  +
  +     : QualifiedName %resolve
  +
  +     | NotJustName %resolve
  +
  +     ;
  +
  +
  +
  +NotJustName
  +
  +     : SpecialName %resolve
  +
  +     | NewAllocationExpression %resolve
  +
  +     | ComplexPrimary %resolve
  +
  +     ;
  +
  +
  +
  +ComplexPrimary
  +
  +     : DOPEN Expression DCLOSE
  +
  +     | ComplexPrimaryNoParenthesis %resolve
  +
  +     ;
  +
  +
  +
  +ComplexPrimaryNoParenthesis
  +
  +     : LITERAL
  +
  +     | BOOLLIT
  +
  +     | ArrayAccess
  +
  +     | FieldAccess
  +
  +     | MethodCall
  +
  +     ;
  +
  +
  +
  +ArrayAccess
  +
  +     : QualifiedName  BOPEN Expression BCLOSE
  +
  +     | ComplexPrimary BOPEN Expression BCLOSE
  +
  +     ;
  +
  +
  +
  +FieldAccess
  +
  +     : NotJustName DOT IDENTIFIER
  +
  +     | RealPostfixExpression DOT IDENTIFIER
  +
  +  | QualifiedName DOT THIS
  +
  +  | QualifiedName DOT CLASS
  +
  +  | PrimitiveType DOT CLASS
  +
  +     ;
  +
  +
  +
  +MethodCall
  +
  +     : MethodAccess DOPEN ArgumentList DCLOSE
  +
  +     | MethodAccess DOPEN DCLOSE
  +
  +     ;
  +
  +
  +
  +MethodAccess
  +
  +     : ComplexPrimaryNoParenthesis
  +
  +     | SpecialName
  +
  +     | QualifiedName
  +
  +     ;
  +
  +
  +
  +SpecialName
  +
  +     : THIS
  +
  +     | SUPER
  +
  +     | NULL
  +
  +     ;
  +
  +
  +
  +ArgumentList
  +
  +     : Expression
  +
  +     | ArgumentList COMMA Expression
  +
  +     ;
  +
  +
  +
  +NewAllocationExpression
  +
  +  : PlainNewAllocationExpression
  +
  +  | QualifiedName DOT PlainNewAllocationExpression
  +
  +  ;
  +
  +
  +
  +PlainNewAllocationExpression
  +
  +     : ArrayAllocationExpression
  +
  +     | ClassAllocationExpression
  +
  +     | ArrayAllocationExpression COPEN CCLOSE
  +
  +     | ClassAllocationExpression COPEN CCLOSE
  +
  +     | ArrayAllocationExpression COPEN ArrayInitializers CCLOSE
  +
  +     | ClassAllocationExpression COPEN FieldDeclarations CCLOSE
  +
  +     ;
  +
  +
  +
  +ClassAllocationExpression
  +
  +     : NEW TypeName DOPEN ArgumentList DCLOSE
  +
  +     | NEW TypeName DOPEN              DCLOSE
  +
  +  ;
  +
  +
  +
  +ArrayAllocationExpression
  +
  +     : NEW TypeName DimExprs Dims
  +
  +     | NEW TypeName DimExprs
  +
  +  | NEW TypeName Dims
  +
  +     ;
  +
  +
  +
  +DimExprs
  +
  +     : DimExpr
  +
  +     | DimExprs DimExpr
  +
  +     ;
  +
  +
  +
  +DimExpr
  +
  +     : BOPEN Expression BCLOSE
  +
  +     ;
  +
  +
  +
  +Dims
  +
  +     : OP_DIM
  +
  +     | Dims OP_DIM
  +
  +     ;
  +
  +
  +
  +PostfixExpression
  +
  +     : PrimaryExpression %resolve
  +
  +     | RealPostfixExpression %resolve
  +
  +     ;
  +
  +
  +
  +RealPostfixExpression
  +
  +     : PostfixExpression OP_INC
  +
  +     | PostfixExpression OP_DEC
  +
  +     ;
  +
  +
  +
  +UnaryExpression
  +
  +     : OP_INC UnaryExpression
  +
  +     | OP_DEC UnaryExpression
  +
  +     | ArithmeticUnaryOperator CastExpression
  +
  +     | LogicalUnaryExpression %resolve
  +
  +     ;
  +
  +
  +
  +LogicalUnaryExpression
  +
  +     : PostfixExpression %resolve
  +
  +     | LogicalUnaryOperator UnaryExpression
  +
  +     ;
  +
  +
  +
  +LogicalUnaryOperator
  +
  +     : TILDE
  +
  +     | NOT
  +
  +     ;
  +
  +
  +
  +ArithmeticUnaryOperator
  +
  +     : PLUS
  +
  +     | MINUS
  +
  +     ;
  +
  +
  +
  +CastExpression
  +
  +     : UnaryExpression %resolve
  +
  +     | DOPEN PrimitiveTypeExpression DCLOSE CastExpression
  +
  +     | DOPEN ClassTypeExpression DCLOSE CastExpression
  +
  +     | DOPEN Expression DCLOSE LogicalUnaryExpression
  +
  +     ;
  +
  +
  +
  +PrimitiveTypeExpression
  +
  +     : PrimitiveType 
  +
  +  | PrimitiveType Dims
  +
  +  ;
  +
  +
  +
  +ClassTypeExpression
  +
  +     : QualifiedName Dims
  +
  +  ;
  +
  +
  +
  +MultiplicativeExpression
  +
  +     : CastExpression %resolve
  +
  +     | MultiplicativeExpression MULT CastExpression
  +
  +     | MultiplicativeExpression DIV CastExpression
  +
  +     | MultiplicativeExpression MOD CastExpression
  +
  +     ;
  +
  +
  +
  +AdditiveExpression
  +
  +     : MultiplicativeExpression %resolve
  +
  +  | AdditiveExpression PLUS MultiplicativeExpression
  +
  +     | AdditiveExpression MINUS MultiplicativeExpression
  +
  +  ;
  +
  +
  +
  +ShiftExpression 
  +
  +     : AdditiveExpression %resolve
  +
  +  | ShiftExpression OP_SHL AdditiveExpression
  +
  +  | ShiftExpression OP_SHR AdditiveExpression
  +
  +  | ShiftExpression OP_SHRR AdditiveExpression
  +
  +     ;
  +
  +
  +
  +RelationalExpression
  +
  +     : ShiftExpression %resolve
  +
  +  | RelationalExpression LT ShiftExpression
  +
  +     | RelationalExpression GT ShiftExpression
  +
  +     | RelationalExpression OP_LE ShiftExpression
  +
  +     | RelationalExpression OP_GE ShiftExpression
  +
  +     | RelationalExpression INSTANCEOF TypeSpecifier
  +
  +     ;
  +
  +
  +
  +EqualityExpression
  +
  +     : RelationalExpression %resolve
  +
  +  | EqualityExpression OP_EQ RelationalExpression
  +
  +  | EqualityExpression OP_NE RelationalExpression
  +
  +  ;
  +
  +
  +
  +AndExpression
  +
  +     : EqualityExpression %resolve
  +
  +  | AndExpression AND EqualityExpression
  +
  +  ;
  +
  +
  +
  +ExclusiveOrExpression
  +
  +     : AndExpression %resolve
  +
  +     | ExclusiveOrExpression XOR AndExpression
  +
  +     ;
  +
  +
  +
  +InclusiveOrExpression
  +
  +     : ExclusiveOrExpression %resolve
  +
  +     | InclusiveOrExpression OR ExclusiveOrExpression
  +
  +     ;
  +
  +
  +
  +ConditionalAndExpression
  +
  +     : InclusiveOrExpression %resolve
  +
  +     | ConditionalAndExpression OP_LAND InclusiveOrExpression
  +
  +     ;
  +
  +
  +
  +ConditionalOrExpression
  +
  +     : ConditionalAndExpression %resolve
  +
  +     | ConditionalOrExpression OP_LOR ConditionalAndExpression
  +
  +     ;
  +
  +
  +
  +ConditionalExpression
  +
  +     : ConditionalOrExpression %resolve
  +
  +     | ConditionalOrExpression QM Expression COLON ConditionalExpression
  +
  +     ;
  +
  +
  +
  +AssignmentExpression
  +
  +     : ConditionalExpression %resolve
  +
  +     | UnaryExpression AssignmentOperator AssignmentExpression
  +
  +     ;
  +
  +
  +
  +AssignmentOperator
  +
  +     : EQ
  +
  +     | ASS_OP
  +
  +     ;
  +
  +
  +
  +Expression
  +
  +     : AssignmentExpression
  +
  +  ;
  +
  +
  +
  +ConstantExpression
  +
  +     : ConditionalExpression
  +
  +     ;
  +
  +
  +
  +
  +
  
  
  
  1.4       +3 -3      
xml-cocoon2/src/webapp/samples/common/style/xsl/html/simple-samples2html.xsl
  
  Index: simple-samples2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/samples/common/style/xsl/html/simple-samples2html.xsl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- simple-samples2html.xsl   4 Jun 2002 23:38:15 -0000       1.3
  +++ simple-samples2html.xsl   21 Sep 2002 22:57:19 -0000      1.4
  @@ -6,7 +6,7 @@
    <xsl:template match="/">
     <html>
      <head>
  -    <title>Apache Cocoon @version@</title>
  +    <title>Apache Cocoon 2.1-dev</title>
       <link rel="SHORTCUT ICON" href="favicon.ico"/>
      </head>
      <body bgcolor="#ffffff" link="#0086b2" vlink="#00698c" alink="#743e75">
  @@ -14,7 +14,7 @@
        <tr>
         <td width="*"><font face="arial,helvetica,sanserif" 
color="#000000">The Apache Software Foundation is proud to 
present...</font></td>
         <td width="40%" align="center"><img border="0" 
src="images/cocoon.gif"/></td>
  -      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version @version@</b></font></td>
  +      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version 2.1-dev</b></font></td>
        </tr>
        <tr>
          <table bgcolor="#000000" border="0" cellspacing="2" cellpadding="2" 
align="center" width="100%">
  @@ -32,7 +32,7 @@
   
       <p align="center">
        <font size="-1">
  -      Copyright &#169; @year@ <a href="http://www.apache.org/";>The Apache 
Software Foundation</a>.<br/>
  +      Copyright &#169; 1999-2002 <a href="http://www.apache.org/";>The Apache 
Software Foundation</a>.<br/>
         All rights reserved.
        </font>
       </p>
  
  
  
  1.2       +5 -5      
xml-cocoon2/src/webapp/samples/hello-world/style/xsl/simple-page2swf.xsl
  
  Index: simple-page2swf.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/samples/hello-world/style/xsl/simple-page2swf.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- simple-page2swf.xsl       23 Jul 2002 19:38:00 -0000      1.1
  +++ simple-page2swf.xsl       21 Sep 2002 22:57:19 -0000      1.2
  @@ -431,7 +431,7 @@
               
<ShapeRaw>EDVoWs5mw86yAJqwAxyiW8YyrJci72p4FV2+SHwVjp/U1gV3AoW3yQ+C1phVyUDCY6I0MAmXQA1z
                   
9lnmwR21AJ48ANhRJeFrrK2LPaHXuo11/qWkGzYvtode6jqcP11B7mZQ1GEAmXQBAKNvYugA 
</ShapeRaw>
           </Glyph>
  -        <Glyph char="�" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
  +        <Glyph char="?" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
               <ShapeRaw>EDUpD4eB4OW0HBEHKmAFagLAcqgOCAOWwHIgAAA= </ShapeRaw>
           </Glyph>
           <Glyph char="�" advance="228" xmin="54" ymin="-104" xmax="159" 
ymax="136">
  @@ -484,17 +484,17 @@
               
<ShapeRaw>EDVoxpH4Gf2VfgrvdcHAlmyrcFqbr64FV2VbglHZlp94d74AJ7SANnjJ95mQBX5wBXyPk5yPlE0A
                   
J0IACIb9mdBWQaw02gQc6HN0IQA2zgBMDojzHKQoAEyiAHNzOOdwAK5OALPx9zNjXNgASzgFBCAA  
</ShapeRaw>
           </Glyph>
  -        <Glyph char="�" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
  +        <Glyph char="?" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
               <ShapeRaw>EDUpD4eB4OW0HBEHKmAFagLAcqgOCAOWwHIgAAA= </ShapeRaw>
           </Glyph>
           <Glyph char="�" advance="626" xmin="21" ymin="-915" xmax="600" 
ymax="0">
   
               
<ShapeRaw>EDVpMr1544RhwOpsq3Jb3ZpuK7xXtTKngmfZqeRBuyrgrJ9MLab1ewzb8ejNig35S6bDPtOVVAA=
 </ShapeRaw>
           </Glyph>
  -        <Glyph char="�" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
  +        <Glyph char="?" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
               <ShapeRaw>EDUpD4eB4OW0HBEHKmAFagLAcqgOCAOWwHIgAAA= </ShapeRaw>
           </Glyph>
  -        <Glyph char="�" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
  +        <Glyph char="?" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
               <ShapeRaw>EDUpD4eB4OW0HBEHKmAFagLAcqgOCAOWwHIgAAA= </ShapeRaw>
           </Glyph>
           <Glyph char="�" advance="228" xmin="64" ymin="-745" xmax="169" 
ymax="-505">
  @@ -549,7 +549,7 @@
                   
ZltmNrCXawAOpgBdIzCYuP0oAmQAAuy5i7LAJ2YAndPNm08y+AAVoc2LwJNN9Wmxsy2LMUBLEAV1
                   M2sU/SQA </ShapeRaw>
           </Glyph>
  -        <Glyph char="�" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
  +        <Glyph char="?" advance="768" xmin="128" ymin="-640" xmax="640" 
ymax="0">
               <ShapeRaw>EDUpD4eB4OW0HBEHKmAFagLAcqgOCAOWwHIgAAA= </ShapeRaw>
           </Glyph>
           <Glyph char="�" advance="512" xmin="20" ymin="-737" xmax="490" 
ymax="0">
  
  
  
  1.2       +1 -1      xml-cocoon2/src/webapp/samples/linkstatus/linkstatus.xsl
  
  Index: linkstatus.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/linkstatus/linkstatus.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- linkstatus.xsl    14 Jun 2002 16:19:13 -0000      1.1
  +++ linkstatus.xsl    21 Sep 2002 22:57:19 -0000      1.2
  @@ -31,4 +31,4 @@
       </tr>
     </xsl:template>
   
  -</xsl:stylesheet>
  \ No newline at end of file
  +</xsl:stylesheet>
  
  
  
  1.2       +1 -1      xml-cocoon2/src/webapp/samples/mod-db/database.xml
  
  Index: database.xml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/mod-db/database.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- database.xml      24 Jun 2002 10:44:32 -0000      1.1
  +++ database.xml      21 Sep 2002 22:57:19 -0000      1.2
  @@ -125,4 +125,4 @@
         <table name="user_groups" others-mode="request"/>
      </table-set>
   
  -</root>
  \ No newline at end of file
  +</root>
  
  
  
  1.2       +1 -1      xml-cocoon2/src/webapp/samples/mod-db/schema.sql
  
  Index: schema.sql
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/mod-db/schema.sql,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- schema.sql        24 Jun 2002 10:44:32 -0000      1.1
  +++ schema.sql        21 Sep 2002 22:57:19 -0000      1.2
  @@ -24,4 +24,4 @@
        primary key (uid,gid),
        foreign key (uid) references user(uid),
        foreign key (gid) references groups(gid)
  -);
  \ No newline at end of file
  +);
  
  
  
  1.2       +3 -3      xml-cocoon2/src/webapp/samples/profiler/page2html.xsl
  
  Index: page2html.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/profiler/page2html.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- page2html.xsl     3 Sep 2002 10:07:31 -0000       1.1
  +++ page2html.xsl     21 Sep 2002 22:57:19 -0000      1.2
  @@ -7,7 +7,7 @@
    <xsl:template match="/">
     <html>
      <head>
  -    <title>Apache Cocoon @version@</title>
  +    <title>Apache Cocoon 2.1-dev</title>
       <link rel="SHORTCUT ICON" href="favicon.ico"/>
   
       <xsl:apply-templates select="page/style"/>
  @@ -20,7 +20,7 @@
   present...</font></td>
         <td width="40%" align="center"><img border="0" 
src="/cocoon/samples/images/cocoon.gif"/></td>
         <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version
  [EMAIL PROTECTED]@</b></font></td>
  +2.1-dev</b></font></td>
        </tr>
        <tr>
         <table bgcolor="#000000" border="0" cellspacing="2" cellpadding="2" 
align="center" width="100%">
  @@ -40,7 +40,7 @@
      
       <p align="center">
        <font size="-1">
  -      Copyright &#169; @year@ <a href="http://www.apache.org/";>The Apache 
Software Foundation</a>.<br/>
  +      Copyright &#169; 1999-2002 <a href="http://www.apache.org/";>The Apache 
Software Foundation</a>.<br/>
         All rights reserved.
        </font>
       </p>
  
  
  
  1.3       +3 -3      
xml-cocoon2/src/webapp/samples/stylesheets/simple-samples2html.xsl
  
  Index: simple-samples2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/samples/stylesheets/simple-samples2html.xsl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- simple-samples2html.xsl   21 Aug 2002 07:29:27 -0000      1.2
  +++ simple-samples2html.xsl   21 Sep 2002 22:57:19 -0000      1.3
  @@ -6,7 +6,7 @@
    <xsl:template match="/">
     <html>
      <head>
  -    <title>Apache Cocoon @version@</title>
  +    <title>Apache Cocoon 2.1-dev</title>
       <link rel="SHORTCUT ICON" href="favicon.ico"/>
      </head>
      <body bgcolor="#ffffff" link="#0086b2" vlink="#00698c" alink="#743e75">
  @@ -17,7 +17,7 @@
        <tr>
         <td width="30%"></td>
         <td width="40%" align="center"><img border="0" 
src="/cocoon/samples/images/cocoon.gif"/></td>
  -      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version @version@</b></font></td>
  +      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version 2.1-dev</b></font></td>
        </tr>
       </table>
   
  @@ -25,7 +25,7 @@
   
       <p align="center">
        <font size="-1">
  -      Copyright &#169; @year@ <a href="http://www.apache.org";>The Apache 
Software Foundation</a>.<br/>
  +      Copyright &#169; 1999-2002 <a href="http://www.apache.org";>The Apache 
Software Foundation</a>.<br/>
         All rights reserved.
        </font>
       </p>
  
  
  
  1.2       +3 -3      
xml-cocoon2/src/webapp/samples/stylesheets/svg-samples2html.xsl
  
  Index: svg-samples2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/samples/stylesheets/svg-samples2html.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- svg-samples2html.xsl      2 Jul 2002 13:06:40 -0000       1.1
  +++ svg-samples2html.xsl      21 Sep 2002 22:57:19 -0000      1.2
  @@ -5,7 +5,7 @@
    <xsl:template match="/">
     <html>
      <head>
  -    <title>Apache Cocoon @version@</title>
  +    <title>Apache Cocoon 2.1-dev</title>
      </head>
      <body bgcolor="#ffffff" link="#0086b2" vlink="#00698c" alink="#743e75">
       <table border="0" cellspacing="2" cellpadding="2" align="center" 
width="100%">
  @@ -15,7 +15,7 @@
        <tr>
         <td width="30%"></td>
         <td width="40%" align="center"><img border="0" 
src="images/cocoon.gif"/></td>
  -      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version @version@</b></font></td>
  +      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version 2.1-dev</b></font></td>
        </tr>
       </table>
   
  @@ -23,7 +23,7 @@
   
       <p align="center">
        <font size="-1">
  -      Copyright &#169; @year@ <a href="http://www.apache.org";>The Apache 
Software Foundation</a>.<br/>
  +      Copyright &#169; 1999-2002 <a href="http://www.apache.org";>The Apache 
Software Foundation</a>.<br/>
         All rights reserved.
        </font>
       </p>
  
  
  
  1.2       +4 -4      
xml-cocoon2/src/webapp/samples/sub/stylesheets/simple-samples2html.xsl
  
  Index: simple-samples2html.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/samples/sub/stylesheets/simple-samples2html.xsl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- simple-samples2html.xsl   1 Jul 2002 15:11:08 -0000       1.1
  +++ simple-samples2html.xsl   21 Sep 2002 22:57:19 -0000      1.2
  @@ -9,7 +9,7 @@
    <xsl:template match="/">
     <html>
      <head>
  -    <title>Apache Cocoon @version@</title>
  +    <title>Apache Cocoon 2.1-dev</title>
      </head>
      <body bgcolor="#ffffff" link="#0086b2" vlink="#00698c" alink="#743e75">
       <table border="0" cellspacing="2" cellpadding="2" align="center" 
width="100%">
  @@ -19,7 +19,7 @@
        <tr>
         <td width="30%"></td>
         <td width="40%" align="center"><img border="0" 
src="../images/cocoon.gif"/></td>
  -      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version @version@</b></font></td>
  +      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version 2.1-dev</b></font></td>
        </tr>
       </table>
   
  @@ -27,7 +27,7 @@
   
       <p align="center">
        <font size="-1">
  -      Copyright &#169; @year@ <a href="http://www.apache.org";>The Apache 
Software Foundation</a>.<br/>
  +      Copyright &#169; 1999-2002 <a href="http://www.apache.org";>The Apache 
Software Foundation</a>.<br/>
         All rights reserved.
        </font>
       </p>
  
  
  
  1.4       +8 -2      
xml-cocoon2/src/webapp/samples/webserviceproxy/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/webapp/samples/webserviceproxy/sitemap.xmap,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- sitemap.xmap      4 Jul 2002 21:19:06 -0000       1.3
  +++ sitemap.xmap      21 Sep 2002 22:57:19 -0000      1.4
  @@ -4,7 +4,7 @@
     <!-- =========================== Components 
================================ -->
     <map:components> 
       <map:generators default="file">
  -      <map:generator name="wsproxy" 
src="org.apache.cocoon.generation.WebServiceProxyGenerator" 
logger="webapp.wsproxy"/>
  +      <map:generator name="wsproxy" 
src="org.apache.cocoon.generation.WebServiceProxyGenerator" 
logger="sitemap.generator.wsproxy"/>
       </map:generators>
     </map:components>
   
  @@ -23,9 +23,15 @@
   
         <!-- Interactive Web Application Syndication  -->
         <map:match pattern="*">
  +
           <map:generate type="wsproxy" 
  -          
src="http://{header:host}/cocoon/samples/xmlform/wizard?cocoon-view=xml";
  +
  +          
src="http://localhost:8080/cocoon/samples/xmlform/wizard?cocoon-view=xml";
             label="xml"/>
  +          
  +        <!-- This line is temporarily hidden, due to problem with the 
InputModule -->
  +        <!-- 
src="http://{header:host}/cocoon/samples/xmlform/wizard?cocoon-view=xml"; -->
  +  
           <map:transform src="stylesheets/newWizard2html.xsl" />
           <map:transform 
src="context://samples/stylesheets/xmlform/xmlform2html.xsl"/>
           <map:serialize type="html"/>
  
  
  
  1.3       +2 -2      xml-cocoon2/src/webapp/samples/welcome/welcome.xhtml
  
  Index: welcome.xhtml
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/welcome/welcome.xhtml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- welcome.xhtml     13 Aug 2002 02:23:35 -0000      1.2
  +++ welcome.xhtml     21 Sep 2002 22:57:19 -0000      1.3
  @@ -7,7 +7,7 @@
      <head>
         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   
  -      <title>Apache Cocoon @version@</title>
  +      <title>Apache Cocoon 2.1-dev</title>
   
         <link href="favicon.ico" rel="SHORTCUT ICON" />
      </head>
  @@ -30,7 +30,7 @@
               <tr>
                  <td align="center" width="30%">
                     <font color="#000000" face="arial,helvetica,sanserif">
  -                     <b>version @version@</b>
  +                     <b>version 2.1-dev</b>
                     </font>
                  </td>
               </tr>
  
  
  
  1.9       +5 -5      xml-cocoon2/src/webapp/samples/xmlform/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/webapp/samples/xmlform/sitemap.xmap,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- sitemap.xmap      29 Jul 2002 03:03:16 -0000      1.8
  +++ sitemap.xmap      21 Sep 2002 22:57:19 -0000      1.9
  @@ -4,12 +4,12 @@
     <!-- =========================== Components 
================================ -->
     <map:components> 
       <map:actions>
  -      <map:action name="WizardAction" 
src="org.apache.cocoon.samples.xmlform.WizardAction"  logger="webapp.xmlform"/>
  -      <map:action name="UsageFeedbackAction" 
src="org.apache.cocoon.samples.xmlform.UsageFeedbackAction"  
logger="webapp.xmlform"/>
  +      <map:action name="WizardAction" 
src="org.apache.cocoon.samples.xmlform.WizardAction"  logger="xmlform"/>
  +      <map:action name="UsageFeedbackAction" 
src="org.apache.cocoon.samples.xmlform.UsageFeedbackAction"  logger="xmlform"/>
       </map:actions>
       <map:generators default="file"/>
       <map:transformers default="xslt">
  -      <map:transformer name="xmlform" 
src="org.apache.cocoon.transformation.XMLFormTransformer" 
logger="webapp.xmlform"/>
  +      <map:transformer name="xmlform" 
src="org.apache.cocoon.transformation.XMLFormTransformer" logger="xmlform"/>
       </map:transformers>
       <map:readers default="resource"/>
       <map:serializers default="html"/>
  @@ -74,9 +74,9 @@
             <!-- Content transformation logic -->
             <map:generate src="wizard/{page}.xml"/>
             <map:transform type="xmlform"  label="debug, xml"/>
  -          <map:transform src="stylesheets/wizard2html.xsl" />
  +          <map:transform src="stylesheets/wizard2html.xsl"/>
             <map:transform 
src="context://samples/stylesheets/xmlform/xmlform2html.xsl"/>
  -          <map:serialize type="xhtml"/>
  +          <map:serialize type="html"/>
           </map:act>
         </map:match>  
       </map:pipeline>
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to