Freigeben über


GrammarBuilder.AppendRuleReference Methode

Definition

Fügt der aktuellen Sequenz von Grammatikelementen eine Grammatikdatei oder eine Grammatikregel an.

Überlädt

AppendRuleReference(String)

Fügt der aktuellen Sequenz von Grammatikelementen eine Grammatikdefinitionsdatei an.

AppendRuleReference(String, String)

Fügt die angegebene Regel einer Grammatikdefinitionsdatei der aktuellen Sequenz von Grammatikelementen an.

Hinweise

Die- AppendRuleReference Methoden können eine Grammatik Datei oder eine Grammatik Regel aus einer Datei anfügen. Diese Methoden ermöglichen Anwendungen die Verwendung von vorab bereitgestellten oder öffentlich verfügbaren Grammatikregeln. Die Anwendung muss Lesezugriff auf den Speicherort der angegebenen Grammatik Dateien haben.

Diese Methoden können eine sprach Erkennungs Grammatik aus den folgenden Formaten lesen.

Das Kompilieren einer SRGS-Grammatik Datei im XML-Format in eine binäre Grammatik Datei mit der Erweiterung ". cfg" kann die von Such Vorgängen verbrauchte Zeit verringern, insbesondere dann, wenn die Grammatik eine Erkennung einer großen Anzahl von Wörtern und Ausdrücken erfordert. Informationen zum Kompilieren von SRGS-Grammatiken in das cfg-Binärformat finden Sie unter SrgsGrammarCompiler .

AppendRuleReference(String)

Fügt der aktuellen Sequenz von Grammatikelementen eine Grammatikdefinitionsdatei an.

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

Parameter

path
String

Der Pfad oder der URI (Universal Resource Identifier) der Datei, die eine Spracherkennungsgrammatik in einem unterstützten Format beschreibt.

Beispiele

Im folgenden c#-Beispiel wird eine sprach Erkennungs Grammatik erstellt, die die Regel mit dem Namen Cities in einer lokalen SRGS-Datei "Cities. grxml" verwendet. Der Inhalt der Datei Cities. grxml wird unter dem c#-Codebeispiel angezeigt.

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>  

Hinweise

Der URI, der vom-Argument bereitgestellt wird, ist path möglicherweise local oder Remote. Die Anwendung muss Lesezugriff auf den Speicherort der angegebenen Grammatik Dateien haben.

Eine SRGS-Darstellung (W3C Speech Recognition Grammar Specification) kann eine Stamm Regel definieren. Diese Methode fügt die Grammatik, beginnend mit ihrer Stamm Regel, an die aktuelle Sequenz von Grammatik Elementen an. Verwenden Sie die-Methode, um eine bestimmte Grammatik Regel anzufügen AppendRuleReference .

Siehe auch

Gilt für

AppendRuleReference(String, String)

Fügt die angegebene Regel einer Grammatikdefinitionsdatei der aktuellen Sequenz von Grammatikelementen an.

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)

Parameter

path
String

Der Dateipfad oder der URI (Universal Resource Identifier) der Datei, der eine Spracherkennungsgrammatik in einem unterstützten Format beschreibt.

rule
String

Der Bezeichner der Regel, die anzuwenden ist, oder null, um die standardmäßige Stammregel der Grammatikdatei anzuwenden.

Beispiele

Im folgenden c#-Beispiel wird eine sprach Erkennungs Grammatik erstellt, die die Regel mit dem Namen Cities in einer lokalen SRGS-Datei "Cities. grxml" verwendet. Der Inhalt der Datei Cities. grxml wird unter dem c#-Codebeispiel angezeigt.

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>  

Hinweise

Der URI, der vom-Argument bereitgestellt wird, ist path möglicherweise local oder Remote. Die Anwendung muss Lesezugriff auf den Speicherort der angegebenen Grammatik Dateien haben.

Mithilfe der-Methode können Sie AppendRuleReference eine Grammatik Datei mit ihrer Stamm Regel anfügen.

Siehe auch

Gilt für