Export (0) Print
Expand All

enumerate

Creates a template for choices in a menu.

<enumerate />

The enumerate element allows you to specify a template that is applied to each choice in a menu or to each option in a field. You can access the prompt and DTMF key assigned to the current choice or option by using the Platform-defined _prompt and _dtmf variables.

You must set the dtmf attribute to true on the menu to access the _dtmf variable within the template.

The following example uses a menu to prompt the user for an action. The enumerate element includes a template that presents the user with the DTMF key and the allowable phrase for each choice in the menu. A regular expression is used to remove special grammar characters from the prompt before playing them back to the user via the TTS engine.

<?xml version="1.0"?>
<vxml version="2.1"
 xmlns="http://www.w3.org/2001/vxml">
  <var name="iTries" expr="0"/>

  <catch event="event.askagain">
      <break time="800ms"/>
      <assign name="iTries" expr="iTries+1"/>
      <goto next="#get_command" />
  </catch>

  <menu id="get_command" dtmf="true">
    <prompt>
      <if cond="0 == iTries">
         Welcome home.
         <break time="200ms" />
         <enumerate>
            To <value expr="_prompt.replace(/[\?\(\)]/g, '')"/>, 
            press <value expr="_dtmf"/>, 
            or say <value expr="_prompt.replace(/[\?\(\)]/g, '')"/>.
            <break time="200ms"/>
         </enumerate>
      <else/>
         What else would you like to do?
      </if>
    </prompt>

    <choice next="#heater">(turn on the heater)</choice>
    <choice next="#lights">(turn on the lights)</choice>
    <choice next="#slippers">(fetch my slippers)</choice>
    <choice next="#nothing">(?do nothing)</choice>

    <nomatch>
      Sorry, I didn't understand you. 
      <reprompt />
    </nomatch>

    <noinput>
      Sorry. I didn't hear you. 
      <reprompt />
    </noinput>

  </menu>

  <form id="heater">
    <block>turning on the heater 
       <throw event="event.askagain"/>
    </block>
  </form>

  <form id="slippers">
    <block>fetching your slippers 
       <throw event="event.askagain"/>
    </block>
  </form>

  <form id="lights">
    <block>turning on the lights 
       <throw event="event.askagain"/>
    </block>
  </form>

  <form id="nothing">
    <block>
       <exit/>
    </block>
  </form>
</vxml>

Community Additions

ADD
Show:
© 2014 Microsoft