Plum DEV Documentation
voicexml:tags:if

<if>

The <if> element is used for conditional logic. It has optional <else> and <elseif> elements.

Attributes

cond An ECMAScript expression to evaluate.

Notes

Note that the <else> and <elseif> tags both must contain a trailing forward slash to terminate.

Correct example:

<if cond="number==5">
  <!-- do something -->
<elseif cond="number==2"/>
  <!-- do something else -->
<else/>
  <!-- do something for all other cases -->
</if>

Incorrect example:

<if cond="number==5">
  <!-- do something -->
<elseif cond="number==2">
  <!-- this won't work since we left off the / -->
<else>
  <!-- this also won't work since we left off the / -->
</if>

Example

<?xml version="1.0"?>
<vxml version="2.0">
  <form>
    <field name="myprompt" type="digits">
      <prompt>
        Say the magic number between 1 and 9.
      </prompt>
      <filled>
        <!-- The "cond" attribute within an "if" tag -->
        <!-- should contain a boolean ECMAscript expression. -->
        <if cond="myprompt==5">
          <prompt>
            You guessed correctly!
          </prompt>
        <elseif cond="myprompt==4 || myprompt==6"/>
          <prompt>
            You're close. Try again.
          </prompt>
          <clear namelist="myprompt"/>
        <else/>
          <prompt>
            Try again.
          </prompt>
          <clear namelist="myprompt"/>
        </if>
      </filled>
    </field>
  </form>
</vxml>

The output of the above script would be:

Computer: Say the magic number between one and nine.
Human: Three.
Computer: Try again. Say the magic number between one and nine.
Human: Six.
Computer: You're close. Try again. Say the magic number between one and nine.
Human: Five.
Computer: You guessed correctly!

Child Tags

Parent Tags