<?xml version="1.0" encoding="UTF-8"?><!-- test late binding.  var2 won't get bound until s1 is entered, so it shouldn't  have a value in s0 and
accessing it should cause an error. It should get bound before the onentry code in s1 so it should  be
possible access it there and assign its value to var1 --><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" binding="late">
 
 <datamodel>
   <data id="Var1"/>
   </datamodel>  
     
 <state id="s0">
   <transition cond="typeof Var2 === 'undefined' " target="s1"/>
  <transition target="fail"/>
   </state>
   
<state id="s1">
  <datamodel>
    <data id="Var2" expr="1"/>
    </datamodel>
    <onentry>
    <assign location="Var1" expr="Var2"/>
    </onentry>
    <transition cond="Var1===Var2" target="pass"/>
    <transition 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>