<?xml version="1.0"?>
<!-- we test that #_internal as a target of <send> puts the event on the internal queue.  If it does,
event1 will be processed before event2, because event1 is added to the internal queue while event2 is
added to the external queue (event though event2 is generated first)  -->

<scxml initial="s0" version="1.0" conf:datamodel=""  xmlns="http://www.w3.org/2005/07/scxml" xmlns:conf="http://www.w3.org/2005/scxml-conformance">

  
<state id="s0">
  <onentry>
   <!-- goes to the external queue -->
   <send event="event2"/>
   <!-- to the internal queue -->
   <send event="event1" target="#_internal"/>
    </onentry>
 
 <!-- once we've entered the state, we should check for internal events first -->   
  <transition event="event1" conf:targetpass=""/>
  <transition event="event2" conf:targetfail=""/>
 </state>

   <conf:pass/>
   <conf:fail/>

</scxml>