Revision control
++ <?xml version="1.0" encoding="UTF-8"?><!-- test that the else clause executes if <if> and <elseif> evaluate to false.
++ Baz should be the only event generated by the <if>. bat is raised to catch the case where the <else> clause
++ fails and baz is not generated, i.e. it makes sure that the test doesn't hang. --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" version="1.0" datamodel="ecmascript">
++ <datamodel>
++ <data id="Var1" expr="0"/>
++ </datamodel>
++
++ <state id="s0">
++ <onentry>
++ <if cond="false">
++ <raise event="foo"/>
++ <assign location="Var1" expr="Var1 + 1"/>
++ <elseif cond="false"/>
++ <raise event="bar"/>
++ <assign location="Var1" expr="Var1 + 1"/>
++ <else/>
++ <raise event="baz"/>
++ <assign location="Var1" expr="Var1 + 1"/>
++ </if>
++ <raise event="bat"/>
++ </onentry>
++ <transition event="baz" cond="Var1==1" target="pass"/>
++ <transition event="*" target="fail"/>
++
++ </state>
++
++
++ <final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
++ <final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
++
++ </scxml>