GrammarBuilder.AppendRuleReference Metodo

Definizione

Aggiunge un file o una regola di grammatica alla sequenza corrente di elementi di grammatica.

Overload

AppendRuleReference(String)

Aggiunge un file di definizione della grammatica alla sequenza corrente di elementi di grammatica.

AppendRuleReference(String, String)

Aggiunge la regola specificata di un file di definizione della grammatica alla sequenza corrente di elementi di grammatica.

Commenti

I AppendRuleReference metodi possono aggiungere un file di grammatica o una regola di grammatica da un file. Questi metodi consentono alle applicazioni di usare regole di grammatica pre-distribuite o disponibili pubblicamente. L'applicazione deve disporre dell'accesso in lettura al percorso dei file di grammatica specificati.

Questi metodi consentono di leggere una grammatica di riconoscimento vocale dai formati seguenti.

La compilazione di un file di grammatica SRGS in formato XML in un file di grammatica binaria con estensione cfg può ridurre il tempo impiegato dalle ricerche di una corrispondenza, soprattutto se la grammatica richiede il riconoscimento di un numero elevato di parole e frasi. Per informazioni sulla compilazione di grammatiche SRGS nel formato binario CFG, vedere SrgsGrammarCompiler .

AppendRuleReference(String)

Aggiunge un file di definizione della grammatica alla sequenza corrente di elementi di grammatica.

public void AppendRuleReference (string path);

Parametri

path
String

Il percorso o l'URI (Universal Resource Identifier) del file che descrive una grammatica di riconoscimento vocale in un formato supportato.

Esempio

Nell'esempio C# seguente viene creata una grammatica di riconoscimento vocale che utilizza la regola denominata Cities in un file SRGS locale, cities. grxml. Il contenuto del file cities. grxml viene visualizzato sotto l'esempio di codice 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>  

Commenti

L'URI fornito dall' path argomento può essere locale o remoto. L'applicazione deve disporre dell'accesso in lettura al percorso dei file di grammatica specificati.

Una rappresentazione SRGS (W3C Speech Recognition Grammar Specification) può definire una regola radice. Questo metodo Accoda la grammatica, a partire dalla relativa regola radice, alla sequenza corrente di elementi di grammatica. Per aggiungere una regola di grammatica specifica, usare il AppendRuleReference metodo.

Vedi anche

Si applica a

.NET Framework 4.8 e altre versioni
Prodotto Versioni
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

AppendRuleReference(String, String)

Aggiunge la regola specificata di un file di definizione della grammatica alla sequenza corrente di elementi di grammatica.

public void AppendRuleReference (string path, string rule);

Parametri

path
String

Il percorso o l'URI (Universal Resource Identifier) del file che descrive una grammatica di riconoscimento vocale in un formato supportato.

rule
String

L'identificatore della regola da aggiungere o null per aggiungere la regola radice predefinita del file di sintassi.

Esempio

Nell'esempio C# seguente viene creata una grammatica di riconoscimento vocale che utilizza la regola denominata Cities in un file SRGS locale, cities. grxml. Il contenuto del file cities. grxml viene visualizzato sotto l'esempio di codice 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>  

Commenti

L'URI fornito dall' path argomento può essere locale o remoto. L'applicazione deve disporre dell'accesso in lettura al percorso dei file di grammatica specificati.

È possibile usare il AppendRuleReference metodo per aggiungere un file di grammatica che inizia con la relativa regola radice.

Vedi anche

Si applica a

.NET Framework 4.8 e altre versioni
Prodotto Versioni
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8