cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jakob Praher <jpra...@yahoo.de>
Subject Re: What's in XMLForm 1.1? Call for discussion.
Date Mon, 31 Mar 2003 07:37:03 GMT
Am Mon, 2003-03-31 um 05.52 schrieb ivelin:
> It is time to start work on the next version.
> Primary goal will be compliance with the XForms CR syntax.
very good.

> A topic which calls for a debate is what, if any, other XForms features in
> addition to form controls should be added to XMLForm without sacrificing
> performance. Triggers, computations and validation are possible candidates.
> What do you think?
> 

Somehting I would like to see:

* Implementation of all the XForms functions (that are then available
using jxpath)

	http://www.w3.org/TR/xforms/slice7.html#expr-lib

* instance element and instance function to declare more instances, not
only the Form.getModel( ), especially referenced models would be great:

<xforms:model>
   <xforms:instance href="http://www.example.com/OrderFormData.xml"/>
</xforms:model>

all xforms:instance must have an @id tag - the default instance would be
the the Form.getModel( ).

* binding and calculating:

<xforms:model>

  <xforms:bind ref="/OrderInfo/PriceInfo/TaxRate"
        calculate="/OrderInfo/TaxInfo/CT * 10"
        relevant="/OrderInfo/PersonalInfo/Address/State = 'CT'"/>

</xforms:model>

It is somewhat tricky to implement, when the model is on the server and
the controls are "far away", as updates are expensive, but I could
imagine the transformer could check whether a bind element is
"ref"erenced by any control.

Then the transformer could track, which controls could trigger a
recalculation, so that you can effectively recalculate only the controls
that need to get updated. [possibly using javascript on the browser
side, or form submits for browser not supporting javascript].

 bind@ref -> { controls | control needs update }
 bind@calculate -> { controls | control that trigger updates }

Additionally, given that some browser already support SOAP (ie, mozilla
xmlextras) it would be interesting to use a data channel for
updating/reevalutation of the model. (scratchpad...)


In my current projects I use xsp for the views, to reference other data
and generic javascript functions to calculate dependent data. You can do
this quite generically, with javascript hashes and lists and the real
great Event listener system of the dom. So, in my opinion, a generic
implementation that conforms to the xforms spec would be feasible.


-- Jakob


Mime
View raw message