- From: Brian Wyld <brian.wyld@eloquant.com>
- Date: Wed, 2 Apr 2008 10:20:56 +0200
- To: <rajeshn@huawei.com>, <www-voice@w3.org>
- Message-ID: <0a8601c8949a$79cdbd20$d000a8c0@marco>
Hi, my 2c: For subdialog, my understand is that the way to look at it is that the browser should have a single shared prompt queue. Unlike the variable or property scopes, which are NOT shared with subdialogs, the prompt queue is shared. Therefore, if you queue a prompt in the subdialog field, and the subdialog does input collection, then that prompt is played (as the prompt queue is shared). If the subdialog does NOT do input collection, the prompt will be played at the next input collection moment (after the subdialog return). Equally, any prompts queued in the subdialog pages will also be played at the next input time. [this is very useful : one can create a dynamic backend element that is called as a subdialog to enqueue prompts based on its parameters eg for audio concatination, but without it doing input] For object, I would assume a similar model : if the object does input then the prompt queue is played, otherwise it is left until the next input time. However, the execution of subdialog pages is well-specified in the vxml standard as they are just more vxml - but the execution of object that does input is pretty vague..... Personally, I'd avoid using object at all, and particularly for input elements. Use a subdialog to a backend module if you need to execute "real" code..... this is ALWAYS portable between vxml browsers unlike object.... A+ Brian -----Original Message----- From: www-voice-request@w3.org [mailto:www-voice-request@w3.org]On Behalf Of Rajesh N Sent: Wednesday, April 02, 2008 6:33 AM To: www-voice@w3.org Subject: VXML: Regarding <prompt> in <object> and <subdialog> Hi, I have a doubt regarding the processing of <prompt> during the collect phase for <object> and <subdialog>. Section 2.1.6.2.2 of VXML specfication says that: "If a <subdialog> or <object> is visited, the prompts are queued based on the item's prompt counter and the prompt conditions. Grammars are not activated. Instead, the input collection behavior is specified by the executing context for the subdialog or object. The queue is not played before the subdialog or object is executed, but instead should be played during the subsequent input collection." Consider the object example.. <form id="gather_pager_message"> <object name="message" classid="builtin://keypad-text-input"> <prompt> Enter your message by pressing your keypad once per letter. For a space, enter star. To end the message, press the pound sign. </prompt> </object> <block> <assign name="document.pager_message" expr="message.text"/> <goto next="#confirm_pager_message"/> </block> </form> The explanation says that the user is first prompted for the pager message, then keys it in... Here, how is the <prompt> within the <object> processed? a) The interpreter selects and queues the prompt, and plays it (flushes) before issuing the request to the platform to execute the object... (or) b) The interpreter just selects the prompt and pass it as a parameter, in the request to the platform to execute the object. The object implementation only decides when and how to play the prompt. Which of the above mentioned options is correct? The playing of <prompt> written within a <subdialog> is also a bit ambiguous. Could someone explain with an example. Thanks Rajesh
Received on Wednesday, 2 April 2008 08:21:42 UTC