GrammarBuilder.AppendRuleReference Метод

Определение

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

Перегрузки

Имя Описание
AppendRuleReference(String)

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

AppendRuleReference(String, String)

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

Комментарии

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

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

  • XML-форматированные файлы, соответствующие спецификации грамматики распознавания речи W3C версии 1.0

  • Двоичные файлы, соответствующие двоичному формату грамматики распознавания речи Майкрософт (расширение CFG)

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

AppendRuleReference(String)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

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

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, cities.grxml. Содержимое файла cities.grxml отображается под примером кода 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)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

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

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, cities.grxml. Содержимое файла cities.grxml отображается под примером кода 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 метода можно добавить файл грамматики, начинающийся с корневого правила.

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

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