Aracılığıyla paylaş


GrammarBuilder.AppendRuleReference Yöntem

Tanım

Mevcut dilbilgisi öğelerinin dizisine bir dilbilgisi dosyası veya dilbilgisi kuralı ekler.

Aşırı Yüklemeler

AppendRuleReference(String)

Dilbilgisi öğelerinin geçerli dizisine bir dilbilgisi tanım dosyası ekler.

AppendRuleReference(String, String)

Bir dilbilgisi tanım dosyasının belirtilen kuralını, dilbilgisi öğelerinin geçerli dizisine ekler.

Açıklamalar

AppendRuleReferenceYöntemler bir dosyadan dilbilgisi dosyası veya dilbilgisi kuralı ekleyebilir. Bu yöntemler, uygulamaların önceden dağıtılmış veya genel kullanıma açık dilbilgisi kurallarını kullanmasına izin verir. Uygulamanın, belirtilen dilbilgisi dosyalarının konumuna okuma erişiminin olması gerekir.

Bu yöntemler, aşağıdaki biçimlerden bir konuşma tanıma dilbilgisini okuyabilir.

XML biçimli bir SRGS dilbilgisi dosyasını. cfg uzantısıyla bir ikili dilbilgisi dosyasına derlemek, özellikle de dilbilgisi çok sayıda sözcük ve tümcecik tanımayı gerektiriyorsa, bir eşleşme arar. SRGS dilmars 'ı CFG ikili biçiminde derleme hakkında daha fazla bilgi için bkz SrgsGrammarCompiler ..

AppendRuleReference(String)

Dilbilgisi öğelerinin geçerli dizisine bir dilbilgisi tanım dosyası ekler.

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

Parametreler

path
String

Desteklenen bir biçimde bir konuşma tanıma dilbilgisini açıklayan dosyanın yolu veya evrensel kaynak tanımlayıcısı (URI).

Örnekler

Aşağıdaki C# örneği Cities , yerel BIR SRGS dosyasında, şehir. GRXML adlı kuralı kullanan bir konuşma tanıma dilbilgisi oluşturur. Şehir. GRXML dosyasının içeriği C# kod örneği altında görünür.

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>  

Açıklamalar

Bağımsız değişken tarafından belirtilen URI path yerel veya uzak olabilir. Uygulamanın, belirtilen dilbilgisi dosyalarının konumuna okuma erişiminin olması gerekir.

W3C konuşma tanıma dilbilgisi belirtimi (SRGS) temsili bir kök kuralı tanımlayabilir. Bu yöntem, dilbilgisi öğelerinin geçerli dizisine, kendi kök kuralıyla başlayarak dilbilgisini ekler. Belirli bir dilbilgisi kuralını eklemek için AppendRuleReference yöntemini kullanın.

Ayrıca bkz.

Şunlara uygulanır

AppendRuleReference(String, String)

Bir dilbilgisi tanım dosyasının belirtilen kuralını, dilbilgisi öğelerinin geçerli dizisine ekler.

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)

Parametreler

path
String

Desteklenen bir biçimde bir konuşma tanıma dilbilgisini tanımlayan dosyanın dosya yolu veya evrensel kaynak tanımlayıcısı (URI).

rule
String

' Nin ekleneceği kuralın tanımlayıcısı veya null dilbilgisi dosyasının varsayılan kök kuralını ekleyin.

Örnekler

Aşağıdaki C# örneği Cities , yerel BIR SRGS dosyasında, şehir. GRXML adlı kuralı kullanan bir konuşma tanıma dilbilgisi oluşturur. Şehir. GRXML dosyasının içeriği C# kod örneği altında görünür.

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>  

Açıklamalar

Bağımsız değişken tarafından belirtilen URI path yerel veya uzak olabilir. Uygulamanın, belirtilen dilbilgisi dosyalarının konumuna okuma erişiminin olması gerekir.

AppendRuleReferenceKendi kök kuralıyla başlayan bir dilbilgisi dosyası eklemek için yöntemini kullanın.

Ayrıca bkz.

Şunlara uygulanır