GrammarBuilder.AppendRuleReference Метод

Определение

Добавляет файл грамматики или правило грамматики к текущей последовательности элементов грамматики.

Перегрузки

AppendRuleReference(String)

Добавляет файл определения грамматики к текущей последовательности элементов грамматики.

AppendRuleReference(String, String)

Добавляет указанное правило файла определения грамматики к текущей последовательности элементов грамматики.

Комментарии

AppendRuleReferenceМетоды могут добавлять файл грамматики или грамматическое правило из файла. Эти методы позволяют приложениям использовать предварительно развернутые или общедоступные грамматические правила. Приложение должно иметь доступ на чтение к расположению указанных файлов грамматики.

Эти методы могут читать грамматику распознавания речи в следующих форматах.

Компиляция файла грамматики XML-формата в двоичный файл грамматики с расширением CFG может сократить время, затраченное на поиск совпадения, особенно если для грамматики требуется распознавание большого количества слов и фраз. Дополнительные сведения о компиляции грамматики SRGS в двоичный формат CFG см. в разделе SrgsGrammarCompiler .

AppendRuleReference(String)

Добавляет файл определения грамматики к текущей последовательности элементов грамматики.

public:
 void AppendRuleReference(System::String ^ path);
public void AppendRuleReference (string path);
member this.AppendRuleReference : string -> unit
Public Sub AppendRuleReference (path As String)

Параметры

path
String

Путь или универсальный идентификатор ресурса (URI) файла, который описывает грамматику распознавания речи в поддерживаемом формате.

Примеры

В следующем примере кода C# создается Грамматика распознавания речи, которая использует правило с именем Cities в локальном файле SRGS, городах. грксмл. Содержимое файла городов. грксмл отображается под примером кода C#.

private static Grammar CreateCitiesGrammar1()  
{  
  GrammarBuilder builder = new GrammarBuilder();  
  builder.AppendRuleReference("file://c:/temp/cities.grxml");  

  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"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         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">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

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

Комментарии

URI, предоставленный path аргументом, может быть локальным или удаленным. Приложение должно иметь доступ на чтение к расположению указанных файлов грамматики.

Представление спецификации грамматики распознавания речи W3C (SRGS) может определять корневое правило. Этот метод добавляет грамматику, начиная с ее корневого правила, к текущей последовательности элементов грамматики. Чтобы добавить определенное грамматическое правило, используйте AppendRuleReference метод.

См. также раздел

Применяется к

AppendRuleReference(String, String)

Добавляет указанное правило файла определения грамматики к текущей последовательности элементов грамматики.

public:
 void AppendRuleReference(System::String ^ path, System::String ^ rule);
public void AppendRuleReference (string path, string rule);
member this.AppendRuleReference : string * string -> unit
Public Sub AppendRuleReference (path As String, rule As String)

Параметры

path
String

Путь к файлу или универсальный идентификатор ресурса (URI) файла, который описывает грамматику распознавания речи в поддерживаемом формате.

rule
String

Идентификатор добавляемого правила или значение null, чтобы добавить корневое правило файла грамматики по умолчанию.

Примеры

В следующем примере кода C# создается Грамматика распознавания речи, которая использует правило с именем Cities в локальном файле SRGS, городах. грксмл. Содержимое файла городов. грксмл отображается под примером кода C#.

private static Grammar CreateCitiesGrammar2()  
{  
  GrammarBuilder builder = new GrammarBuilder();  
  builder.Append("Does");  
  builder.AppendRuleReference(@"c:\temp\cities.grxml", "Cities");  
  builder.Append("have a shuttle");  

  Grammar citiesGrammar = new Grammar(builder);  
  citiesGrammar.Name = "Cities Grammar 2";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         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">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

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

Комментарии

URI, предоставленный path аргументом, может быть локальным или удаленным. Приложение должно иметь доступ на чтение к расположению указанных файлов грамматики.

С помощью AppendRuleReference метода можно добавить файл грамматики, начиная с его корневого правила.

См. также раздел

Применяется к