<param>

<param>

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

Attributes

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

<subdialog>

Last updated