RE: XForms UI controls customization with CSS and SVG

> Could you give me some details on how do you submit the data 
> and how do you handle it on the server side? Are you using 'submitInfo' 
> element? 

Forms authors write the forms using ordinary XForms (with our private
extensions when needed), including the submitInfo element (sorry, I forgot
to include one into the sample). The XForms document is then transformed
using single xslt transform into ordinary HTML, only a copy of each
<xforms:instance> is created (we use the IE's <xml> tag for that). When the
form is submitted, the instance data are serialized and send as a string to
the server from a hidden <html:form method="POST"> element. The server
creates an instance of a xml parser and parses this serialized xml. The
resulting xml DOM is then disposable to all scripts on the server side.

> Did you implement 'event's on the client side?

Yes, most of them (valueChanged, etc.). The xslt transform on the client
side needs to build a javascript object model of the <xforms:bind>s etc. in
order to be able to effectively monitor what's going on in the form.

> Are you using pure XSLT transformation for rendering?

Pure XSLT on the client side for rendering, but the instance data are filled
in the resulting HTML form using javascript; and the dynamic behaviour of
the forms is handled by javascript.

> There is an effort at Cocoon project aimed to implement an XML-based forms
> handling and it uses a syntax close to XForms, but some parts are quite
> difficult or impossible to implement for the server-side processing. 

I thing that the whole xslt transform as we do it can be done on the server
side. But the resulting HTML contains and uses lots of scripts, which
require a powerful client computer to run on, otherwise the user experience
is not good. The sample form would take about five seconds to initialise,
but we haven't done any speed optimisations yet, so the delay will hopefully
reduce.

Best regards,
		Martin.

Received on Thursday, 25 April 2002 06:34:27 UTC