<?xml version="1.0" encoding="UTF-8"?><!-- test that _ioprocessors stays bound till the session ends.  This means that it cannot be assigned to --><scxml xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance" initial="s0" datamodel="ecmascript" version="1.0" name="machineName">
<datamodel>
  <data id="Var1" expr="_ioprocessors"/>
  <data id="Var2"/>
  </datamodel>

 <state id="s0">
    <transition cond="Var1" target="s1"/> 
   <transition cond="true" target="fail"/>
   </state> 
      
   
 <state id="s1">
   <onentry>
    <assign location="_ioprocessors" expr="'otherName'"/>
    <raise event="foo"/>
    </onentry>
 
   <transition event="error.execution" target="s2"/>
   <transition event="*" target="fail"/>
   </state>
   
 <state id="s2">
   <onentry>
     <assign location="Var2" expr="_ioprocessors"/>
     </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>