Freigeben über


GrammarBuilder.AppendRuleReference Methode

Definition

Fügt eine Grammatikdatei oder eine Grammatikregel an die aktuelle Sequenz von Grammatikelementen an.

Überlädt

Name Beschreibung
AppendRuleReference(String)

Fügt eine Grammatikdefinitionsdatei an die aktuelle Sequenz von Grammatikelementen an.

AppendRuleReference(String, String)

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

Hinweise

Die AppendRuleReference Methoden können eine Grammatikdatei oder eine Grammatikregel aus einer Datei anfügen. Mit diesen Methoden können Anwendungen vorab bereitgestellte oder öffentlich verfügbare Grammatikregeln verwenden. Die Anwendung muss Lesezugriff auf den Speicherort der angegebenen Grammatikdateien haben.

Diese Methoden können eine Spracherkennungsgrammatik aus den folgenden Formaten lesen.

Das Kompilieren einer SRGS-Grammatikdatei im XML-Format in einer binären Grammatikdatei mit der Cfg-Erweiterung kann die von Suchvorgängen verbrauchte Zeit verringern, insbesondere wenn die Grammatik eine große Anzahl von Wörtern und Ausdrücken erkennt. Informationen zum Kompilieren von SRGS-Grammatiken im CFG-Binärformat finden Sie unter SrgsGrammarCompiler.

AppendRuleReference(String)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Fügt eine Grammatikdefinitionsdatei an die aktuelle Sequenz von Grammatikelementen 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 Spracherkennungsgrammatik erstellt, die die in einer lokalen SRGS-Datei "cities.grxml" benannte Cities Regel verwendet. Der Inhalt der Datei "cities.grxml" wird unterhalb des C#-Codebeispiels 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

Von Bedeutung

Die Verwendung einer Instanz dieses Typs mit nicht vertrauenswürdigen Daten ist ein Sicherheitsrisiko. Verwenden Sie dieses Objekt nur mit vertrauenswürdigen Daten. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

Der vom path Argument bereitgestellte URI kann lokal oder remote sein. Die Anwendung muss Lesezugriff auf den Speicherort der angegebenen Grammatikdateien haben.

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

Weitere Informationen

Gilt für:

AppendRuleReference(String, String)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Fügt die angegebene Regel einer Grammatikdefinitionsdatei an die aktuelle 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, die eine Spracherkennungsgrammatik in einem unterstützten Format beschreibt.

rule
String

Der Bezeichner der anzufügenden Regel oder null das Anfügen der Standardstammregel der Grammatikdatei.

Beispiele

Im folgenden C#-Beispiel wird eine Spracherkennungsgrammatik erstellt, die die in einer lokalen SRGS-Datei "cities.grxml" benannte Cities Regel verwendet. Der Inhalt der Datei "cities.grxml" wird unterhalb des C#-Codebeispiels 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

Von Bedeutung

Die Verwendung einer Instanz dieses Typs mit nicht vertrauenswürdigen Daten ist ein Sicherheitsrisiko. Verwenden Sie dieses Objekt nur mit vertrauenswürdigen Daten. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

Der vom path Argument bereitgestellte URI kann lokal oder remote sein. Die Anwendung muss Lesezugriff auf den Speicherort der angegebenen Grammatikdateien haben.

Sie können die AppendRuleReference Methode verwenden, um eine Grammatikdatei anzufügen, die mit der Stammregel beginnt.

Weitere Informationen

Gilt für: