GrammarBuilder.AppendRuleReference Method (String)


Appends a grammar definition file to the current sequence of grammar elements.

Namespace:   System.Speech.Recognition
Assembly:  System.Speech (in System.Speech.dll)

public void AppendRuleReference(
	string path


Type: System.String

The path or Universal Resource Identifier (URI) of the file that describes a speech recognition grammar in a supported format.

The URI provided by the path argument may be local or remote. The application must have read access to the location of specified grammar files.

A W3C Speech Recognition Grammar Specification (SRGS) representation can define a root rule. This method appends the grammar, beginning with its root rule, to the current sequence of grammar elements. To append a specific grammar rule, use the AppendRuleReference method.

The following C# example creates a speech recognition grammar that uses the rule named Cities in a local SRGS file, cities.grxml. The content of the cities.grxml file appears below the C# code example.

private static Grammar CreateCitiesGrammar1()
  GrammarBuilder builder = new GrammarBuilder();

  Grammar citiesGrammar = new Grammar(builder);
  citiesGrammar.Name = "Cities Grammar 1";
  return citiesGrammar;

<?xml version="1.0" encoding="UTF-16" ?>
<grammar version="1.0" xml:lang="en-US"
         tag-format="semantics/1.0" root="Main">

  <!-- cities.grxml: 
    Defines an SRGS grammar for requesting a flight. This grammar includes
    a Cities rule that lists the cities that can be used for departures
    and destinations. -->

  <rule id="Main">
      I would like to fly from <ruleref uri="#Cities"/>
      to <ruleref uri="#Cities"/>

  <rule id="Cities" scope="public">
      <item> Seattle </item>
      <item> Los Angeles </item>
      <item> New York </item>
      <item> Miami </item>

.NET Framework
Available since 3.0
Return to top