<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
Last updated