<?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 1093
If a form level grammar is matched, field level <filled> elements are queued for 
execution if and only if the field has just been assigned a value by this input.
-->

  <catch><conf:fail expr="'catch-all caught ' + _event"/></catch>

   <form>

    <conf:grammar utterance="alpha">
      <conf:key name="x" value="valueX"/>
    </conf:grammar>

     <field name="x">
      <conf:speech value="alpha"/>
      <filled>
        <if cond="x == undefined">
           <conf:fail reason="in filled element for field x, but value is not assigned."/>
        <else/>
          <goto next="#yIsFilledxIsNot"/>
        </if>
      </filled>
    </field>

    <field name="y">
      <filled>
        <conf:fail reason="in filled element for field y, but value was not assigned."/>
      </filled>
    </field>

    <block>
      <conf:fail reason="should of exited in field X filled element."/>
    </block>

  </form>

  <form id="yIsFilledxIsNot">

    <conf:grammar utterance="alpha">
      <conf:key name="y" value="valueY"/>
    </conf:grammar>

     <field name="x">
      <conf:speech value="alpha"/>
      <filled>
        <conf:fail reason="in filled element for field x, but value was not assigned."/>
      </filled>
    </field>

    <field name="y">
      <filled>
        <if cond="y == undefined">
           <conf:fail reason="in filled element for field y, but value is not assigned."/>
        <else/>
          <conf:pass/>
        </if>
      </filled>
    </field>

    <block>
      <conf:fail reason="should of exited in field y filled element."/>
    </block>

  </form>


</vxml>
