<?xml version="1.0"?>
<!-- @ Copyright 1998-2003 W3C (MIT, ERCIM, Keio), All Rights Reserved. See http://www.w3.org/Consortium/Legal/. @ -->
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
      xmlns:conf="http://www.w3.org/2002/vxml-conformance">

<!--
    Form level <script> elements are evaluated in document
    order at the same time as form item variables are initialised.
-->

  <catch>
    <conf:comment>
      Toplevel caught event <value expr="_event"/>
    </conf:comment>
    <conf:fail expr="_event"/>
  </catch>

  <var name="script2" expr="0"/>
  <var name="script4" expr="0"/>

  <var name="counter" expr="0"/>
  <script>
    function next()
    {
      document.counter = document.counter + 1;
      return document.counter;
    }
  </script>


  <form id="first">
    <var name="var1" expr="next()"/>
    <script>
      document.script2 = next();
    </script>
    <var name="var3" expr="next()"/>
    <script>
      document.script4 = next();
    </script>
    <var name="var5" expr="next()"/>

    <block>
      <conf:comment> var1 is <value expr="var1"/>       </conf:comment>
      <conf:comment> script2 is <value expr="script2"/> </conf:comment>
      <conf:comment> var3 is <value expr="var3"/>       </conf:comment>
      <conf:comment> script4 is <value expr="script4"/> </conf:comment>
      <conf:comment> var5 is <value expr="var5"/>       </conf:comment>

      <if cond="var1 != 1">
        <conf:fail reason="var 1 was not equal to 1!"/>
      </if>
      <if cond="script2 != 2">
        <conf:fail reason="script 2 was not equal to 2!"/>
      </if>
      <if cond="var3 != 3">
        <conf:fail reason="var 3 was not equal to 3!"/>
      </if>
      <if cond="script4 != 4">
        <conf:fail reason="script 4 was not equal to 4!"/>
      </if>
      <if cond="var5 != 5">
        <conf:fail reason="var 5 was not equal to 5!"/>
      </if>
      <conf:pass/>
    </block>
  </form>

</vxml>
