RE: VXML: Regarding <prompt> in <object> and <subdialog>

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