GrammarBuilder.AppendRuleReference Método

Definição

Acrescenta um arquivo gramatical ou uma regra gramatical à sequência atual de elementos gramaticais.

Sobrecargas

Nome Description
AppendRuleReference(String)

Acrescenta um arquivo de definição gramatical à sequência atual de elementos gramaticais.

AppendRuleReference(String, String)

Acrescenta a regra especificada de um arquivo de definição de gramática à sequência atual de elementos gramaticais.

Comentários

Os AppendRuleReference métodos podem acrescentar um arquivo gramatical ou uma regra gramatical de um arquivo. Esses métodos permitem que os aplicativos usem regras gramaticais pré-implantadas ou disponíveis publicamente. O aplicativo deve ter acesso de leitura ao local dos arquivos de gramática especificados.

Esses métodos podem ler uma gramática de reconhecimento de fala dos seguintes formatos.

Compilar um arquivo de gramática SRGS em formato XML em um arquivo de gramática binária com a extensão .cfg pode reduzir o tempo consumido pelas pesquisas de uma correspondência, especialmente se a gramática exigir o reconhecimento de um grande número de palavras e frases. Para obter informações sobre como compilar gramáticas SRGS para o formato binário CFG, consulte SrgsGrammarCompiler.

AppendRuleReference(String)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta um arquivo de definição gramatical à sequência atual de elementos gramaticais.

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

Parâmetros

path
String

O caminho ou o URI (Universal Resource Identifier) do arquivo que descreve uma gramática de reconhecimento de fala em um formato com suporte.

Exemplos

O exemplo de C# a seguir cria uma gramática de reconhecimento de fala que usa a regra nomeada Cities em um arquivo SRGS local, cities.grxml. O conteúdo do arquivo cities.grxml aparece abaixo do exemplo de código 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>

Comentários

Importante

Usar uma instância desse tipo com dados não confiáveis é um risco à segurança. Use esse objeto somente com dados confiáveis. Para obter mais informações, consulte Validar Todas as Entradas.

O URI fornecido pelo path argumento pode ser local ou remoto. O aplicativo deve ter acesso de leitura ao local dos arquivos de gramática especificados.

Uma representação de SRGS (Especificação de Gramática de Reconhecimento de Fala) do W3C pode definir uma regra raiz. Esse método acrescenta a gramática, começando com sua regra raiz, à sequência atual de elementos gramaticais. Para acrescentar uma regra gramatical específica, use o AppendRuleReference método.

Confira também

Aplica-se a

AppendRuleReference(String, String)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta a regra especificada de um arquivo de definição de gramática à sequência atual de elementos gramaticais.

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)

Parâmetros

path
String

O caminho do arquivo ou o URI (Universal Resource Identifier) do arquivo que descreve uma gramática de reconhecimento de fala em um formato com suporte.

rule
String

O identificador da regra a ser acrescentada ou null acrescentar a regra raiz padrão do arquivo de gramática.

Exemplos

O exemplo de C# a seguir cria uma gramática de reconhecimento de fala que usa a regra nomeada Cities em um arquivo SRGS local, cities.grxml. O conteúdo do arquivo cities.grxml aparece abaixo do exemplo de código 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>

Comentários

Importante

Usar uma instância desse tipo com dados não confiáveis é um risco à segurança. Use esse objeto somente com dados confiáveis. Para obter mais informações, consulte Validar Todas as Entradas.

O URI fornecido pelo path argumento pode ser local ou remoto. O aplicativo deve ter acesso de leitura ao local dos arquivos de gramática especificados.

Você pode usar o AppendRuleReference método para acrescentar um arquivo de gramática começando com sua regra raiz.

Confira também

Aplica-se a