GrammarBuilder.AppendRuleReference Methode

Definitie

Voegt een grammaticabestand of een grammaticaregel toe aan de huidige reeks grammatica-elementen.

Overloads

Name Description
AppendRuleReference(String)

Voegt een grammaticadefinitiebestand toe aan de huidige reeks grammatica-elementen.

AppendRuleReference(String, String)

Hiermee voegt u de opgegeven regel van een grammaticadefinitiebestand toe aan de huidige reeks grammatica-elementen.

Opmerkingen

Met de AppendRuleReference methoden kunt u een grammaticabestand of een grammaticaregel uit een bestand toevoegen. Met deze methoden kunnen toepassingen gebruikmaken van vooraf geïmplementeerde of openbaar beschikbare grammaticaregels. De toepassing moet leestoegang hebben tot de locatie van opgegeven grammaticabestanden.

Deze methoden kunnen een grammatica voor spraakherkenning lezen uit de volgende indelingen.

Als u een SRGS-grammaticabestand in XML-indeling compileert naar een binair grammaticabestand met de extensie .cfg, kan de tijd die wordt verbruikt door zoekopdrachten naar een overeenkomst verminderen, met name als voor de grammatica een groot aantal woorden en woordgroepen vereist is. Zie voor meer informatie over het compileren van SRGS-grammatica's naar de binaire CFG-indeling SrgsGrammarCompiler.

AppendRuleReference(String)

Voegt een grammaticadefinitiebestand toe aan de huidige reeks grammatica-elementen.

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

Parameters

path
String

Het pad of de URI (Universal Resource Identifier) van het bestand dat een grammatica voor spraakherkenning in een ondersteunde indeling beschrijft.

Voorbeelden

In het volgende C#-voorbeeld wordt een grammatica voor spraakherkenning gemaakt die gebruikmaakt van de regel die wordt genoemd Cities in een lokaal SRGS-bestand, cities.grxml. De inhoud van het bestand cities.grxml wordt weergegeven onder het C#-codevoorbeeld.

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>

Opmerkingen

Important

Het gebruik van een exemplaar van dit type met niet-vertrouwde gegevens is een beveiligingsrisico. Gebruik dit object alleen met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

De URI die door het path argument wordt opgegeven, kan lokaal of extern zijn. De toepassing moet leestoegang hebben tot de locatie van opgegeven grammaticabestanden.

Een SRGS-weergave (W3C Speech Recognition Grammar Specification) kan een hoofdregel definiëren. Met deze methode wordt de grammatica, beginnend met de hoofdregel, toegevoegd aan de huidige reeks grammatica-elementen. Als u een specifieke grammaticaregel wilt toevoegen, gebruikt u de AppendRuleReference methode.

Zie ook

Van toepassing op

AppendRuleReference(String, String)

Hiermee voegt u de opgegeven regel van een grammaticadefinitiebestand toe aan de huidige reeks grammatica-elementen.

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)

Parameters

path
String

Het bestandspad of de URI (Universal Resource Identifier) van het bestand dat een grammatica voor spraakherkenning in een ondersteunde indeling beschrijft.

rule
String

De id van de regel die moet worden toegevoegd of null als u de standaardhoofdregel van het grammaticabestand wilt toevoegen.

Voorbeelden

In het volgende C#-voorbeeld wordt een grammatica voor spraakherkenning gemaakt die gebruikmaakt van de regel die wordt genoemd Cities in een lokaal SRGS-bestand, cities.grxml. De inhoud van het bestand cities.grxml wordt weergegeven onder het C#-codevoorbeeld.

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>

Opmerkingen

Important

Het gebruik van een exemplaar van dit type met niet-vertrouwde gegevens is een beveiligingsrisico. Gebruik dit object alleen met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

De URI die door het path argument wordt opgegeven, kan lokaal of extern zijn. De toepassing moet leestoegang hebben tot de locatie van opgegeven grammaticabestanden.

U kunt de AppendRuleReference methode gebruiken om een grammaticabestand toe te voegen dat begint met de hoofdregel.

Zie ook

Van toepassing op