<?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>