<goto>

The <goto> element is used to:

Attributes

fetchhint This attribute is not supported.
fetchtimeout (defaults to "fetchtimeout" global property value) The timeout for fetches. Must be specified with the appropriate time units (e.g., "120s" for 120 seconds).
maxage (defaults to "documentmaxage" global property value) Tells the platform the maximum acceptable age, in seconds, of cached documents.
maxstale (defaults to "documentmaxstale" global property value) Tells the platform the maximum acceptable staleness, in seconds, of expired cached documents.
next The URI to which to transition.
expr An ECMAScript expression that yields the URI.
fetchaudio (defaults to "fetchaudio" global property value) The URI of the audio clip to play while the fetch is being done.
expritem An ECMAScript expression that yields the name of the next form item to visit.
nextitem The name of the next form item to visit in the current form.

Notes

Exactly one of "next", "expr", "nextitem", and "expritem" must be specified.


Example

gotoexample.php
<?php
header("Content-type: text/xml");
echo "<?xml version=\"1.0\"?>\n";
?>
<vxml version="2.0">
  <form id="firstform">
    <block>
      <prompt>
        Jumping to the third form.
      </prompt>
      <!-- A "#" symbol followed by an identifier specifies a -->
      <!-- form or menu ID to jump to. -->
      <goto next="#thirdform"/>
    </block>
  </form>
  <form id="secondform">
    <block>
      <prompt>
        Now jumping to another document.
      </prompt>
      <goto next="newdocument.php"/>
      <disconnect/>
    </block>
  </form>
  <form id="thirdform">
    <field name="firstfield">
    <grammar type="application/x-jsgf">
      1 | 2
    </grammar>
      <prompt>
        Enter 1 to go to the next field. Enter 2 to go to the next form.
      </prompt>
    <filled>
      <if cond="firstfield==1">
        <prompt>
          Jumping to the next field.
        </prompt>
        <goto nextitem="secondfield"/>
      <else/>
        <prompt>
          Jumping to the next form.
        </prompt>
        <goto next="#secondform"/>
      </if>
    </filled>
    </field>
    <field name="secondfield">
    <grammar type="application/x-jsgf">
      1
    </grammar>
      <prompt>
        Enter 1 to go to the next form.
      </prompt>
    <filled>
      <prompt>
        Now jumping to the next form.
      </prompt>
      <goto next="#secondform"/>
    </filled>
    </field>
  </form>
</vxml>
newdocument.php
<?php
header("Content-type: text/xml");
echo("<?xml version=\"1.0\"?>\n");
?>
<vxml version="2.0">
  <form id="main">
    <block>
      <prompt>
        This is a new document.
      </prompt>
    </block>
  </form> 
</vxml>

The output of the above script would be:

Computer: Jumping to the third form.
Computer: Enter 1 to go to the next field. Enter 2 to go to the next form.
Human: (enters DTMF-1)
Computer: Jumping to the next field.
Computer: Enter 1 to go to the next form.
Computer: Enter 1 to go to the next form.
Human: (enters DTMF-1)
Computer: Now jumping to the next form.
Computer: Now jumping to another document.
Computer: This is a new document.



Child Tags

None



Parent Tags

<block>, <catch>, <error>, <filled>, <foreach>, <help>, <if>, <noinput>, <nomatch>