You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by mm...@apache.org on 2001/10/19 22:43:00 UTC

cvs commit: xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/java request.xsl session.xsl

mman        01/10/19 13:43:00

  Modified:    src/org/apache/cocoon/components/language/markup/xsp Tag:
                        cocoon_20_branch XSPRequestHelper.java
               src/org/apache/cocoon/components/language/markup/xsp/java
                        Tag: cocoon_20_branch request.xsl session.xsl
  Log:
  Various cosmetic and typo fixes in request and session logichseets,
  should be consistent now...
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.5.2.7   +518 -388  xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/XSPRequestHelper.java
  
  Index: XSPRequestHelper.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/XSPRequestHelper.java,v
  retrieving revision 1.5.2.6
  retrieving revision 1.5.2.7
  diff -u -r1.5.2.6 -r1.5.2.7
  --- XSPRequestHelper.java	2001/10/11 08:56:07	1.5.2.6
  +++ XSPRequestHelper.java	2001/10/19 20:42:59	1.5.2.7
  @@ -23,7 +23,7 @@
    * The <code>Request</code> object helper
    *
    * @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
  - * @version CVS $Revision: 1.5.2.6 $ $Date: 2001/10/11 08:56:07 $
  + * @version CVS $Revision: 1.5.2.7 $ $Date: 2001/10/19 20:42:59 $
    */
   public class XSPRequestHelper {
     /**
  @@ -40,14 +40,14 @@
      * @exception SAXException If a SAX error occurs
      */
     public static void getRequestURI(
  -    Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "request-uri", request.getRequestURI());
  -  }
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "request-uri", request.getRequestURI());
  +    }
   
     /**
      * Output the uri associated with the given objectModel
  @@ -55,8 +55,8 @@
      * @param objectModel The Map objectModel
      */
     public static String getURI(
  -    Map objectModel
  -  )
  +      Map objectModel
  +      )
     {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getRequestURI();
  @@ -68,13 +68,14 @@
      * @param objectModel The Map objectModel
      */
     public static void getURI(
  -    Map objectModel,
  -    ContentHandler handler
  -  )
  -      throws SAXException
  -  {
  -    XSPObjectHelper.elementData(URI, PREFIX, handler, "uri", getURI(objectModel));
  -  }
  +      Map objectModel,
  +      ContentHandler handler
  +      )
  +    throws SAXException
  +    {
  +      XSPObjectHelper.elementData(URI, PREFIX, handler, "uri", 
  +          getURI(objectModel));
  +    }
   
     /**
      * Outputs the sitemap uri associated with the given objectModel
  @@ -92,8 +93,26 @@
      * @param objectModel the Map objectModel
      */
     public static void getSitemapURI(Map objectModel, ContentHandler handler)
  -      throws SAXException {
  -    XSPObjectHelper.elementData(URI, PREFIX, handler, "sitemap-uri", getSitemapURI(objectModel));
  +    throws SAXException {
  +      XSPObjectHelper.elementData(URI, PREFIX, handler, "sitemap-uri", 
  +          getSitemapURI(objectModel));
  +    }
  +
  +  /**
  +   * Return the given request parameter value or a user-provided default if
  +   * none was specified.
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param name The parameter name
  +   * @param defaultValue Value to substitute in absence of a parameter value
  +   */
  +
  +  public static String getParameter(
  +      Map objectModel,
  +      String name,
  +      String defaultValue
  +      ) {
  +    return getParameter(objectModel, name, defaultValue, null, null);
     }
   
     /**
  @@ -103,14 +122,29 @@
      * @param objectModel The Map objectModel
      * @param name The parameter name
      * @param defaultValue Value to substitute in absence of a parameter value
  +   * @param form_encoding The supposed encoding of the request parameter.
  +   * @param container_encoding The encoding used by container.
      */
     public static String getParameter(
  -    Map objectModel,
  -    String name,
  -    String defaultValue
  -  ) {
  +      Map objectModel,
  +      String name,
  +      String defaultValue,
  +      String form_encoding,
  +      String container_encoding
  +      ) {
  +    if(container_encoding == null) 
  +      container_encoding = "ISO-8859-1"; // default per Servlet spec
  +
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       String value = request.getParameter(name);
  +    if(form_encoding != null && value != null && value.length() > 0) {
  +      try {
  +        value = new String(value.getBytes(container_encoding), form_encoding);
  +      } catch(java.io.UnsupportedEncodingException uee) {
  +        throw new RuntimeException("Unsupported Encoding Exception: " +
  +            uee.getMessage());
  +      }
  +    }
   
       if (value == null) {
         value = defaultValue;
  @@ -130,25 +164,61 @@
      * @exception SAXException If a SAX error occurs
      */
     public static void getParameter(
  -    Map objectModel,
  -    ContentHandler contentHandler,
  -    String name,
  -    String defaultValue
  -  )
  -    throws SAXException
  -  {
  -    AttributesImpl attr = new AttributesImpl();
  -    XSPObjectHelper.addAttribute(attr, "name", name);
  -
  -    XSPObjectHelper.elementData(
  -      URI,
  -      PREFIX,
  -      contentHandler,
  -      "parameter",
  -      getParameter(objectModel, name, defaultValue),
  -      attr
  -    );
  -  }
  +      Map objectModel,
  +      ContentHandler contentHandler,
  +      String name,
  +      String defaultValue
  +      )
  +    throws SAXException
  +    {
  +      AttributesImpl attr = new AttributesImpl();
  +      XSPObjectHelper.addAttribute(attr, "name", name);
  +
  +      XSPObjectHelper.elementData(
  +          URI,
  +          PREFIX,
  +          contentHandler,
  +          "parameter",
  +          getParameter(objectModel, name, defaultValue, null, null),
  +          attr
  +          );
  +    }
  +
  +  /**
  +   * Output the given request parameter value or a user-provided default if
  +   * none was specified.
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @param name The parameter name
  +   * @param defaultValue Value to substitute in absence of a parameter value
  +   * @param form_encoding The supposed encoding of the request parameter.
  +   * @param container_encoding The encoding used by container.
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getParameter(
  +      Map objectModel,
  +      ContentHandler contentHandler,
  +      String name,
  +      String defaultValue,
  +      String form_encoding,
  +      String container_encoding
  +      )
  +    throws SAXException
  +    {
  +      AttributesImpl attr = new AttributesImpl();
  +      XSPObjectHelper.addAttribute(attr, "name", name);
  +
  +      XSPObjectHelper.elementData(
  +          URI,
  +          PREFIX,
  +          contentHandler,
  +          "parameter",
  +          getParameter(objectModel, name, defaultValue, 
  +            form_encoding, container_encoding),
  +          attr
  +          );
  +    }
   
     /**
      * Output the request parameter values for a given name
  @@ -158,29 +228,78 @@
      * @exception SAXException If a SAX error occurs
      */
     public static void getParameterValues(
  -    Map objectModel,
  -    ContentHandler contentHandler,
  -    String name
  -  )
  +      Map objectModel,
  +      ContentHandler contentHandler,
  +      String name
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    AttributesImpl attr = new AttributesImpl();
  -    XSPObjectHelper.addAttribute(attr, "name", name);
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      AttributesImpl attr = new AttributesImpl();
  +      XSPObjectHelper.addAttribute(attr, "name", name);
   
  -    XSPObjectHelper.start(URI, PREFIX, contentHandler, "parameter-values", attr);
  +      XSPObjectHelper.start(URI, PREFIX, contentHandler, 
  +          "parameter-values", attr);
   
  -    String[] values = request.getParameterValues(name);
  +      String[] values = request.getParameterValues(name);
   
  -    if (values != null) {
  -      for (int i = 0; i < values.length; i++) {
  -        XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "value", values[i]);
  +      if (values != null) {
  +        for (int i = 0; i < values.length; i++) {
  +          XSPObjectHelper.elementData(URI, PREFIX, contentHandler, 
  +              "value", values[i]);
  +        }
         }
  +
  +      XSPObjectHelper.end(URI, PREFIX, contentHandler, "parameter-values");
       }
   
  -    XSPObjectHelper.end(URI, PREFIX, contentHandler, "parameter-values");
  -  }
  +  /**
  +   * Output the request parameter values for a given name
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @param form_encoding The supposed encoding of the request parameter.
  +   * @param container_encoding The encoding used by container.
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getParameterValues(
  +      Map objectModel,
  +      ContentHandler contentHandler,
  +      String name,
  +      String form_encoding,
  +      String container_encoding
  +      )
  +    throws SAXException
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      AttributesImpl attr = new AttributesImpl();
  +      XSPObjectHelper.addAttribute(attr, "name", name);
  +
  +      XSPObjectHelper.start(URI, PREFIX, contentHandler, 
  +          "parameter-values", attr);
  +
  +      String[] values = request.getParameterValues(name);
  +
  +      if (values != null) {
  +        for (int i = 0; i < values.length; i++) {
  +          if(form_encoding != null && values[i] != null && 
  +              values[i].length() > 0) {
  +            try {
  +              values[i] = new String(values[i].getBytes(container_encoding), 
  +                  form_encoding);
  +            } catch(java.io.UnsupportedEncodingException uee) {
  +              throw new RuntimeException("Unsupported Encoding Exception: " +
  +                  uee.getMessage());
  +            }
  +          }
  +          XSPObjectHelper.elementData(URI, PREFIX, contentHandler, 
  +              "value", values[i]);
  +        }
  +      }
   
  +      XSPObjectHelper.end(URI, PREFIX, contentHandler, "parameter-values");
  +    }
  +
     /**
      * Output parameter names for a given request
      *
  @@ -189,22 +308,22 @@
      * @exception SAXException If a SAX error occurs
      */
     public static void getParameterNames(
  -    Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.start(URI, PREFIX, contentHandler, "parameter-names");
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.start(URI, PREFIX, contentHandler, "parameter-names");
   
  -    Enumeration e = request.getParameterNames();
  -    while (e.hasMoreElements()) {
  -      String name = (String) e.nextElement();
  -      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "name", name);
  -    }
  +      Enumeration e = request.getParameterNames();
  +      while (e.hasMoreElements()) {
  +        String name = (String) e.nextElement();
  +        XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "name", name);
  +      }
   
  -    XSPObjectHelper.end(URI, PREFIX, contentHandler, "parameter-names");
  -  }
  +      XSPObjectHelper.end(URI, PREFIX, contentHandler, "parameter-names");
  +    }
   
     /**
      * Return the request header value for a given name
  @@ -213,9 +332,9 @@
      * @param name The parameter name
      */
     public static String getHeader(
  -    Map objectModel,
  -    String name
  -  ) {
  +      Map objectModel,
  +      String name
  +      ) {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getHeader(name);
     }
  @@ -229,29 +348,29 @@
      * @exception SAXException If a SAX error occurs
      */
     public static void getHeader(
  -    Map objectModel,
  -    ContentHandler contentHandler,
  -    String name
  -  )
  +      Map objectModel,
  +      ContentHandler contentHandler,
  +      String name
  +      )
       throws SAXException
  -  {
  -    AttributesImpl attr = new AttributesImpl();
  -    XSPObjectHelper.addAttribute(attr, "name", name);
  +    {
  +      AttributesImpl attr = new AttributesImpl();
  +      XSPObjectHelper.addAttribute(attr, "name", name);
   
  -    String value = getHeader(objectModel, name);
  -    if (value == null) {
  -      value = "";
  -    }
  +      String value = getHeader(objectModel, name);
  +      if (value == null) {
  +        value = "";
  +      }
   
  -    XSPObjectHelper.elementData(
  -      URI,
  -      PREFIX,
  -      contentHandler,
  -      "header",
  -      value,
  -      attr
  -    );
  -  }
  +      XSPObjectHelper.elementData(
  +          URI,
  +          PREFIX,
  +          contentHandler,
  +          "header",
  +          value,
  +          attr
  +          );
  +    }
   
     /**
      * Output the header names for a given request
  @@ -261,21 +380,41 @@
      * @exception SAXException If a SAX error occurs
      */
     public static void getHeaderNames(
  -    Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.start(URI, PREFIX, contentHandler, "header-names");
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.start(URI, PREFIX, contentHandler, "header-names");
   
  -    Enumeration e = request.getHeaderNames();
  -    while (e.hasMoreElements()) {
  -      String name = (String) e.nextElement();
  -      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "name", name);
  +      Enumeration e = request.getHeaderNames();
  +      while (e.hasMoreElements()) {
  +        String name = (String) e.nextElement();
  +        XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "name", name);
  +      }
  +
  +      XSPObjectHelper.end(URI, PREFIX, contentHandler, "header-names");
       }
  +
  +
   
  -    XSPObjectHelper.end(URI, PREFIX, contentHandler, "header-names");
  +  /**
  +   * Sets the given session attribute value
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param name The parameter name
  +   * @param content The parameter value
  +   */
  +  public static void setSessionAttribute(
  +      Map objectModel, 
  +      String name, 
  +      Object content
  +      ) 
  +  {
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    Session session = request.getSession(false);
  +    session.setAttribute(name, content);
     }
   
     /**
  @@ -284,32 +423,16 @@
      *
      * @param objectModel The Map objectModel
      * @param name The parameter name
  -   * @param defaultValue Value to substitute in absence of a parameter value
      */
     public static Object getSessionAttribute(
  -    Map objectModel,
  -    String name) {
  +      Map objectModel,
  +      String name) {
   
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       Session session = request.getSession(false);
       return session.getAttribute(name);
     }
   
  -
  -    /**
  -     * Sets the given session attribute value
  -     *
  -     * @param objectModel The Map objectModel
  -     * @param name The parameter name
  -     * @param content The parameter value
  -     */
  -    public static void setSessionAttribute(Map objectModel, String name, Object content) {
  -
  -        Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -        Session session = request.getSession(false);
  -        session.setAttribute(name, content);
  -    }
  -
     /**
      * Return the given session attribute value or a user-provided default if
      * none was specified.
  @@ -319,20 +442,21 @@
      * @param defaultValue Value to substitute in absence of a parameter value
      */
     public static Object getSessionAttribute(
  -    Map objectModel,
  -    String name,
  -    String defaultValue) {
  -
  +      Map objectModel,
  +      String name,
  +      Object defaultValue
  +      ) 
  +  {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       Session session = request.getSession(false);
       Object value = null;
   
       if (session != null) {
  -        value = session.getAttribute(name);
  +      value = session.getAttribute(name);
       }
   
       if (value == null) {
  -        value = defaultValue;
  +      value = defaultValue;
       }
   
       return value;
  @@ -345,9 +469,10 @@
      * @param name The parameter name
      */
     public static void removeAttribute(
  -    Map objectModel,
  -    String name) {
  -
  +      Map objectModel,
  +      String name
  +      ) 
  +  {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       request.removeAttribute(name);
     }
  @@ -359,14 +484,14 @@
      * @param name The parameter name
      */
     public static Object getAttribute(
  -    Map objectModel,
  -    String name) {
  +      Map objectModel,
  +      String name) {
   
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getAttribute(name);
     }
   
  -	/**
  +  /**
      * Output attribute names for a given request
      *
      * @param objectModel The Map objectModel
  @@ -374,23 +499,23 @@
      * @exception SAXException If a SAX error occurs
      */
     public static void getAttributeNames(
  -    Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.start(URI, PREFIX, contentHandler, "attribute-names");
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.start(URI, PREFIX, contentHandler, "attribute-names");
   
  -    Enumeration e = request.getAttributeNames();
  -    while (e.hasMoreElements()) {
  -      String name = (String) e.nextElement();
  -      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "name", name);
  +      Enumeration e = request.getAttributeNames();
  +      while (e.hasMoreElements()) {
  +        String name = (String) e.nextElement();
  +        XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "name", name);
  +      }
  +
  +      XSPObjectHelper.end(URI, PREFIX, contentHandler, "attribute-names");
       }
   
  -    XSPObjectHelper.end(URI, PREFIX, contentHandler, "attribute-names");
  -  }
  -	
     /**
      * Set the specified attribute
      *
  @@ -398,237 +523,210 @@
      * @param name The parameter name
      */
     public static void setAttribute(
  -    Map objectModel,
  -    String name,
  -    Object value) {
  +      Map objectModel,
  +      String name,
  +      Object value) {
   
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       request.setAttribute(name, value);
     }
   
  +
  +
     /**
  -   * Output the given session attribute value or a user-provided default if
  -   * none was specified.
  +   * Output the login of the user making the request
  +   * Could be null if user is not authenticated.
      *
      * @param objectModel The Map objectModel
  -   * @param contentHandler The SAX content handler
  -   * @param name The parameter name
  -   * @param defaultValue Value to substitute in absence of a parameter value
  -   * @exception SAXException If a SAX error occurs
      */
  -  public static void getSessionAttribute(
  -    Map objectModel,
  -    ContentHandler contentHandler,
  -    String name,
  -    String defaultValue
  -  )
  -    throws SAXException
  -  {
  -    AttributesImpl attr = new AttributesImpl();
  -    XSPObjectHelper.addAttribute(attr, "name", name);
  -
  -    XSPObjectHelper.elementData(
  -      URI,
  -      PREFIX,
  -      contentHandler,
  -      "attribute",
  -      (String) getSessionAttribute(objectModel, name, defaultValue),
  -      attr
  -    );
  -  }
  -
  -
  -
  -    /**
  -     * Output the login of the user making the request
  -     * Could be null if user is not authenticated.
  -     *
  -     * @param objectModel The Map objectModel
  -     */
  -    public static String getRemoteUser(
  -    Map objectModel
  -  )
  +  public static String getRemoteUser(
  +      Map objectModel
  +      )
     {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getRemoteUser();
     }
   
  -    /**
  -     * Output the login of the user making the request
  -     * Could be null if user is not authenticated.
  -     *
  -     * @param objectModel The Map objectModel
  -     * @param contentHandler The SAX content handler
  -     * @exception SAXException If a SAX error occurs
  -     */
  -    public static void getRemoteUser(
  -    Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +  /**
  +   * Output the login of the user making the request
  +   * Could be null if user is not authenticated.
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getRemoteUser(
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "remote-user", request.getRemoteUser());
  -  }
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, 
  +          "remote-user", request.getRemoteUser());
  +    }
   
   
  -    /**
  -     * Output the name of the HTTP method with which the request was made,
  -     *
  -     * @param objectModel The Map objectModel
  -     */
  -    public static String getMethod(
  -    Map objectModel
  -  )
  +  /**
  +   * Output the name of the HTTP method with which the request was made,
  +   *
  +   * @param objectModel The Map objectModel
  +   */
  +  public static String getMethod(
  +      Map objectModel
  +      )
     {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getMethod();
     }
   
  -    /**
  -     * Output the name of the HTTP method with which the request was made,
  -     *
  -     * @param objectModel The Map objectModel
  -     * @param contentHandler The SAX content handler
  -     * @exception SAXException If a SAX error occurs
  -     */
  -    public static void getMethod(
  -    Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +  /**
  +   * Output the name of the HTTP method with which the request was made,
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getMethod(
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "method", request.getMethod());
  -  }
  -
  -    /**
  -     * Output the query string that is contained in the request URL after the path,
  -     *
  -     *
  -     * @param objectModel The Map objectModel
  -     */
  -    public static String getQueryString(
  -    Map objectModel
  -  )
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, 
  +          "method", request.getMethod());
  +    }
  +
  +  /**
  +   * Output the query string that is contained in the request URL after the path,
  +   *
  +   *
  +   * @param objectModel The Map objectModel
  +   */
  +  public static String getQueryString(
  +      Map objectModel
  +      )
     {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getQueryString();
     }
   
  -    /**
  -     * Output the query string that is contained in the request URL after the path,
  -     *
  -     *
  -     * @param objectModel The Map objectModel
  -     * @param contentHandler The SAX content handler
  -     * @exception SAXException If a SAX error occurs
  -     */
  -    public static void getQueryString(
  -    Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +  /**
  +   * Output the query string that is contained in the request URL after the path,
  +   *
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getQueryString(
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "query-string", request.getQueryString());
  -  }
  -
  -    /**
  -     * Output the name and version of the protocol the request uses in the form of
  -     * protocol/majorVersion.minorVersion,
  -     *
  -     * @param objectModel The Map objectModel
  -     */
  -    public static String getProtocol(
  -    Map objectModel
  -  )
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, 
  +          "query-string", request.getQueryString());
  +    }
  +
  +  /**
  +   * Output the name and version of the protocol the request uses in the form of
  +   * protocol/majorVersion.minorVersion,
  +   *
  +   * @param objectModel The Map objectModel
  +   */
  +  public static String getProtocol(
  +      Map objectModel
  +      )
     {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getProtocol();
     }
   
  -    /**
  -     * Output the name and version of the protocol the request uses in the form of
  -     * protocol/majorVersion.minorVersion,
  -     *
  -     * @param objectModel The Map objectModel
  -     * @param contentHandler The SAX content handler
  -     * @exception SAXException If a SAX error occurs
  -     */
  -    public static void getProtocol(
  +  /**
  +   * Output the name and version of the protocol the request uses in the form of
  +   * protocol/majorVersion.minorVersion,
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getProtocol(
         Map objectModel,
         ContentHandler contentHandler
  -    )
  -      throws SAXException
  +      )
  +    throws SAXException
       {
         Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
         XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "protocol", request.getProtocol());
       }
   
  -    /**
  -     * Output the fully qualified name of the client that sent the request, or
  -     * the IP address of the client if the name cannot be determined, given
  -     * <code>Request</code>
  -     *
  -     * @param objectModel The Map objectModel
  -     */
  -    public static String getRemoteHost(
  -    Map objectModel
  -  )
  +  /**
  +   * Output the fully qualified name of the client that sent the request, or
  +   * the IP address of the client if the name cannot be determined, given
  +   * <code>Request</code>
  +   *
  +   * @param objectModel The Map objectModel
  +   */
  +  public static String getRemoteHost(
  +      Map objectModel
  +      )
     {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getRemoteHost();
     }
   
  -    /**
  -     * Output the fully qualified name of the client that sent the request, or
  -     * the IP address of the client if the name cannot be determined, given
  -     * <code>Request</code>
  -     *
  -     * @param objectModel The Map objectModel
  -     * @param contentHandler The SAX content handler
  -     * @exception SAXException If a SAX error occurs
  -     */
  -    public static void getRemoteHost(
  -      Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +  /**
  +   * Output the fully qualified name of the client that sent the request, or
  +   * the IP address of the client if the name cannot be determined, given
  +   * <code>Request</code>
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getRemoteHost(
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "remote-host", request.getRemoteHost());
  -  }
  -
  -    /**
  -     * Output the IP address of the client that sent the request
  -     *
  -     * @param objectModel The Map objectModel
  -     */
  -    public static String getRemoteAddr(
  -    Map objectModel
  -  )
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "remote-host", request.getRemoteHost());
  +    }
  +
  +  /**
  +   * Output the IP address of the client that sent the request
  +   *
  +   * @param objectModel The Map objectModel
  +   */
  +  public static String getRemoteAddr(
  +      Map objectModel
  +      )
     {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getRemoteAddr();
     }
   
  -    /**
  -     * Output the IP address of the client that sent the request
  -     *
  -     * @param objectModel The Map objectModel
  -     * @param contentHandler The SAX content handler
  -     * @exception SAXException If a SAX error occurs
  -     */
  -    public static void getRemoteAddr(
  -     Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +  /**
  +   * Output the IP address of the client that sent the request
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getRemoteAddr(
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "remote-address", request.getRemoteAddr());
  -  }
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, 
  +          "remote-address", request.getRemoteAddr());
  +    }
   
   
     /**
  @@ -637,7 +735,7 @@
      * @param objectModel The Map objectModel
      */
     public static boolean isSecure(
  -    Map objectModel) {
  +      Map objectModel) {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.isSecure();
     }
  @@ -649,7 +747,7 @@
      * @param objectModel The Map objectModel
      */
     public static String getServerName(
  -    Map objectModel) {
  +      Map objectModel) {
   
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getServerName();
  @@ -661,37 +759,37 @@
      * @param objectModel The Map objectModel
      */
     public static int getServerPort(
  -    Map objectModel) {
  +      Map objectModel) {
   
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getServerPort();
     }
   
     public static String getRequestedURL(Map objectModel) {
  -      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -      StringBuffer uribuf = null;
  -      boolean isSecure = request.isSecure();
  -      int port = request.getServerPort();
  -
  -      if (isSecure) {
  -          uribuf = new StringBuffer("https://");
  -      } else {
  -          uribuf = new StringBuffer("http://");
  -      }
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    StringBuffer uribuf = null;
  +    boolean isSecure = request.isSecure();
  +    int port = request.getServerPort();
  +
  +    if (isSecure) {
  +      uribuf = new StringBuffer("https://");
  +    } else {
  +      uribuf = new StringBuffer("http://");
  +    }
   
  -      uribuf.append(request.getServerName());
  -      if (isSecure) {
  -          if (port != 443) {
  -              uribuf.append(":").append(port);
  -          }
  -      } else {
  -          if (port != 80) {
  -              uribuf.append(":").append(port);
  -          }
  +    uribuf.append(request.getServerName());
  +    if (isSecure) {
  +      if (port != 443) {
  +        uribuf.append(":").append(port);
  +      }
  +    } else {
  +      if (port != 80) {
  +        uribuf.append(":").append(port);
         }
  +    }
   
  -      uribuf.append(request.getRequestURI());
  -      return uribuf.toString();
  +    uribuf.append(request.getRequestURI());
  +    return uribuf.toString();
     }
   
     /**
  @@ -700,17 +798,48 @@
      * @param objectModel The Map objectModel
      */
     public static List getSessionAttributeNames (
  -    Map objectModel) {
  -      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -      ArrayList v = new ArrayList();
  -      Enumeration e = request.getSession().getAttributeNames();
  +      Map objectModel) {
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    ArrayList v = new ArrayList();
  +    Enumeration e = request.getSession().getAttributeNames();
   
  -      while (e.hasMoreElements()) {
  -          v.add(e.nextElement());
  -      }
  -      return v;
  +    while (e.hasMoreElements()) {
  +      v.add(e.nextElement());
  +    }
  +    return v;
     }
   
  +  /**
  +   * Output the given session attribute value or a user-provided default if
  +   * none was specified.
  +   *
  +   * @param objectModel The Map objectModel
  +   * @param contentHandler The SAX content handler
  +   * @param name The parameter name
  +   * @param defaultValue Value to substitute in absence of a parameter value
  +   * @exception SAXException If a SAX error occurs
  +   */
  +  public static void getSessionAttribute(
  +      Map objectModel,
  +      ContentHandler contentHandler,
  +      String name,
  +      Object defaultValue
  +      )
  +    throws SAXException
  +    {
  +      AttributesImpl attr = new AttributesImpl();
  +      XSPObjectHelper.addAttribute(attr, "name", name);
  +
  +      XSPObjectHelper.elementData(
  +          URI,
  +          PREFIX,
  +          contentHandler,
  +          "attribute",
  +          (String) getSessionAttribute(objectModel, name, defaultValue),
  +          attr
  +          );
  +    }
  +
   
     /**
      * Get the session creation time
  @@ -718,9 +847,9 @@
      * @param objectModel The Map objectModel
      */
     public static long getSessionCreationTime (
  -    Map objectModel) {
  -      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -      return request.getSession().getCreationTime();
  +      Map objectModel) {
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    return request.getSession().getCreationTime();
     }
   
     /**
  @@ -729,9 +858,9 @@
      * @param objectModel The Map objectModel
      */
     public static String getSessionId (
  -    Map objectModel) {
  -      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -      return request.getSession().getId();
  +      Map objectModel) {
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    return request.getSession().getId();
     }
   
     /**
  @@ -740,9 +869,9 @@
      * @param objectModel The Map objectModel
      */
     public static long getSessionLastAccessedTime (
  -    Map objectModel) {
  -      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -      return request.getSession().getLastAccessedTime();
  +      Map objectModel) {
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    return request.getSession().getLastAccessedTime();
     }
   
     /**
  @@ -751,9 +880,9 @@
      * @param objectModel The Map objectModel
      */
     public static long getSessionMaxInactiveInterval (
  -    Map objectModel) {
  -      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -      return request.getSession().getMaxInactiveInterval();
  +      Map objectModel) {
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    return request.getSession().getMaxInactiveInterval();
     }
   
     /**
  @@ -763,10 +892,10 @@
      * @param interval max inactive interval
      */
     public static void setSessionMaxInactiveInterval (
  -    Map objectModel,
  -    int interval) {
  -      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -      request.getSession().setMaxInactiveInterval(interval);
  +      Map objectModel,
  +      int interval) {
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    request.getSession().setMaxInactiveInterval(interval);
     }
   
     /**
  @@ -775,9 +904,9 @@
      * @param objectModel The Map objectModel
      */
     public static void invalidateSession (
  -    Map objectModel) {
  -      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -      request.getSession().invalidate();
  +      Map objectModel) {
  +    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +    request.getSession().invalidate();
     }
   
   
  @@ -787,7 +916,7 @@
      * @param objectModel The Map objectModel
      */
     public static boolean isSessionNew(
  -    Map objectModel) {
  +      Map objectModel) {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getSession().isNew();
     }
  @@ -799,8 +928,8 @@
      * @param name The parameter name
      */
     public static void removeSessionAttribute(
  -    Map objectModel,
  -    String name) {
  +      Map objectModel,
  +      String name) {
   
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       request.getSession().removeAttribute(name);
  @@ -813,8 +942,8 @@
      * @param objectModel The Map objectModel
      */
     public static String getContextPath(
  -    Map objectModel
  -  )
  +      Map objectModel
  +      )
     {
       Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
       return request.getContextPath();
  @@ -829,12 +958,13 @@
      * @exception SAXException If a SAX error occurs
      */
     public static void getContextPath(
  -    Map objectModel,
  -    ContentHandler contentHandler
  -  )
  +      Map objectModel,
  +      ContentHandler contentHandler
  +      )
       throws SAXException
  -  {
  -    Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  -    XSPObjectHelper.elementData(URI, PREFIX, contentHandler, "context-path", request.getContextPath());
  -  }
  +    {
  +      Request request = (Request)objectModel.get(Constants.REQUEST_OBJECT);
  +      XSPObjectHelper.elementData(URI, PREFIX, contentHandler, 
  +          "context-path", request.getContextPath());
  +    }
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.3.2.3   +161 -58   xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/java/request.xsl
  
  Index: request.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/java/request.xsl,v
  retrieving revision 1.3.2.2
  retrieving revision 1.3.2.3
  diff -u -r1.3.2.2 -r1.3.2.3
  --- request.xsl	2001/09/19 16:08:09	1.3.2.2
  +++ request.xsl	2001/10/19 20:43:00	1.3.2.3
  @@ -11,7 +11,7 @@
   
   <!--
    * @author <a href="mailto:ricardo@apache.org>Ricardo Rocha</a>
  - * @version CVS $Revision: 1.3.2.2 $ $Date: 2001/09/19 16:08:09 $
  + * @version CVS $Revision: 1.3.2.3 $ $Date: 2001/10/19 20:43:00 $
   -->
   
   <!-- XSP Request logicsheet for the Java language -->
  @@ -21,7 +21,8 @@
     xmlns:xsp="http://apache.org/xsp"
     xmlns:xsp-request="http://apache.org/xsp/request/2.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  ->
  +  >
  +
     <xsl:template match="xsp-request:get-uri">
       <xsl:variable name="as">
         <xsl:call-template name="value-for-as">
  @@ -36,7 +37,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  -    <!-- <xsp-request:uri> -->
  +        <!-- <xsp-request:uri> -->
           <xsp:logic>
             XSPRequestHelper.getURI(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -58,7 +59,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  -    <!-- <xsp-request:uri> -->
  +        <!-- <xsp-request:sitemap-uri> -->
           <xsp:logic>
             XSPRequestHelper.getSitemapURI(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -80,7 +81,7 @@
       <xsl:variable name="default">
         <xsl:choose>
           <xsl:when test="@default">"<xsl:value-of select="@default"/>"</xsl:when>
  -        <xsl:when test="default">
  +        <xsl:when test="xsp-request:default">
             <xsl:call-template name="get-nested-content">
               <xsl:with-param name="content" select="xsp-request:default"/>
             </xsl:call-template>
  @@ -90,23 +91,45 @@
       </xsl:variable>
   
       <xsl:choose>
  -       <xsl:when test="$as = 'string'">
  +      <xsl:when test="$as = 'string'">
           <xsp:expr>
  -          (XSPRequestHelper.getSessionAttribute(objectModel, <xsl:copy-of select="$name"/>, <xsl:copy-of select="$default"/>))
  +          (XSPRequestHelper.getSessionAttribute(objectModel, 
  +          <xsl:copy-of select="$name"/>, <xsl:copy-of select="$default"/>))
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:session-attribute name="..."> -->
           <xsp:logic>
  -          XSPRequestHelper.getSessionAttribute(objectModel, this.contentHandler, <xsl:copy-of select="$name"/>, <xsl:copy-of select="$default"/>);
  +          XSPRequestHelper.getSessionAttribute(objectModel, 
  +          this.contentHandler, 
  +          <xsl:copy-of select="$name"/>, <xsl:copy-of select="$default"/>);
           </xsp:logic>
         </xsl:when>
       </xsl:choose>
     </xsl:template>
   
     <xsl:template match="xsp-request:get-session-id">
  -    <xsp:expr>
  -      (XSPRequestHelper.getSessionId(objectModel))
  -    </xsp:expr>
  +    <xsl:variable name="as">
  +      <xsl:call-template name="value-for-as">
  +        <xsl:with-param name="default" select="'string'"/>
  +      </xsl:call-template>
  +    </xsl:variable>
  +
  +    <xsl:choose>
  +      <xsl:when test="$as = 'string'">
  +        <xsp:expr>
  +          (XSPRequestHelper.getSessionId(objectModel))
  +        </xsp:expr>
  +      </xsl:when>
  +      <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:session-id> -->
  +        <xsp:element name="xsp-request:session-id">
  +          <xsp:logic>
  +            (XSPRequestHelper.getSessionId(objectModel))
  +          </xsp:logic>
  +        </xsp:element>
  +      </xsl:when>
  +    </xsl:choose>
     </xsl:template>
   
     <xsl:template match="xsp-request:get-parameter">
  @@ -117,7 +140,7 @@
       <xsl:variable name="default">
         <xsl:choose>
           <xsl:when test="@default">"<xsl:value-of select="@default"/>"</xsl:when>
  -        <xsl:when test="default">
  +        <xsl:when test="xsp-request:default">
             <xsl:call-template name="get-nested-content">
               <xsl:with-param name="content" select="xsp-request:default"/>
             </xsl:call-template>
  @@ -126,6 +149,14 @@
         </xsl:choose>
       </xsl:variable>
   
  +    <xsl:variable name="form-encoding">
  +      <xsl:call-template name="value-for-form-encoding"/>
  +    </xsl:variable>
  +
  +    <xsl:variable name="container-encoding">
  +      <xsl:call-template name="value-for-container-encoding"/>
  +    </xsl:variable>
  +
       <xsl:variable name="as">
         <xsl:call-template name="value-for-as">
           <xsl:with-param name="default" select="'string'"/>
  @@ -135,32 +166,51 @@
       <xsl:choose>
         <xsl:when test="$as = 'string'">
           <xsp:expr>
  -          (XSPRequestHelper.getParameter(objectModel, <xsl:copy-of select="$name"/>, <xsl:copy-of select="$default"/>))
  +          (XSPRequestHelper.getParameter(objectModel, 
  +          <xsl:copy-of select="$name"/>, <xsl:copy-of select="$default"/>, 
  +          <xsl:copy-of select="$form-encoding"/>, 
  +          <xsl:copy-of select="$container-encoding"/>))
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  -    <!-- <xsp-request:uri> -->
  +        <!-- <xsp-request:parameter name="..."> -->
           <xsp:logic>
  -          XSPRequestHelper.getParameter(objectModel, this.contentHandler, <xsl:copy-of select="$name"/>, <xsl:copy-of select="$default"/>);
  +          XSPRequestHelper.getParameter(objectModel, this.contentHandler, 
  +          <xsl:copy-of select="$name"/>, <xsl:copy-of select="$default"/>, 
  +          <xsl:copy-of select="$form-encoding"/>, 
  +          <xsl:copy-of select="$container-encoding"/>);
           </xsp:logic>
         </xsl:when>
       </xsl:choose>
     </xsl:template>
   
  +  <!-- emitting output as xml only -->
     <xsl:template match="xsp-request:get-parameter-values">
       <xsl:variable name="name">
         <xsl:call-template name="value-for-name"/>
       </xsl:variable>
  +
  +    <xsl:variable name="form-encoding">
  +      <xsl:call-template name="value-for-form-encoding"/>
  +    </xsl:variable>
   
  -     <xsp:logic>
  -        XSPRequestHelper.getParameterValues(objectModel, this.contentHandler, <xsl:copy-of select="$name"/>);
  -     </xsp:logic>
  +    <xsl:variable name="container-encoding">
  +      <xsl:call-template name="value-for-container-encoding"/>
  +    </xsl:variable>
  +
  +    <xsp:logic>
  +      XSPRequestHelper.getParameterValues(objectModel, this.contentHandler,
  +      <xsl:copy-of select="$name"/>, 
  +      <xsl:copy-of select="$form-encoding"/>, 
  +      <xsl:copy-of select="$container-encoding"/>);
  +    </xsp:logic>
     </xsl:template>
   
  +  <!-- emitting output as xml only -->
     <xsl:template match="xsp-request:get-parameter-names">
  -     <xsp:logic>
  -        XSPRequestHelper.getParameterNames(objectModel, this.contentHandler);
  -     </xsp:logic>
  +    <xsp:logic>
  +      XSPRequestHelper.getParameterNames(objectModel, this.contentHandler);
  +    </xsp:logic>
     </xsl:template>
   
     <xsl:template match="xsp-request:get-header">
  @@ -177,22 +227,25 @@
       <xsl:choose>
         <xsl:when test="$as = 'string'">
           <xsp:expr>
  -          (XSPRequestHelper.getHeader(objectModel, <xsl:copy-of select="$name"/>))
  +          (XSPRequestHelper.getHeader(objectModel, 
  +          <xsl:copy-of select="$name"/>))
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  -    <!-- <xsp-request:uri> -->
  +        <!-- <xsp-request:header name="..."> -->
           <xsp:logic>
  -          XSPRequestHelper.getHeader(objectModel, this.contentHandler, <xsl:copy-of select="$name"/>);
  +          XSPRequestHelper.getHeader(objectModel, this.contentHandler, 
  +          <xsl:copy-of select="$name"/>);
           </xsp:logic>
         </xsl:when>
       </xsl:choose>
     </xsl:template>
   
  +  <!-- emitting output as xml only -->
     <xsl:template match="xsp-request:get-header-names">
  -     <xsp:logic>
  -        XSPRequestHelper.getHeaderNames(objectModel, this.contentHandler);
  -     </xsp:logic>
  +    <xsp:logic>
  +      XSPRequestHelper.getHeaderNames(objectModel, this.contentHandler);
  +    </xsp:logic>
     </xsl:template>
   
     <xsl:template match="xsp-request:get-attribute">
  @@ -209,36 +262,43 @@
       <xsl:choose>
         <xsl:when test="$as = 'string'">
           <xsp:expr>
  -          String.valueOf(XSPRequestHelper.getAttribute(objectModel,<xsl:copy-of select="$name"/>))
  +          String.valueOf(XSPRequestHelper.getAttribute(objectModel,
  +          <xsl:copy-of select="$name"/>))
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'object'">
           <xsp:expr>
  -          XSPRequestHelper.getAttribute(objectModel,<xsl:copy-of select="$name"/>)
  +          XSPRequestHelper.getAttribute(objectModel,
  +          <xsl:copy-of select="$name"/>)
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
           <xsp:element name="xsp-request:attribute">
  -          <xsp:expr>
  -            XSPRequestHelper.getAttribute(objectModel,<xsl:copy-of select="$name"/>)
  -          </xsp:expr>
  +          <xsp:attribute name="name" value="{$name}"/>
  +          <xsp:logic>
  +            XSPRequestHelper.getAttribute(objectModel, 
  +            <xsl:copy-of select="$name"/>)
  +          </xsp:logic>
           </xsp:element>
         </xsl:when>
       </xsl:choose>
     </xsl:template>
  -	<xsl:template match="xsp-request:get-attribute-names">
  -     <xsp:logic>
  -        XSPRequestHelper.getAttributeNames(objectModel, this.contentHandler);
  -     </xsp:logic>
  +  
  +  <!-- emitting output as xml only -->
  +  <xsl:template match="xsp-request:get-attribute-names">
  +    <xsp:logic>
  +      XSPRequestHelper.getAttributeNames(objectModel, this.contentHandler);
  +    </xsp:logic>
     </xsl:template>
  -
  +	
     <xsl:template match="xsp-request:remove-attribute">
       <xsl:variable name="name">
         <xsl:call-template name="value-for-name"/>
       </xsl:variable>
   
       <xsp:logic>
  -      XSPRequestHelper.removeAttribute(objectModel,<xsl:value-of select="$name"/>);
  +      XSPRequestHelper.removeAttribute(objectModel,
  +      <xsl:copy-of select="$name"/>);
       </xsp:logic>
     </xsl:template>
   
  @@ -250,18 +310,20 @@
       </xsl:variable>
   
       <xsl:choose>
  -        <xsl:when test="$as = 'string'">
  -          <xsp:expr>XSPRequestHelper.getRequestedURL(objectModel)</xsp:expr>
  -        </xsl:when>
  -        <xsl:when test="$as = 'xml'">
  -          <xsp-request:requested-url>
  -            <xsp:expr>XSPRequestHelper.getRequestedURL(objectModel)</xsp:expr>
  -          </xsp-request:requested-url>
  -        </xsl:when>
  +      <xsl:when test="$as = 'string'">
  +        <xsp:expr>XSPRequestHelper.getRequestedURL(objectModel)</xsp:expr>
  +      </xsl:when>
  +      <xsl:when test="$as = 'xml'">
  +        <xsp:element name="xsp-request:requested-url">
  +          <xsp:logic>
  +            XSPRequestHelper.getRequestedURL(objectModel)
  +          </xsp:logic>
  +        </xsp:element>
  +      </xsl:when>
       </xsl:choose>
     </xsl:template>
   
  -<xsl:template match="xsp-request:get-remote-address">
  +  <xsl:template match="xsp-request:get-remote-address">
       <xsl:variable name="as">
         <xsl:call-template name="value-for-as">
           <xsl:with-param name="default" select="'string'"/>
  @@ -275,6 +337,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:remote-addres> -->
           <xsp:logic>
             XSPRequestHelper.getRemoteAddr(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -296,6 +359,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:remote-user> -->
           <xsp:logic>
             XSPRequestHelper.getRemoteUser(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -317,6 +381,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:context-path> -->
           <xsp:logic>
             XSPRequestHelper.getContextPath(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -338,9 +403,11 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  -        <xsp:logic>
  -          XSPRequestHelper.getServerName(objectModel, this.contentHandler);
  -        </xsp:logic>
  +        <xsp:element name="xsp-request:server-name">
  +          <xsp:logic>
  +            XSPRequestHelper.getServerName(objectModel);
  +          </xsp:logic>
  +        </xsp:element>
         </xsl:when>
       </xsl:choose>
     </xsl:template>
  @@ -359,6 +426,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:method> -->
           <xsp:logic>
             XSPRequestHelper.getMethod(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -380,6 +448,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:query-string> -->
           <xsp:logic>
             XSPRequestHelper.getQueryString(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -401,6 +470,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:protocol> -->
           <xsp:logic>
             XSPRequestHelper.getProtocol(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -408,7 +478,6 @@
       </xsl:choose>
     </xsl:template>
   
  -
     <xsl:template match="xsp-request:get-remote-host">
       <xsl:variable name="as">
         <xsl:call-template name="value-for-as">
  @@ -423,6 +492,7 @@
           </xsp:expr>
         </xsl:when>
         <xsl:when test="$as = 'xml'">
  +        <!-- <xsp-request:remote-host> -->
           <xsp:logic>
             XSPRequestHelper.getRemoteHost(objectModel, this.contentHandler);
           </xsp:logic>
  @@ -430,7 +500,7 @@
       </xsl:choose>
     </xsl:template>
   
  -   <xsl:template name="value-for-as">
  +  <xsl:template name="value-for-as">
       <xsl:param name="default"/>
       <xsl:choose>
         <xsl:when test="@as"><xsl:value-of select="@as"/></xsl:when>
  @@ -441,14 +511,42 @@
     <xsl:template name="value-for-name">
       <xsl:choose>
         <xsl:when test="@name">"<xsl:value-of select="@name"/>"</xsl:when>
  -      <xsl:when test="name">
  +      <xsl:when test="xsp-request:name">
           <xsl:call-template name="get-nested-content">
             <xsl:with-param name="content" select="xsp-request:name"/>
           </xsl:call-template>
         </xsl:when>
  +      <xsl:otherwise>null</xsl:otherwise>
  +    </xsl:choose>
  +  </xsl:template>
  +
  +  <xsl:template name="value-for-form-encoding">
  +    <xsl:choose>
  +      <xsl:when test="@form-encoding">"<xsl:value-of 
  +          select="@form-encoding"/>"</xsl:when>
  +      <xsl:when test="xsp-request:form-encoding">
  +        <xsl:call-template name="get-nested-content">
  +          <xsl:with-param name="content" select="xsp-request:form-encoding"/>
  +        </xsl:call-template>
  +      </xsl:when>
  +      <xsl:otherwise>null</xsl:otherwise>
       </xsl:choose>
     </xsl:template>
   
  +  <xsl:template name="value-for-container-encoding">
  +    <xsl:choose>
  +      <xsl:when test="@container-encoding">"<xsl:value-of 
  +          select="@container-encoding"/>"</xsl:when>
  +      <xsl:when test="xsp-request:container-encoding">
  +        <xsl:call-template name="get-nested-content">
  +          <xsl:with-param name="content" 
  +            select="xsp-request:container-encoding"/>
  +        </xsl:call-template>
  +      </xsl:when>
  +      <xsl:otherwise>null</xsl:otherwise>
  +    </xsl:choose>
  +  </xsl:template>
  +
     <xsl:template name="get-nested-content">
       <xsl:param name="content"/>
       <xsl:choose>
  @@ -460,9 +558,14 @@
     </xsl:template>
   
     <xsl:template match="@*|*|text()|processing-instruction()">
  -      <xsl:copy>
  -        <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
  -      </xsl:copy>
  -    </xsl:template>
  +    <xsl:copy>
  +      <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
  +    </xsl:copy>
  +  </xsl:template>
  +
  +  <xsl:template match="xsp-request:name"/>
  +  <xsl:template match="xsp-request:default"/>
  +  <xsl:template match="xsp-request:form-encoding"/>
  +  <xsl:template match="xsp-request:container-encoding"/>
   
  -  </xsl:stylesheet>
  +</xsl:stylesheet>
  
  
  
  1.3.2.1   +138 -115  xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/java/session.xsl
  
  Index: session.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/org/apache/cocoon/components/language/markup/xsp/java/session.xsl,v
  retrieving revision 1.3
  retrieving revision 1.3.2.1
  diff -u -r1.3 -r1.3.2.1
  --- session.xsl	2001/05/25 18:49:55	1.3
  +++ session.xsl	2001/10/19 20:43:00	1.3.2.1
  @@ -76,22 +76,25 @@
         <xsl:call-template name="value-for-default">
         </xsl:call-template>
       </xsl:variable>
  -    
  -      <xsl:choose>
  -        <xsl:when test="$as = 'xml'">
  -	  <xsp:element name="session:attribute">
  -	    <xsp:expr>XSPRequestHelper.getSessionAttribute(objectModel,
  -		    String.valueOf(<xsl:copy-of select="$name"/>),
  -		    String.valueOf(<xsl:copy-of select="$default"/>))</xsp:expr>
  -	  </xsp:element>
  -        </xsl:when>
  -        <xsl:when test="$as = 'object'">
  -          <xsp:expr>XSPRequestHelper.getSessionAttribute(objectModel,
  +
  +    <xsl:choose>
  +      <xsl:when test="$as = 'xml'">
  +        <xsp:element name="session:attribute">
  +          <xsp:expr>
  +            XSPRequestHelper.getSessionAttribute(objectModel,
               String.valueOf(<xsl:copy-of select="$name"/>),
  -            String.valueOf(<xsl:copy-of select="$default"/>)
  -          )</xsp:expr>
  -        </xsl:when>
  -      </xsl:choose>
  +            <xsl:copy-of select="$default"/>)
  +          </xsp:expr>
  +        </xsp:element>
  +      </xsl:when>
  +      <xsl:when test="$as = 'object'">
  +        <xsp:expr>
  +          XSPRequestHelper.getSessionAttribute(objectModel,
  +          String.valueOf(<xsl:copy-of select="$name"/>),
  +          <xsl:copy-of select="$default"/>)
  +        </xsp:expr>
  +      </xsl:when>
  +    </xsl:choose>
     </xsl:template>
   
     <xsl:template match="session:get-attribute-names">
  @@ -101,8 +104,8 @@
         </xsl:call-template>
       </xsl:variable>
   
  -      <xsl:choose>
  -        <xsl:when test="$as = 'xml'">
  +    <xsl:choose>
  +      <xsl:when test="$as = 'xml'">
           <xsp:logic>
             List v = XSPRequestHelper.getSessionAttributeNames(objectModel);
           </xsp:logic>
  @@ -110,16 +113,18 @@
           <xsp:element name="session:attribute-names">
             <xsp:logic>
               for (int i = 0; i &lt; v.size(); i++) {
  -              <xsp:element name="session:attribute-name">
  -                <xsp:expr>v.get(i)</xsp:expr>
  -              </xsp:element>
  +            <xsp:element name="session:attribute-name">
  +              <xsp:expr>v.get(i)</xsp:expr>
  +            </xsp:element>
               }
             </xsp:logic>
           </xsp:element>
         </xsl:when>
   
         <xsl:when test="$as = 'array'">
  -        <xsp:expr>XSPRequestHelper.getSessionAttributeNames(objectModel)</xsp:expr>
  +        <xsp:expr>
  +          XSPRequestHelper.getSessionAttributeNames(objectModel)
  +        </xsp:expr>
         </xsl:when>
       </xsl:choose>
     </xsl:template>
  @@ -131,19 +136,25 @@
         </xsl:call-template>
       </xsl:variable>
   
  -      <xsl:choose>
  -        <xsl:when test="$as = 'xml'">
  -	  <xsp:element name="session:creation-time">
  -	    <xsp:expr>new Date(XSPRequestHelper.getSessionCreationTime(objectModel))</xsp:expr>
  -	  </xsp:element>
  -        </xsl:when>
  -        <xsl:when test="$as = 'string'">
  -          <xsp:expr>new Date(XSPRequestHelper.getSessionCreationTime(objectModel))</xsp:expr>
  -        </xsl:when>
  -        <xsl:when test="$as = 'long'">
  -          <xsp:expr>XSPRequestHelper.getSessionCreationTime(objectModel)</xsp:expr>
  -        </xsl:when>
  -      </xsl:choose>
  +    <xsl:choose>
  +      <xsl:when test="$as = 'xml'">
  +        <xsp:element name="session:creation-time">
  +          <xsp:expr>
  +            new Date(XSPRequestHelper.getSessionCreationTime(objectModel))
  +          </xsp:expr>
  +        </xsp:element>
  +      </xsl:when>
  +      <xsl:when test="$as = 'string'">
  +        <xsp:expr>
  +          new Date(XSPRequestHelper.getSessionCreationTime(objectModel))
  +        </xsp:expr>
  +      </xsl:when>
  +      <xsl:when test="$as = 'long'">
  +        <xsp:expr>
  +          XSPRequestHelper.getSessionCreationTime(objectModel)
  +        </xsp:expr>
  +      </xsl:when>
  +    </xsl:choose>
     </xsl:template>
   
     <xsl:template match="session:get-id">
  @@ -153,16 +164,16 @@
         </xsl:call-template>
       </xsl:variable>
   
  -      <xsl:choose>
  -        <xsl:when test="$as = 'xml'">
  -          <xsp:element name="session:id">
  -	    <xsp:expr>XSPRequestHelper.getSessionId(objectModel)</xsp:expr>
  -	  </xsp:element>
  -	</xsl:when>
  -        <xsl:when test="$as = 'string'">
  +    <xsl:choose>
  +      <xsl:when test="$as = 'xml'">
  +        <xsp:element name="session:id">
             <xsp:expr>XSPRequestHelper.getSessionId(objectModel)</xsp:expr>
  -        </xsl:when>
  -      </xsl:choose>
  +        </xsp:element>
  +      </xsl:when>
  +      <xsl:when test="$as = 'string'">
  +        <xsp:expr>XSPRequestHelper.getSessionId(objectModel)</xsp:expr>
  +      </xsl:when>
  +    </xsl:choose>
     </xsl:template>
   
     <xsl:template match="session:get-last-accessed-time">
  @@ -172,19 +183,25 @@
         </xsl:call-template>
       </xsl:variable>
   
  -      <xsl:choose>
  -        <xsl:when test="$as = 'xml'">
  -          <xsp:element name="session:last-accessed-time">
  -	    <xsp:expr>new Date(XSPRequestHelper.getSessionLastAccessedTime(objectModel))</xsp:expr>
  -	  </xsp:element>
  -	</xsl:when>
  -        <xsl:when test="$as = 'string'">
  -          <xsp:expr>new Date(XSPRequestHelper.getSessionLastAccessedTime(objectModel))</xsp:expr>
  -        </xsl:when>
  -        <xsl:when test="$as = 'long'">
  -          <xsp:expr>XSPRequestHelper.getSessionLastAccessedTime(objectModel)</xsp:expr>
  -        </xsl:when>
  -      </xsl:choose>
  +    <xsl:choose>
  +      <xsl:when test="$as = 'xml'">
  +        <xsp:element name="session:last-accessed-time">
  +          <xsp:expr>
  +            new Date(XSPRequestHelper.getSessionLastAccessedTime(objectModel))
  +          </xsp:expr>
  +        </xsp:element>
  +      </xsl:when>
  +      <xsl:when test="$as = 'string'">
  +        <xsp:expr>
  +          new Date(XSPRequestHelper.getSessionLastAccessedTime(objectModel))
  +        </xsp:expr>
  +      </xsl:when>
  +      <xsl:when test="$as = 'long'">
  +        <xsp:expr>
  +          XSPRequestHelper.getSessionLastAccessedTime(objectModel)
  +        </xsp:expr>
  +      </xsl:when>
  +    </xsl:choose>
     </xsl:template>
   
     <xsl:template match="session:get-max-inactive-interval">
  @@ -194,19 +211,26 @@
         </xsl:call-template>
       </xsl:variable>
   
  -      <xsl:choose>
  -        <xsl:when test="$as = 'xml'">
  -	  <xsp:element name="session:max-inactive-interval">
  -	    <xsp:expr>XSPRequestHelper.getSessionMaxInactiveInterval(objectModel)</xsp:expr>
  -	  </xsp:element>
  -        </xsl:when>
  -        <xsl:when test="$as = 'string'">
  -          <xsp:expr>String.valueOf(XSPRequestHelper.getSessionMaxInactiveInterval(objectModel))</xsp:expr>
  -        </xsl:when>
  -        <xsl:when test="$as = 'int'">
  -          <xsp:expr>XSPRequestHelper.getSessionMaxInactiveInterval(objectModel)</xsp:expr>
  -        </xsl:when>
  -      </xsl:choose>
  +    <xsl:choose>
  +      <xsl:when test="$as = 'xml'">
  +        <xsp:element name="session:max-inactive-interval">
  +          <xsp:expr>
  +            XSPRequestHelper.getSessionMaxInactiveInterval(objectModel)
  +          </xsp:expr>
  +        </xsp:element>
  +      </xsl:when>
  +      <xsl:when test="$as = 'string'">
  +        <xsp:expr>
  +          String.valueOf(XSPRequestHelper.getSessionMaxInactiveInterval(
  +          objectModel))
  +        </xsp:expr>
  +      </xsl:when>
  +      <xsl:when test="$as = 'int'">
  +        <xsp:expr>
  +          XSPRequestHelper.getSessionMaxInactiveInterval(objectModel)
  +        </xsp:expr>
  +      </xsl:when>
  +    </xsl:choose>
     </xsl:template>
   
     <xsl:template match="session:invalidate">
  @@ -225,12 +249,14 @@
       <xsp:expr>
         <xsl:choose>
           <xsl:when test="$as = 'xml'">
  -	  <xsp:element name="session:is-new">
  +          <xsp:element name="session:is-new">
               <xsp:expr>XSPRequestHelper.isSessionNew(objectModel)</xsp:expr>
  -	  </xsp:element>
  +          </xsp:element>
           </xsl:when>
           <xsl:when test="$as = 'string'">
  -          <xsp:expr>String.valueOf(XSPRequestHelper.isSessionNew(objectModel))</xsp:expr>
  +          <xsp:expr>
  +            String.valueOf(XSPRequestHelper.isSessionNew(objectModel))
  +          </xsp:expr>
           </xsl:when>
           <xsl:when test="$as = 'boolean'">
             <xsp:expr>XSPRequestHelper.isSessionNew(objectModel)</xsp:expr>
  @@ -246,7 +272,7 @@
   
       <xsp:logic>
         XSPRequestHelper.removeSessionAttribute(objectModel,
  -        String.valueOf(<xsl:copy-of select="$name"/>)
  +      String.valueOf(<xsl:copy-of select="$name"/>)
         );
       </xsp:logic>
     </xsl:template>
  @@ -264,8 +290,8 @@
   
       <xsp:logic>
         XSPRequestHelper.setSessionAttribute(objectModel,
  -        String.valueOf(<xsl:copy-of select="$name"/>),
  -        <xsl:copy-of select="$content"/>
  +      String.valueOf(<xsl:copy-of select="$name"/>),
  +      <xsl:copy-of select="$content"/>
         );
       </xsp:logic>
     </xsl:template>
  @@ -273,10 +299,11 @@
     <xsl:template match="session:set-max-inactive-interval">
       <xsl:variable name="interval">
         <xsl:choose>
  -        <xsl:when test="@interval">"<xsl:value-of select="@interval"/>"</xsl:when>
  -        <xsl:when test="interval">
  +        <xsl:when test="@interval">"<xsl:value-of 
  +            select="@interval"/>"</xsl:when>
  +        <xsl:when test="session:interval">
             <xsl:call-template name="get-nested-content">
  -            <xsl:with-param name="content" select="interval"/>
  +            <xsl:with-param name="content" select="session:interval"/>
             </xsl:call-template>
           </xsl:when>
         </xsl:choose>
  @@ -284,63 +311,60 @@
   
       <xsp:logic>
         request.getSession().setMaxInactiveInterval(
  -        Integer.parseInt(
  -          String.valueOf(
  -            <xsl:copy-of select="$interval"/>
  -          )
  -        )
  -      );
  +      Integer.parseInt(
  +      String.valueOf(<xsl:copy-of select="$interval"/>)
  +      ));
       </xsp:logic>
     </xsl:template>
   
     <!-- encode an URL with the session ID -->
     <xsl:template match="session:encode-url">
  -    <xsl:variable name="href">
  -        "<xsl:value-of select="@href"/>"
  -    </xsl:variable>
  +    <xsl:variable name="href">"<xsl:value-of 
  +        select="@href"/>"</xsl:variable>
   
       <xsp:element name="a">
  -       <xsp:attribute name="href">
  -          <xsp:expr>XSPResponseHelper.encodeURL(objectModel, String.valueOf(<xsl:copy-of select="$href"/>))</xsp:expr>
  -       </xsp:attribute>
  -       <xsl:value-of select="."/>
  +      <xsp:attribute name="href">
  +        <xsp:expr>
  +          XSPResponseHelper.encodeURL(objectModel, 
  +          String.valueOf(<xsl:copy-of select="$href"/>))
  +        </xsp:expr>
  +      </xsp:attribute>
  +      <xsl:value-of select="."/>
       </xsp:element>
  -
     </xsl:template>
   
     <!-- encode an URL with the session ID as a form-->
     <xsl:template match="session:form-encode-url">
  -    <xsl:variable name="action">
  -        "<xsl:value-of select="@action"/>"
  -    </xsl:variable>
  -    <xsl:variable name="method">
  -        "<xsl:value-of select="@method"/>"
  -    </xsl:variable>
  -    <xsl:variable name="onsubmit">
  -        "<xsl:value-of select="@onsubmit"/>"
  -    </xsl:variable>
  +    <xsl:variable name="action">"<xsl:value-of 
  +        select="@action"/>"</xsl:variable>
  +    <xsl:variable name="method">"<xsl:value-of 
  +        select="@method"/>"</xsl:variable>
  +    <xsl:variable name="onsubmit">"<xsl:value-of 
  +        select="@onsubmit"/>"</xsl:variable>
   
       <xsp:element name="form">
  -       <xsp:attribute name="action">
  -          <xsp:expr>XSPResponseHelper.encodeURL(objectModel,String.valueOf(<xsl:copy-of select="$action"/>))</xsp:expr>
  -       </xsp:attribute>
  -       <xsp:attribute name="method">
  -         <xsp:expr><xsl:copy-of select="$method"/></xsp:expr>
  -       </xsp:attribute>
  -       <xsp:attribute name="onsubmit">
  -         <xsp:expr><xsl:copy-of select="$onsubmit"/></xsp:expr>
  -       </xsp:attribute>
  -       <xsl:apply-templates/>
  +      <xsp:attribute name="action">
  +        <xsp:expr>
  +          XSPResponseHelper.encodeURL(objectModel,
  +          String.valueOf(<xsl:copy-of select="$action"/>))
  +        </xsp:expr>
  +      </xsp:attribute>
  +      <xsp:attribute name="method">
  +        <xsp:expr><xsl:copy-of select="$method"/></xsp:expr>
  +      </xsp:attribute>
  +      <xsp:attribute name="onsubmit">
  +        <xsp:expr><xsl:copy-of select="$onsubmit"/></xsp:expr>
  +      </xsp:attribute>
  +      <xsl:apply-templates/>
       </xsp:element>
  -
     </xsl:template>
   
     <xsl:template name="value-for-name">
       <xsl:choose>
         <xsl:when test="@name">"<xsl:value-of select="@name"/>"</xsl:when>
  -      <xsl:when test="name">
  +      <xsl:when test="session:name">
           <xsl:call-template name="get-nested-content">
  -          <xsl:with-param name="content" select="name"/>
  +          <xsl:with-param name="content" select="session:name"/>
           </xsl:call-template>
         </xsl:when>
       </xsl:choose>
  @@ -376,6 +400,5 @@
         <xsl:apply-templates select="@*|*|text()|processing-instruction()"/>
       </xsl:copy>
     </xsl:template>
  -
   
   </xsl:stylesheet>
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org