LogoLogo
  • Go to Docs Center
  • Plum DEV Documentation
  • Overview
  • Developer Reference
    • Tutorial
    • How to...
      • Use Plum's Transcription API
    • Audio Formats and Prompts
    • Grammars and Speech Recognition
    • Available ASR Engines
    • TTS Engine Characteristics
      • Amazon Polly TTS Engine
        • Polly Voice Tag Attribute Details
      • AT&T Natural Voices
      • Cepstral Engine
      • RealSpeak Engine
      • Vocalizer 7
        • Vocalizer 7: <voice> tag and SSML Support
    • Data Exchange
    • Logging
    • Caching
    • Root Documents
  • VoiceXML
    • Tags
      • <assign>
      • <audio>
      • <block>
      • <break>
      • <catch>
      • <choice>
      • <clear>
      • <data>
      • <desc>
      • <disconnect>
      • <else>
      • <elseif>
      • <emphasis>
      • <enumerate>
      • <error>
      • <example>
      • <exit>
      • <field>
      • <filled>
      • <foreach>
      • <form>
      • <goto>
      • <grammar>
      • <help>
      • <if>
      • <initial>
      • <item>
      • <lexicon>
      • <link>
      • <log>
      • <mark>
      • <menu>
      • <meta>
      • <metadata>
      • <noinput>
      • <nomatch>
      • <one-of>
      • <option>
      • <paragraph>
      • <param>
      • <phoneme>
      • <prompt>
      • <property>
      • <prosody>
      • <record>
      • <reprompt>
      • <return>
      • <rule>
      • <ruleref>
      • <say-as>
      • <script>
      • <sentence>
      • <speak>
      • <sub>
      • <subdialog>
      • <submit>
      • <tag>
      • <throw>
      • <token>
      • <transfer>
      • <value>
      • <var>
      • <voice>
      • <vxml>
    • Properties
      • audiofetchhint
      • audiomaxage
      • audiomaxstale
      • bargein
      • bargeintype
      • certverifypeer
      • completetimeout
      • confidencelevel
      • datafetchhint
      • datamaxage
      • datamaxstale
      • documentfetchhint
      • documentmaxage
      • documentmaxstale
      • fetchaudio
      • fetchaudiodelay
      • fetchaudiominimum
      • fetchtimeout
      • grammarfetchhint
      • grammarmaxage
      • grammarmaxstale
      • incompletetimeout
      • inputmodes
      • interdigittimeout
      • logging
      • maxnbest
      • maxspeechtimeout
      • normalizeaudio
      • recordcall
      • recordcallappend
      • recordutterance
      • recordutterancetype
      • scriptfetchhint
      • scriptmaxage
      • scriptmaxstale
      • sensitivity
      • speedvsaccuracy
      • termchar
      • termmaxdigits
      • termtimeout
      • timeout
      • universals
      • voicegender
      • voicename
    • Application and Session Variables
      • application.lastresult$[i].confidence
      • application.lastresult$[i].inputmode
      • application.lastresult$[i].interpretation
      • application.lastresult$[i].recording
      • application.lastresult$[i].recordingduration
      • application.lastresult$[i].recordingsize
      • application.lastresult$[i].utterance
      • session.callrecording
      • session.id
      • session.telephone.ani
      • session.telephone.dnis
    • VoiceXML Resources
  • Plum DEV Guide
    • Using the Plum DEV site
    • Using the File Repository
    • Outbound Calling Guide
      • Using the Outbound Tools in the DEV web UI
      • DEV Outbound Programming Notes
      • Outbound FAQs and Tips
    • Call Reporting
    • Analytics
    • VoiceTrends
    • Debugging
    • Scratchpads
    • Saved URLs
    • Voice Biometrics
    • Call Routing
    • Data Security
      • 'Private' Tags
      • Managing Secure Phone Numbers
      • Sensitive Data Types
    • SMS Guide
      • Standard Short Codes
      • SMS Debugging/Error Logs
      • Additional SMS Info
    • Single Sign On
  • Plum DEV APIs
    • DEV Outbound APIs
      • Contacts CSV Formatting
      • Outbound API Parameter Notes
      • Legacy and Miscellaneous Notes
    • SMS API
    • Call Logs API
    • Call Scheduling and Pacing API
    • Transcription API
    • Application API
    • Blocklist API
Powered by GitBook
On this page
  • <foreach>
  • Attributes
  • Notes
  • Example
  • Child Tags
  • Parent Tags
  1. VoiceXML
  2. Tags

<foreach>

Previous<filled>Next<form>

Last updated 1 year ago

<foreach>

The <foreach> element allows a VoiceXML application to iterate through an ECMAScript array and to execute the content contained within the <foreach> element for each item in the array.

Attributes

Name
Data type
Description

array

String

An ECMAScript expression that must evaluate to an array; otherwise, an error.semantic event is thrown.

item

String

The variable that stores each array item upon each iteration of the loop. A new variable will be declared if it is not already defined within the parent's scope.

Notes

Both “array” and “item” must be specified. Please refer to the for examples and detailed usage information for this tag.

Example

<?xml version="1.0"?>
<vxml version="2.1">
  <form>
    <script>
      var movies = new Array();
      movies[0] = new Object();
      movies[0].audio = 'godfather.wav';
      movies[0].tts = 'The Godfather';
      movies[1] = new Object();
      movies[1].audio = 'highfidelity.wav';
      movies[1].tts = 'High Fidelity';
      movies[2] = new Object();
      movies[2].audio = 'raiders.wav';
      movies[2].tts = 'Raiders of The Lost Ark';
    </script>
    <field name="mov">
      <prompt>
        Please select one of the following movies.
        <break time="500ms"/>
        <foreach item="movie" array="movies">
          <audio expr="movie.audio"><value expr="movie.tts"/></audio>
          <break time="500ms"/>
        </foreach>
      </prompt>
      <grammar mode="voice" type="application/srgs+xml" root="ROOT">
        <rule id="ROOT">
          <one-of>
            <item>The Godfather</item>
            <item>High Fidelity</item>
            <item>Raiders of The Lost Ark</item>
          </one-of>
        </rule>
      </grammar>
      <filled>
        You said <value expr="mov"/>.
      </filled>
    </field>
  </form>
</vxml>

The output of the above script would be:

Computer: Please select one of the following movies. Computer: The Godfather, High Fidelity, Raiders of The Lost Ark. Human: High Fidelity. Computer: You said High Fidelity.

Child Tags

Parent Tags

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

, , , , , , , , ,

VoiceXML 2.1 Draft
<audio>
<assign>
<break>
<clear>
<data>
<disconnect>
<emphasis>
<enumerate>
<exit>
<foreach>
<goto>
<if>
<log>
<metadata>
<mark>
<paragraph>
<phoneme>
<prompt>
<prosody>
<reprompt>
<return>
<say-as>
<sentence>
<script>
<speak>
<sub>
<submit>
<throw>
<value>
<var>
<voice>
<block>
<catch>
<error>
<filled>
<foreach>
<help>
<if>
<noinput>
<nomatch>
<prompt>