- From: Erik Bruchez <ebruchez@orbeon.com>
- Date: Wed, 26 Jul 2006 16:42:28 +0200
- To: www-forms@w3.org
Mark, A question related to your use of models to provide modular components: do you have a mechanism by which you can call a method on the model (send an event) and pass it an instance? For example, if your model implements a "save" function into eXist, ideally you would try to achieve something like this (using an OO notation): my-model.save(instance('my-instance')) Now I see how you dispatch a "save" event to the model with id "my-model", but how do you pass it data? Do you use event context information? -Erik Mark Birbeck wrote: > > Hi Erik, > >> But wouldn't allowing this function to be called from a model encourage >> breaking encapsulation? Wouldn't events be enough as a mechanism to >> communicate between models? >> >> For use within controls I don't disagree though. Maybe the instance() >> function could simply take an optional second parameter, that would >> indicate if the search for instances should be global: >> >> [...] > > We felt that having a different function made it clearer that we were > really doing a lookup, rather than establishing a connection between > the models. The point here is that we actually *don't* want a > 'connection' between the models, since this 'leak' would then require > longer rebuilds. But we *do* want to be able to reference data in > other models, such as when using an instance as a source of templates > for xf:insert. > > There are actually many situations in XForms where you use a value in > a calculation on a 'per-use' basis, such as in xf:setvalue or > xf:insert, and since this creates no dependency, it's not going to > hurt to be able to get data from other models for these actions. > > As it happens, in most of our stuff we don't have expressions that mix > models within one XPath statement; what we try to do is use our > encapsulation techniques, and just copy out the data we need with > setvalue or insert. So far we've kept our use of globalInstance() to > that, and it has worked pretty well. > > Regards, > > Mark > -- Orbeon - XForms Everywhere: http://www.orbeon.com/blog/
Received on Wednesday, 26 July 2006 14:42:36 UTC