<?xml version="1.0" encoding="UTF-8"?><!-- we test that srcexpr is evaluated at runtime.  If the original value of var1 is used, the invocation
will fail (assuming that there is no script named 'foo').  If
the runtime value is used, the invocation will succeed --><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="'foo'"/>
   </datamodel> 
   
<state id="s0">
  <onentry>
    <send event="timeout" delay="5s"/>
   <assign location="Var1" expr="'file:test216sub1.scxml'"/>
    </onentry>
  <invoke srcexpr="Var1" type="http://www.w3.org/TR/scxml"/>
  <transition event="done.invoke" 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>