Last updated $Date: 2016/12/28 14:46:27 $
Copyright © 2015-2016 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and document use rules apply.
The SCXML Recommendation has been produced by the W3C Voice Browser Working Group as part of the activity of the W3C Ubiquitous Web Domain.
This document lists known errata to the Recommendation. Each entry has the following information:
Please send general comments about this document to the public mailing list at www-voice@w3.org. The archive for the list is accessible online.
Added text marked ↑new, added text↑. Changed text marked ↑changed text↑. Removed text marked ↓deleted text↓.
None.
In section C.1.2, "Example 3" contains an incorrect attribute name.
<send sendid="send-123" .../>
should be:
<send id="send-123".../>
That is, the <send> element has an 'id' attribute, and does not have a 'sendid' attribute.
Email trail:
The second paragraph of Appendix B should read:
The definition of a data model MUST:
instead of:
The definition of a data model MUST:
The existing language in the specification is misleading and can be read as saying that the attributes that are mentioned are the only places that the various expression languages are used. That is not necessarily the case. The attributes are mentioned only as examples.
Email trail:
The fourth paragraph of section 3.12.1 on the example of event name match should read:
For example, a transition with an 'event' attribute of "error foo" will match event names "error", "error.send", "error.send.failed", etc. (or "foo", "foo.bar" etc.) but would not match events named "errors.my.custom", "errorhandler.mistake", "errOr.send" or "foobar".
instead of:
For example, a transition with an 'event' attribute of "error foo" will match event names "error", "error.send", "error.send.failed", etc. (or "foo", "foo.bar" etc.) but would not match events named "errors.my.custom", "errorhandler.mistake", "error.send" or "foobar".
The text in the specification erroneously has "error.send" in place of "errOr.send".
Email trail:
In the prose introduction to the interpret() procedure, the following sentence is incorrect:
Finally call enterStates on the initial configuration, set the global running variable to true and start the interpreter's event loop.
It should read:
Finally call enterStates on a one item list consisting of the <transition> inside the <initial> element that has been created from the 'initial' attribute on <scxml>. Then set the global running variable to true and start the interpreter's event loop.
Email trail:
The procedure interpret() fails to set the 'binding' global variable, which causes the variable to be unbound when it is accessed in enterStates().
The following statement in interpret():
if doc.binding == "early": initializeDatamodel(datamodel, doc)
should be replaced by:
binding = doc.binding if binding == "early": initializeDatamodel(datamodel, doc)
Email trail:
In the example Main.scxml, there is a transition that incorrectly contains a 'next' attribute instead of a 'target' attribute:
<transition event="done.state.Test2" next="Test3"/>
should be:
<transition event="done.state.Test2" target="Test3"/>
Email trail:
In the examples of "Traffic Report" and "Blackjack", there are states that incorrectly contain an 'onenter' element instead of an 'onentry' element.
For example:
<onenter>
<script>enterStartOver();</script>
</onenter>
should be:
<onentry>
<script>enterStartOver();</script>
</onentry>
Email trail: