<ruleref>

<ruleref>

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

Attributes

Name

Description

uri

Specifies a local rule reference. Precede the local rule identifier with a “#” symbol.

type

This attribute is not supported.

special

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

xml:lang

(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>