<?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">

<!--
    1077: For every type of form item, the form item is eligible to be visited
    by the FIA if the form item has a cond attribute evaluating to true
    and the form item variable is undefined.
-->

  <catch>
    <conf:comment>
      Toplevel caught event <value expr="_event"/>
    </conf:comment>
    <conf:fail expr="_event"/>
  </catch>


  <form id="first">
    <conf:grammar utterance="alpha">
      <conf:key name="f1" value="1234"/>
      <conf:key name="f2" value="5678"/>
    </conf:grammar>

    <var name="v" expr="1234"/>

    <!-- Form level grammar will fill both f1 and f2. -->
    <initial name="i" cond="true">
      <conf:speech value="alpha"/>
    </initial>

    <!-- Should never be filled in directly. -->
    <field name="f1" cond="true">
    </field>

    <!-- Clear f2 so we can test this assertion on a field. -->
    <block>
      <clear namelist="f2"/>
    </block>

    <!-- Form level grammar will fill both f1 and f2 again. -->
    <field name="f2" cond="true">
      <conf:speech value="alpha"/>
    </field>

    <record name="r" cond="true">
      <conf:speech value="bravo"/>
    </record>

    <subdialog name="s" cond="true" src="#prompt">
    </subdialog>

    <block name="b" cond="true">
    </block>

    <transfer name="t" cond="true" dest="anunsupporteduri:+xxx-xxx-xxxxxxx">
      <!-- Assume platform doesn't handle <transfer> (or fails on our odd URI). -->
      <error>
        <conf:comment> Caught event <value expr="_event"/> in transfer element. </conf:comment>
        <assign name="t" expr="1234"/>
        <reprompt/>
      </error>
    </transfer>


    <!-- Assume platform doesn't handle <object> (or our odd object). -->
    <object name="o" cond="true" classid="awierduri://astupidobjectname">
      <error>
        <conf:comment> Caught event <value expr="_event"/> in object element. </conf:comment>
        <assign name="o" expr="1234"/>
        <conf:pass/>  <!-- Avoids an event loop on one platform. -->
      </error> 
    </object>

    <block>
      <conf:pass/>
    </block>
  </form>


  <form id="prompt">
    <var name="a" expr="'AAA'"/>
    <block>
      <return namelist="a"/>
    </block>
  </form>

</vxml>
