<?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">

<!--
    149: A form-level grammar can fill the following form items:
         <field>, <record>, <transfer>, <object> and <subdialog>.
-->

  <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="r1" value="1234"/>
      <conf:key name="s1" value="1234"/>
      <conf:key name="t1" value="1234"/>
      <conf:key name="o1" value="1234"/>
    </conf:grammar>

    <field name="f1" cond="true">
      <conf:speech value="alpha"/>
    </field>

    <record name="r1" cond="true">
      <conf:speech value="bravo"/>
    </record>

    <subdialog name="s1" cond="true" src="#prompt">
    </subdialog>

    <transfer name="t1" 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="o1" cond="true" classid="awierduri://astupidobjectname">
      <error>
        <conf:comment> Caught event <value expr="_event"/> in object element. </conf:comment>
        <assign name="o1" expr="1234"/>
        <conf:pass/>
      </error> 
    </object>

    <filled mode="any" namelist="f1 r1 s1 t1 o1">
      <if cond="f1 == undefined || r1 == undefined || s1 == undefined || t1 == undefined || o1 == undefined">
        <conf:fail/>
      </if>
    </filled>

    <block>
      <conf:pass/>
    </block>
  </form>


  <form id="prompt">
    <var name="a" expr="'AAA'"/>
    <block>
      <return namelist="a"/>
    </block>
  </form>

</vxml>
