Udostępnij za pośrednictwem


GrammarBuilder.AppendRuleReference Metoda

Definicja

Dołącza plik gramatyki lub regułę gramatyki do bieżącej sekwencji elementów gramatyki.

Przeciążenia

AppendRuleReference(String)

Dołącza plik definicji gramatyki do bieżącej sekwencji elementów gramatyki.

AppendRuleReference(String, String)

Dołącza określoną regułę pliku definicji gramatyki do bieżącej sekwencji elementów gramatyki.

Uwagi

AppendRuleReferenceMetody mogą dołączać plik gramatyki lub regułę gramatyki z pliku. Te metody umożliwiają aplikacjom korzystanie z wstępnie wdrożonych lub publicznie dostępnych reguł gramatyki. Aplikacja musi mieć dostęp do odczytu do lokalizacji określonych plików gramatyki.

Metody te mogą odczytywać informacje o gramatyki rozpoznawania mowy przy użyciu następujących formatów.

Kompilowanie pliku SRGS gramatyki w formacie XML do binarnego pliku gramatyki z rozszerzeniem. cfg może skrócić czas zużyty przez wyszukiwanie dopasowania, zwłaszcza jeśli Gramatyka wymaga rozpoznawania dużej liczby słów i fraz. Aby uzyskać informacje dotyczące kompilowania gramatyk SRGS w formacie binarnym CFG, zobacz SrgsGrammarCompiler .

AppendRuleReference(String)

Dołącza plik definicji gramatyki do bieżącej sekwencji elementów gramatyki.

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

Ścieżka lub uniwersalnego identyfikatora zasobów (URI) pliku opisującego gramatykę rozpoznawania mowy w obsługiwanym formacie.

Przykłady

W poniższym przykładzie w języku C# jest tworzona Gramatyka rozpoznawania mowy, która używa reguły o nazwie Cities w lokalnym pliku SRGS, miasta. grxml. Zawartość pliku miejscowości. grxml pojawia się poniżej przykładu kodu w języku 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>  

Uwagi

Identyfikator URI podany przez path argument może być lokalny lub zdalny. Aplikacja musi mieć dostęp do odczytu do lokalizacji określonych plików gramatyki.

Reprezentacja W3C rozpoznawania mowy w formacie gramatyki (SRGS) może definiować regułę główną. Ta metoda dołącza gramatykę, zaczynając od jej głównej reguły, do bieżącej sekwencji elementów gramatyki. Aby dołączyć określoną regułę gramatyki, użyj AppendRuleReference metody.

Zobacz też

Dotyczy

AppendRuleReference(String, String)

Dołącza określoną regułę pliku definicji gramatyki do bieżącej sekwencji elementów gramatyki.

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

Ścieżka pliku lub uniwersalnego identyfikatora zasobów (URI) pliku opisującego gramatykę rozpoznawania mowy w obsługiwanym formacie.

rule
String

Identyfikator reguły do dołączenia lub null dołączenia domyślnej reguły głównej pliku gramatyki.

Przykłady

W poniższym przykładzie w języku C# jest tworzona Gramatyka rozpoznawania mowy, która używa reguły o nazwie Cities w lokalnym pliku SRGS, miasta. grxml. Zawartość pliku miejscowości. grxml pojawia się poniżej przykładu kodu w języku 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>  

Uwagi

Identyfikator URI podany przez path argument może być lokalny lub zdalny. Aplikacja musi mieć dostęp do odczytu do lokalizacji określonych plików gramatyki.

Możesz użyć AppendRuleReference metody, aby dołączyć plik gramatyki, zaczynając od jego głównej reguły.

Zobacz też

Dotyczy