cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From apurva zaveri <azav...@yahoo.com>
Subject Re: XMLForm having "-" like cocoon-action-next (Device Independence?)
Date Thu, 24 Oct 2002 20:51:17 GMT
I think I can use <goto> instead of <submit> in vxml

where I can say:

<goto
expr="http://www.gg.com/wizard?cocoon-action-next=Next"
/>

I will try that and let know if the problem can be
solved this way (This requires no changes to be made
in cocoon)

-Apurva Zaveri.


--- apurva zaveri <azaveri@yahoo.com> wrote:
> 
> I have come to a conclusion that either there has to
> be way to submit an VXML page with field names like
> "cocoon-xmlform-view" (Is there any way? I could not
> find one.) like this
> 
>  <submit method="get" next="wizard?"
>  namelist="cocoon-xmlform-view city propertyType
> rent
>  cocoon-action-next"/>
> 
> (As I mention earlier VXML browser throws and
> ECMAScript exception cuz of "-" in the variable
> name)
> 
>  or we need to make changes in XMLForm so that it is
> in true practical sense "Device Independent Form".
> 
> By looking around the src I found out that Form.java
> of XMLForm uses some constants from Constants.java
> 
> The following is the snippet of same:
> 
> from Form.java
> 
> snip--
>    public static String  FORM_VIEW_PARAM =
> "cocoon-xmlform-view";
> 
> 
> snip--
>     /**
>    * filters custom request parameter
>    * not refering to the model
>    *
>    * @todo implement default filtering
>    * for standard Cocoon parameters
>    * like cocoon-action[-suffix]
>    *
>    */
>     protected boolean filterRequestParameter( String
> name )
>     {
>     // filter standard cocoon-* parameters
>     if ( filterDefaultRequestParameter( name ) )
> return true;   
>     
>     // then consult with FormListeners
>     Set ls = new HashSet();
>     ls.addAll( Collections.synchronizedSet (
> formListeners_ ) );
>     Iterator iter = ls.iterator ();
>     while (iter.hasNext())
>     {
>       FormListener fl = (FormListener) iter.next();
>       // if any of the listeners wants this
> parameter
> filtered
>       // then filter it (return true)
>       if ( fl.filterRequestParameter( this, name ) )
> return true;
>     }
>     // if none of the listeners wants this parameter
> filtered
>     // then don't filter it
>     return false;
>     }
>   
>   
>     /**
>     * Filters the standard cocoon request
> parameters.
>     * If default filtering needs to be different,
>     * subclasses can override this method.
>     * It is invoked before all listeners are asked
> to
> filter the parameter
>     */
>     protected boolean filterDefaultRequestParameter(
> String paramName )
>     {
>       if ( paramName.startsWith (
> Constants.ACTION_PARAM_PREFIX ) 
>         || paramName.startsWith (
> Constants.VIEW_PARAM
> ) 
>         ) 
>         return true;
>       if ( paramName.equals ( FORM_VIEW_PARAM ) ) 
>         return true;
>       else  return false;
>     }
>     
>  
>     /**
>      * Try to extract from the request
>      * and return the current form view
>      */
>     public String getFormView( Map objectModel )
>     {
>       Request request =getRequest( objectModel );
>       return (String) getRequest( objectModel
> ).getParameter ( Form.FORM_VIEW_PARAM );
>     }
> 
>
*******************************************************
> 
> 
> from Constants.java
> snip--
>     /**
>      * The request parameter name to request a
> specific view of a resource.
>      *
>      * FIXME(GP): Isn't this Servlet specific?
>      */
>     String VIEW_PARAM     = "cocoon-view";
> 
>     /**
>      * The request parameter name to trigger a
> specific action.
>      *
>      * FIXME(GP): Isn't this Servlet specific?
>      */
>     String ACTION_PARAM   = "cocoon-action";
> 
>     /**
>      * The request parameter prefix to trigger a
> specific action.
>      *
>      * FIXME(GP): Isn't this Servlet specific?
>      */
>     String ACTION_PARAM_PREFIX   = "cocoon-action-";
>
*****************************************************
> 
> 
> So I am not sure if we need to fix this, if we need
> to
> do v have to change the constants??
> 
> Or is there any other solution to this?
> 
> 
> -Apurva
> 
> 
> 
> --- apurva zaveri <azaveri@yahoo.com> wrote:
> > 
> > --- mratliff@collegenet.com wrote:
> > > 
> > > I don't understand.  Is the error produced on
> the
> > > client or the server?  
> > 
> > The error is produced in voiceXML browser [so
> > client]
> > The voiceXML browser expects this:
> > 
> > <submit method="get" next="wizard?"
> > namelist="cocoon-xmlform-view city propertyType
> rent
> > cocoon-action-next"/>
> > 
> > but it throws error cuz of "cocoon-xmlform-view"
> and
> > is unable to execute the page. And on the server
> > side
> > cocoon expects to get "cocoon-xmlform-view" by
> http
> > get method.
> > 
> > 
> > Does
> > > this markup:
> > >       <var name="cocoon-action-next"
> expr="Next"/>
> > > get transformed by xslt into a javascript
> variable
> > > in the page sent to the
> > > client?  
> > 
> > No.
> > 
> > Or is it part of the markup language of the
> > > page?  Can you pass an
> > > array in the namelist? i.e.,
> > >       <submit next="wizard?"
> > > namelist="Vars['cocoon-xmlform-view'], etc.
> > 
> > I havent tried this as I thought cocoons XMLForm
> > would
> > not accept it like this. Or am I confused? :)
> > 
> > > 
> > > Sorry to be so thick; form elements commonly
> have
> > > characters like "-" and "." in
> > > their names; must be some way to work this
> out...
> > 
> 
=== message truncated ===


__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message