<?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">

<!--
    1078: For every type of form item, the form item is eligible to be
    visited by the FIA if the form item has no cond attribute 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">
      <conf:speech value="alpha"/>
    </initial>

    <!-- Should never be filled in directly. -->
    <field name="f1">
    </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">
      <conf:speech value="alpha"/>
    </field>

    <record name="r">
      <conf:speech value="bravo"/>
    </record>

    <subdialog name="s" src="#prompt">
    </subdialog>

    <block name="b">
    </block>

    <transfer name="t" 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" classid="awierduri://astupidobjectname">
      <error>
        <conf:comment> Caught event <value expr="_event"/> in object element. </conf:comment>
        <assign name="o" expr="1234"/>
        <conf:pass/>
      </error> 
    </object>

    <block>
      <conf:fail reason="Should not get here."/>
    </block>
  </form>


  <form id="prompt">
    <var name="a" expr="'AAA'"/>
    <block>
      <return namelist="a"/>
    </block>
  </form>

</vxml>
