- From: Teemu Tingander <Teemu.Tingander@tecnomen.fi>
- Date: Fri, 18 Jun 2004 14:07:56 +0300
- 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 UTC