Need to pre-declare SCXML data?

Some of the tests in the SCXML test suite test to ensure that assigning to a data model value location is illegal if there did not pre-exist a <data> element declaring the location. For example, test 286. Is this a limitation of the ECMAScript data model only?

I don't see anywhere in the specs that this is explicitly mentioned. In particular, Section 5.4 on <assign> says only:
"Assignment to a data model is done by using a location expression to denote the part of the data model where the insertion is to be made. If the location expression does not denote a valid location in the data model […] the SCXML Processor must place the error 'error.execution' in the internal event queue.”

I cannot find any other definition of what constitutes a "valid location". I assume that it is up to the data model to determine that. For my Lua-based data model, any possible value of the location attribute is a "valid location". I auto-vivify data model locations upon first value creation, be it via either <data> or <assign>.
Is there a strong reason to require data model locations to be declared with <data> before later <assign>?

Received on Tuesday, 15 April 2014 22:55:11 UTC