Definition of "dependent" and "reference" in Proposed Erratum 14, XForms 2.0, XPath Expression Module

On Jan 20, 2011 (
http://lists.w3.org/Archives/Public/public-forms/2011Jan/0017.html) we 
discussed the issue that the definition of the term 'reference' was too 
broad and caused excessive circular references that made the recalculation 
engine malfunction in reasonable use cases. The outcome was an action item 
for me to "make it better somehow".

The longer term desire is to loosen the definition of 'reference' to the 
point where it is not so implementation specific and indeed where we could 
entirely get rid of manual rebuilds.

I find that I cannot currently loosen that definition at all without also 
radically changing our architecture so that the notions of manual rebuild 
and dynamic dependency are eliminated.  But, in the process I also 
realized that since the long term goal was to eliminate dynamic 
dependencies and rebuilding, then the short term erratum/correction is to 
fix the definition of 'dependent' for computed expressions, and leave the 
overhaul of the definitions for another time.

This has the desirable effect that the fix does not affect anyone who 
isn't using the actual recalculation graph algorithm, and this change does 
not affect anyone who might be concerned with doing static analysis as an 
alternative way of achieving the definition of 'reference'.  The 
definition of 'reference' is no better than before, but also no worse.  It 
simply isn't changed, so this Erratum can be clearly seen to be orthogonal 
to that concern.

Proposed Erratum 14: 
http://www.w3.org/MarkUp/Forms/wiki/XForms_1.1_First_Edition_Errata#Erratum_14:_Dynamic_dependencies_and_computed_expressions

I've also made this change to the XForms 2.0 wiki spec (as you'll see, 
easy enough to roll back or further refine): 
http://www.w3.org/MarkUp/Forms/wiki/XForms_2.0#References.2C_Dependencies.2C_and_Dynamic_Dependencies

Lastly, all this got started because I noticed that the definition of 
'reference' was XPath specific, so the XForms 2.0 spec indicated that the 
reference selection mechanism appears in the expression module, so I 
amended the expression module to actually contain it:
http://www.w3.org/MarkUp/Forms/wiki/XPath_Expressions_Module#Reference_Selection

Note that this version simply preserves what we used to have in XForms 
1.1, so it needs to be looked at with XPath 2.0 eyes.

Cheers,
John M. Boyer, Ph.D.
Distinguished Engineer, IBM Forms and Smarter Web Applications
IBM Canada Software Lab, Victoria
E-Mail: boyerj@ca.ibm.com 

Twitter: http://twitter.com/johnboyerphd
Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer
Blog RSS feed: 
http://www.ibm.com/developerworks/blogs/rss/JohnBoyer?flavor=rssdw

Received on Tuesday, 17 April 2012 22:54:00 UTC