<link>

A <link> element may have one or more grammars that are scoped to the element containing the <link>. The <link> element also allows you to implement a grammar within a root document that could be acted upon by your leaf documents.

Attributes

fetchaudio The URI of the audio clip to play while the fetch is being done. If not specified, the fetchaudio property is used, and if that property is not set, no audio is played during the fetch. The fetching of the audio clip is governed by the audiofetchhint, audiomaxage, audiomaxstale, and fetchtimeout properties in effect at the time of the fetch. The playing of the audio clip is governed by the fetchaudiodelay, and fetchaudiominimum properties in effect at the time of the fetch.
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 go to. This URI is a document (perhaps with an anchor to specify the starting dialog) or a dialog in the current document (just a bare anchor).
expr Like next, except that the URI is dynamically determined by evaluating the given ECMAScript expression.
dtmf The DTMF sequence for this link. It is equivalent to a simple DTMF <grammar> and DTMF properties to recognition of the sequence.
event Specify an event to be thrown instead of specifying a next.
eventexpr An ECMAScript expression evaluating to the name of the event to be thrown.
message A message string providing additional context about the event being thrown. The message is available as the value of the variable "_message" within the scope of the catch element.
messageexpr An ECMAScript expression evaluating to the message string.

Notes

Exactly one of "next", "expr", "event", and "eventexpr" must be specified. Exactly one of "message" and "messageexpr" may be specified.


Example

linkrootdocument.vxml
<?xml version="1.0"?>
<vxml version="2.0">
  <link event="pound">
    <grammar type="application/x-jsgf" mode="dtmf">
      "#"
    </grammar>
  </link>
</vxml>
applicationscript.vxml
<?xml version="1.0"?>
<vxml version="2.0" application="linkrootdocument.vxml">
<property name="timeout" value="20s" />
<property name="interdigittimeout" value="20s" />
<property name="inputmodes" value="dtmf" />
<property name="bargein" value="true" />       
<property name="termtimeout" value="0.5s" />

  <form>
    <field name="phone">

    <grammar root="ROOT" type="application/srgs+xml" mode="dtmf">
      <rule id="ROOT" scope="public">
        <one-of>
            <item repeat="0-255">
                <ruleref uri="#digit"/>
            </item>
        </one-of>
      </rule>

      <rule id="digit" scope="public">
        <one-of>
            <item> 0 </item>
            <item> 1 </item>
            <item> 2 </item>
            <item> 3 </item>
            <item> 4 </item>
            <item> 5 </item>
            <item> 6 </item>
            <item> 7 </item>
            <item> 8 </item>
            <item> 9 </item>                     
        </one-of>
      </rule>
    </grammar>

      <prompt>
        Please enter a telephone number.
      </prompt>

      <filled>
        <prompt>                                         
          You entered <value expr="phone"/>.
        </prompt>
      </filled>
   
    </field>
  </form>

  <catch event="pound">
    <goto next="linkhandlerpage.vxml"/>
  </catch>
</vxml>
linkhandlerpage.vxml
<?xml version="1.0"?>
<vxml version="2.0" application="linkrootdocument.vxml">
  <form>
    <block>
      <prompt>
  You have entered the pound key. This is a specific page that handles events for when the user enters the pound key.
      </prompt>
    </block>
  </form>
</vxml>

The output of the above script would be:

Computer: Please enter a telephone number.
Human: (enters DTMF-#)
Computer: You have entered the pound key. This is a specific page that handles events for when the user enters the pound key.



Child Tags

<grammar>



Parent Tags

<field>, <form>, <initial>, <vxml>