Clarification of FIA in VXML 2.0

Hi!

I think the FIA needs a clarification on where exactly in the process
phase execution continues when a grammar from another form or menu was
matched. The spec says (Pseudocode from Appendix C):

"if ( user entered this form by speaking to its
      grammar while in a different form)
{
    Enter the main loop below, but start in
    the process phase, not the select phase:
    we already have a collection to process.
}"

The process phase starts with 

" //
    // Process Phase: process the resulting utterance or event.
    //

    Assign the utterance and other information about the last
    recognition to application.lastresult$.
            // Must have an utterance

    if ( the utterance matched a grammar belonging to a <link> )
      If the link specifies an "next" or "expr" attribute,
      transition to that location.  Else if the link specifies an
      "event" or "eventexpr" attribute, generate that event.

    else if ( the utterance matched a grammar belonging to a <choice> )
      If the choice specifies an "next" or "expr" attribute,
      transition to that location.  Else if the choice specifies
      an "event" or "eventexpr" attribute, generate that event.

    else if ( the utterance matched a grammar from outside the current
              <form> or <menu> )
    {
      Transition to that <form> or <menu>, carrying the utterance
      to the new FIA.
    }"

before instructing us to

"// Process an utterance spoken to a grammar from this form.
    // First copy utterance result property values into corresponding
    // form item variables.

    Clear all "just_filled" flags."

If you take all this pseudocode literally, in case a user
matches more than one grammar from a different
form or menu, you would find that out first in the current 
FIA and proceed to the form's FIA. There, you would find that
a different form's grammar was spoken to and proceed to that
form's FIA and so on. This is a clear contradiction to the fact
stated in 3.1.4,
 "In the case that an input matches more than one active grammar, 
the list above defines the precedence order. If the input matches 
more than one active grammar with the same precedence, the precedence
 is determined using document order: the first grammar in document 
order has highest priority." 

I'm curious as to whether FIAs can be stacked as to be executed
in such a way, or whether only one FIA can ever be executed at once
and all the other possible matches are forgotten about. I believe
there can be only one FIA active at one time and no such stack is
allowed, however, I'm open to any clarification and correction.

Thanks for your help,

Britta Koch
-- 
_________________________________________________________
                                                                                
Britta Koch | Software Engineer | Professional Services
MUNDWERK AG | Glinkastrasse 30 | D-10117 Berlin
tel: +49 (0)30 20 45 61-16 | fax: +49 (0)30 20 45 61-20
britta.koch@mundwerk.de | www.mundwerk.de
_________________________________________________________
                                                                                
Testen Sie MUNDWERK-Sprachlösungen (EUR 0,12 pro Minute)!
* 01805 665501 Tagesaktuelle Fondspreise
* 01805 665502 Der einarmige Bandit
_________________________________________________________

Received on Friday, 18 June 2004 06:45:01 UTC