W3C home > Mailing lists > Public > www-voice@w3.org > April to June 2004

RE: Clarification of FIA in VXML 2.0

From: Teemu Tingander <Teemu.Tingander@tecnomen.fi>
Date: Fri, 18 Jun 2004 14:07:56 +0300
Message-ID: <BC70F0884912B54E9F65043933CFF57591D1A8@aunty.tecnomen.fi>
To: Britta Koch <bkoch@mundwerk.de>, www-voice@w3.org

Hi!

I'm not involved with W3C VoiceXML board or anything, so this might be
wrong; 

But we can turn this around too and look it form another end. If we start
from point a that defines the matching grammar;

"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." 

We end to one single grammar that "matched" not many in any case. So in your
words "all the other possible matches are forgotten"

This will end the Collect phase and then happens the Process phase:

"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.
}"

And in the another form or menu we skip the collect phase and go directly
into process phase..

So:

In this view I think that you believes are correct: "all the other possible
matches are forgotten"

- Teemu

-----Original Message-----
From: Britta Koch [mailto:bkoch@mundwerk.de] 
Sent: 18. kesäkuuta 2004 13:45
To: www-voice@w3.org
Subject: 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 07:08:19 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 30 October 2006 12:48:59 GMT