- From: Mikko Honkala <honkkis@tml.hut.fi>
- Date: Thu, 02 Jan 2003 12:26:42 +0200
- To: Micah Dubinko <mdubinko@yahoo.com>, www-forms-editor@w3.org
Hi Micah,
I would agree to the first part of your message (to move
getInstanceDocument from <model> to <instance>, actually that already
works in my implementation), but I have a problem with moving rebuild()
and recalculate() to <instance>.
The problem is that since we now have the XPath function instance(),
which links all the instances within a model, it is not really possible
to rebuild or calculate a single instance. These operations always apply
to the whole model. In other terms, there is only one calculation engine
_per_model_.
As what comes to revalidate, I think it should stay in sync with
recalculate, since it uses the computed results of the 'constraint'
propery. For refresh, I don't care.
-mikko
Micah Dubinko wrote:
> Greetings,
>
> Upon review of the DOM interfaces defined in 7.2, there are some
> seeming inconsistencies, or at least oddities. As currently specified,
> code such as this (JavaScript in this case) would be needed to modify
> instance data through script:
>
> var modelElem = document.getElementById("id_of_model_element");
> var instDoc = modelElem.getInstanceDocument("id_of_instance_element");
>
> // Perform operations on instDoc
>
> modelElem.rebuild();
> modelElem.recalculate();
> modelElem.revalidate();
> modelElem.refresh();
>
> The strange part is that the interface is based on the model element,
> so another idref is needed in the parameter of getInstanceDocument to
> say _which_ instance is needed, within the model. If my recollection
> serves, this goes back to the time when each model had only a single
> instance.
>
> Further, the four r* methods will cause *all* instances on the given
> model to be rebuilt/recalculated/revalidated/refreshed, which is a
> different level of granularity than getInstanceDocument.
>
> Request: If the implementers agree, I request that the interface be
> specified as part of the instance element instead, removing the need
> for a parameter on getInstanceData. The previous code would then look
> like:
>
> var instElem = document.getElementById("id_of_instance_element");
> var instDoc = modelElem.getInstanceDocument();
>
> // Perform operations on instDoc
>
> instElem.rebuild();
> instElem.recalculate();
> instElem.revalidate();
> instElem.refresh();
>
> Thanks,
>
> .micah
>
> =====
> Find out what the fuss about XForms is all about. Full text of my book in-progress online at http://dubinko.info/writing/xforms/
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
Received on Thursday, 2 January 2003 05:26:32 UTC