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
  • <param>
  • Attributes
  • Notes
  • Example
  • Child Tags
  • Parent Tags
  1. VoiceXML
  2. Tags

<param>

<param>

The <param> element is used to specify values that are passed to subdialogs.

Attributes

Name
Data type
Description

name

String

The name to be associated with this parameter when subdialog is invoked.

expr

String

An expression that computes the value associated with name.

value

String

Associates a literal string value with name.

valuetype

String

(defaults to “data”) Either data or ref; used to indicate to an object if the value associated with name is data or a URI (ref).

This is not used for <subdialog> since values are always data.

Notes

The <param> elements of a <subdialog> specify the parameters to pass to the subdialog. These parameters must be declared in the subdialog using <var> elements; it is a semantic error to attempt to set a form item variable or an undeclared variable using <param>.

When a subdialog initializes, its variables are initialized in document order to the value specified by the <param> element with the corresponding name. The parameter values are computed by evaluating the <param> expr attribute in the context of the <param> element. An expr attribute in the <var> element is ignored in this case.

If no corresponding <param> is specified to <var> element, an expr attribute is used as a default value, or the variable is undefined if the expr attribute is unspecified as with the regular <form> element.

Example

<?xml version="1.0"?>
<vxml version="2.0">
  <!-- form dialog that calls a subdialog -->
  <var name="myname" expr="'Jane Doe'"/>
  <form>
    <subdialog name="result" src="#getdriverslicense" namelist="myname">
      <!-- This will send the variable "birthday" to the -->
      <!-- subdialog "#getdriverslicense". -->
      <param name="birthday" expr="'February 10th, 1970'"/>
      <filled>
        You entered <value expr="result.drivelicense"/>.
        <submit next="http://nonexistent.domain.com/process.pl"
          method="post"
          namelist="result.drivelicense birthday"/>
      </filled>
    </subdialog>
  </form>
  <!-- subdialog to get drivers license -->
  <form id="getdriverslicense">
    <!-- In order to receive parameters sent from a "subdialog" tag, -->
    <!-- the parameters must be declared within the subdialog with the -->
    <!-- exact same name. -->
    <var name="birthday"/>
    <field name="drivelicense" type="digits">
      <prompt>
        <value expr="myname"/>,
        your birthdate is: <value expr="birthday"/>.
        Please say your driver's license number.
      </prompt>
      <filled>
        <return namelist="drivelicense"/>
      </filled>
    </field>
  </form>
</vxml>

The output of the above script would be:

Computer: Jane Doe, your birthdate is: February 10th, 1970. Computer: Please say your driver's license number. Human: One two three four five six seven eight nine. Computer: You entered one hundred twenty-three million, four hundred fifty-six thousand, seven hundred eighty-nine. (continues on to processing form…)

Child Tags

None

Parent Tags

Previous<paragraph>Next<phoneme>

Last updated 1 year ago

<subdialog>