<datamodel> not handled as global --------------------------------- Key: SCXML-101 URL: https://issues.apache.org/jira/browse/SCXML-101 Project: Commons SCXML Issue Type: Bug Affects Versions: 0.9 Reporter: Ingmar Kliche
The SCXML spec says: "Logically, there is a single globally visible data model for the entire state machine. As an authoring convenience, however, we allow <datamodel> as a child of any <state>, thus allowing parts of the data model to be distributed throughout the document closer to the locations where the data will be accessed. However, all instances of the <data> element are created and initialized when the state machine is instantiated and may be accessed from any state at any time." [1] There are two issues: 1) The current impl of commons-scxml introduced a scoping, such that <data> in <datamodel> elements contained within a <state> are only visible in this state and its children (due to context chain). I.e. the <datamodel> is not entirely global. 2) Initialization of <datamodel>'s contained in a <state> (i.e. non-root-datamodels) take place while entering the corresponding state for the first time while creating the context (SCXMLInstance#getContext()). But initialization of <data> elements has to take place at state machine initialization time. [1] http://www.w3.org/TR/scxml/#datamodel -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.