Compartilhar via


GrammarBuilder.AppendRuleReference Método

Definição

Acrescenta um arquivo de gramática ou uma regra de gramática à sequência de elementos de gramática atual.

Sobrecargas

AppendRuleReference(String)

Acrescenta um arquivo de definição de gramática à sequência de elementos da gramática atual.

AppendRuleReference(String, String)

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

Comentários

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

Esses métodos podem ler uma gramática de reconhecimento de fala nos formatos a seguir.

A compilação de 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 por pesquisas de uma correspondência, especialmente se a gramática exigir reconhecimento de um grande número de palavras e frases. Para obter informações sobre como compilar gramáticas SRGS no formato binário CFG, consulte SrgsGrammarCompiler .

AppendRuleReference(String)

Acrescenta um arquivo de definição de gramática à sequência de elementos da gramática atual.

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 URI (Universal Resource Identifier) do arquivo que descreve uma gramática de reconhecimento de fala em um formato com suporte.

Exemplos

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

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

Uma representação da 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 de gramática. Para acrescentar uma regra de gramática específica, use o AppendRuleReference método.

Confira também

Aplica-se a

AppendRuleReference(String, String)

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

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 URI (Universal Resource Identifier) do arquivo que descreve uma gramática de reconhecimento de fala em um formato compatível.

rule
String

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

Exemplos

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

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

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

Confira também

Aplica-se a