<ruleref>

<ruleref>

A <ruleref> tag can reference another defined rule within the same local grammar.

Attributes

Name
Data type
Description

uri

String

Specifies a local rule reference. Precede each reference with “#” (e.g., "#month", "#day").

type

This attribute is not supported.

special

String

Can be set to either “null” or “void”.

xml:lang

String

(defaults to “xml:lang” global property or the “xml:lang” attribute of the <grammar> tag) The language identifier as defined in RFC3066.

Notes

For examples and usage information, please refer to the Speech Recognition Grammar Specification.

Example

<?xml version="1.0"?>
<vxml version="2.0">
  <form id="start">
    <field name="dt">
      <grammar root="main" type="application/srgs+xml" mode="voice">
        <rule id="main" scope="public">
          <item>
            <ruleref uri="#month"/>
            <ruleref uri="#day"/>
          </item>
          <tag> month = month.SWI_literal; day = day.SWI_literal; </tag>
        </rule>
      
        <rule id="month">
          <one-of>
            <item>May</item>
            <item>June</item>
            <item>October</item>
          </one-of>
        </rule>
      
        <rule id="day">
          <one-of>
            <item>first</item>
            <item>second</item>
            <item>third</item>
          </one-of>
        </rule>      
      </grammar>
      
      <prompt>Please say a date.</prompt>
      
      <filled>
        <prompt bargein="false">
          I think you said month <value expr="dt.month"/> 
          day <value expr="dt.day"/>.
        </prompt>
      </filled>
      
      <nomatch>
        I'm sorry, I didn't catch that.
        <reprompt/>
      </nomatch>
    </field>
  </form>
</vxml>

The output of the above script would be:

Computer: Please say a date. Human: June second. Computer: I think you said month June day second.

Child Tags

None

Parent Tags

<item>, <rule>

Last updated