- From: Britta Koch <bkoch@mundwerk.de>
- Date: Fri, 18 Jun 2004 12:36:07 +0200
- To: www-voice@w3.org
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