<?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"
>

<!-- Assertion 313 - When <filled> is a child of a <form>, and the mode attribute 
is set to "all", the filled is executed when all of the form items specified in the 
namelist have been filled.-->

  <catch><conf:fail expr="'catch-all caught ' + _event"/></catch>

  <form>
    <field name="one">
      <conf:speech value="alpha"/>
      <conf:grammar utterance="alpha" interp="fieldOne"/>
    </field>

    <field name="two">
      <conf:speech value="bravo"/>
      <conf:grammar utterance="bravo" interp="fieldTwo"/>
    </field>

    <filled mode="all" namelist="one two">
  <if cond="two == undefined &amp;&amp; one=='fieldOne'">
            <conf:fail reason="In filled element, but field two is not filled."/> 
  <elseif cond="one == undefined &amp;&amp; two=='fieldTwo'"/>
            <conf:fail reason="In filled element, but field one is not filled."/> 
  <elseif cond="one == 'fieldOne' &amp;&amp; two=='fieldTwo'"/>
            <conf:pass/>
        </if>
  <conf:fail reason="filled was called with unexpected values."/>
    </filled>

  </form>

</vxml>
