GrammarBuilder.AppendRuleReference Metoda

Definice

Připojí gramatický soubor nebo gramatické pravidlo k aktuální sekvenci gramatických prvků.

Přetížení

Name Description
AppendRuleReference(String)

Připojí definiční soubor gramatiky k aktuální sekvenci gramatických prvků.

AppendRuleReference(String, String)

Připojí zadané pravidlo definičního souboru gramatiky k aktuální sekvenci gramatických prvků.

Poznámky

Metody AppendRuleReference můžou ze souboru připojit gramatický soubor nebo gramatické pravidlo. Tyto metody umožňují aplikacím používat předem nasazená nebo veřejně dostupná gramatická pravidla. Aplikace musí mít přístup pro čtení k umístění zadaných gramatických souborů.

Tyto metody mohou číst gramatiku rozpoznávání řeči z následujících formátů.

Kompilace gramatického souboru formátu XML SRGS do binárního gramatického souboru s příponou .cfg může zkrátit dobu strávenou hledáním shody, zejména pokud gramatika vyžaduje rozpoznávání velkého počtu slov a frází. Informace o kompilaci gramatikY SRGS do binárního formátu CFG naleznete v tématu SrgsGrammarCompiler.

AppendRuleReference(String)

Zdroj:
GrammarBuilder.cs
Zdroj:
GrammarBuilder.cs
Zdroj:
GrammarBuilder.cs
Zdroj:
GrammarBuilder.cs

Připojí definiční soubor gramatiky k aktuální sekvenci gramatických prvků.

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

Parametry

path
String

Cesta nebo identifikátor URI (Universal Resource Identifier) souboru, který popisuje gramatiku rozpoznávání řeči v podporovaném formátu.

Příklady

Následující příklad jazyka C# vytvoří gramatiku rozpoznávání řeči, která používá pravidlo pojmenované Cities v místním souboru SRGS cities.grxml. Obsah souboru cities.grxml se zobrazí pod příkladem kódu jazyka 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>

Poznámky

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Identifikátor URI poskytnutý argumentem path může být místní nebo vzdálený. Aplikace musí mít přístup pro čtení k umístění zadaných gramatických souborů.

Reprezentace SRGS (Speech Recognition Grammar Specification) W3C může definovat kořenové pravidlo. Tato metoda připojí gramatiku počínaje kořenovým pravidlem k aktuální sekvenci gramatických prvků. Pokud chcete přidat konkrétní gramatické pravidlo, použijte metodu AppendRuleReference .

Viz také

Platí pro

AppendRuleReference(String, String)

Zdroj:
GrammarBuilder.cs
Zdroj:
GrammarBuilder.cs
Zdroj:
GrammarBuilder.cs
Zdroj:
GrammarBuilder.cs

Připojí zadané pravidlo definičního souboru gramatiky k aktuální sekvenci gramatických prvků.

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)

Parametry

path
String

Cesta k souboru nebo identifikátor URI (Universal Resource Identifier), který popisuje gramatiku rozpoznávání řeči v podporovaném formátu.

rule
String

Identifikátor pravidla, které se má připojit, nebo null k připojení výchozího kořenového pravidla gramatického souboru.

Příklady

Následující příklad jazyka C# vytvoří gramatiku rozpoznávání řeči, která používá pravidlo pojmenované Cities v místním souboru SRGS cities.grxml. Obsah souboru cities.grxml se zobrazí pod příkladem kódu jazyka 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>

Poznámky

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Identifikátor URI poskytnutý argumentem path může být místní nebo vzdálený. Aplikace musí mít přístup pro čtení k umístění zadaných gramatických souborů.

Pomocí metody můžete AppendRuleReference připojit gramatický soubor začínající jeho kořenovým pravidlem.

Viz také

Platí pro