<?xml version="1.0" encoding="UTF-8"?><!-- test that errors go in the internal event queue.  We send ourselves an external event foo, then perform
and operation that raises an error. Then check that the error event is processed first, even though
it was raised second  --><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">

       
<state id="s0">
  <onentry>
     <send event="foo"/>
     <!-- assigning to a non-existent location should raise an error -->
    <assign location="Var1" expr="2"/>
    </onentry>

    
  <transition event="foo" target="fail"/>
  <transition event="error" target="pass"/>

</state>
 
<final id="pass"><onentry><log label="Outcome" expr="'pass'"/></onentry></final>
<final id="fail"><onentry><log label="Outcome" expr="'fail'"/></onentry></final>
</scxml>