GrammarBuilder.AppendRuleReference Yöntem

Tanım

Geçerli dil bilgisi öğeleri dizisine bir dil bilgisi dosyası veya dil bilgisi kuralı ekler.

Aşırı Yüklemeler

Name Description
AppendRuleReference(String)

Geçerli dil bilgisi öğe dizisine bir dil bilgisi tanım dosyası ekler.

AppendRuleReference(String, String)

Dil bilgisi tanım dosyasının belirtilen kuralını geçerli dil bilgisi öğeleri dizisine ekler.

Açıklamalar

Yöntemler, AppendRuleReference bir dosyadan bir dil bilgisi dosyası veya dil bilgisi kuralı ekleyebilir. Bu yöntemler, uygulamaların önceden dağıtılan veya genel kullanıma açık dil bilgisi kurallarını kullanmasını sağlar. Uygulamanın belirtilen dil bilgisi dosyalarının konumuna okuma erişimi olmalıdır.

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

XML biçimindeki SRGS dil bilgisi dosyasını .cfg uzantısıyla bir ikili dil bilgisi dosyasına derlemek, özellikle dil bilgisi çok sayıda sözcük ve tümceciği tanımayı gerektiriyorsa, eşleşme aramalarının harcadığı süreyi azaltabilir. SRGS dil bilgisini CFG ikili biçimine derleme hakkında bilgi için bkz SrgsGrammarCompiler. .

AppendRuleReference(String)

Kaynak:
GrammarBuilder.cs
Kaynak:
GrammarBuilder.cs
Kaynak:
GrammarBuilder.cs
Kaynak:
GrammarBuilder.cs

Geçerli dil bilgisi öğe dizisine bir dil bilgisi 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

Konuşma tanıma dil bilgisini desteklenen biçimde açıklayan dosyanın yolu veya Evrensel Kaynak Tanımlayıcısı (URI).

Örnekler

Aşağıdaki C# örneği, cities.grxml adlı yerel bir SRGS dosyasında adlı Cities kuralı kullanan bir konuşma tanıma dil bilgisi oluşturur. cities.grxml dosyasının içeriği C# kod örneğinin 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

Important

Güvenilmeyen verilerle bu tür bir örneği kullanmak bir güvenlik riskidir. Bu nesneyi yalnızca güvenilen verilerle kullanın. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Bağımsız değişken tarafından path sağlanan URI yerel veya uzak olabilir. Uygulamanın belirtilen dil bilgisi dosyalarının konumuna okuma erişimi olmalıdır.

W3C Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) gösterimi bir kök kural tanımlayabilir. Bu yöntem, kök kuralından başlayarak dil bilgisi öğelerinin geçerli dizisine dil bilgisi ekler. Belirli bir dil bilgisi kuralını eklemek için yöntemini kullanın AppendRuleReference .

Ayrıca bkz.

Şunlara uygulanır

AppendRuleReference(String, String)

Kaynak:
GrammarBuilder.cs
Kaynak:
GrammarBuilder.cs
Kaynak:
GrammarBuilder.cs
Kaynak:
GrammarBuilder.cs

Dil bilgisi tanım dosyasının belirtilen kuralını geçerli dil bilgisi öğeleri 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

Konuşma tanıma dil bilgisini desteklenen biçimde açıklayan dosyanın dosya yolu veya Evrensel Kaynak Tanımlayıcısı (URI).

rule
String

Eklenecek veya null dil bilgisi dosyasının varsayılan kök kuralını eklemek için kuralın tanımlayıcısı.

Örnekler

Aşağıdaki C# örneği, cities.grxml adlı yerel bir SRGS dosyasında adlı Cities kuralı kullanan bir konuşma tanıma dil bilgisi oluşturur. cities.grxml dosyasının içeriği C# kod örneğinin 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

Important

Güvenilmeyen verilerle bu tür bir örneği kullanmak bir güvenlik riskidir. Bu nesneyi yalnızca güvenilen verilerle kullanın. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.

Bağımsız değişken tarafından path sağlanan URI yerel veya uzak olabilir. Uygulamanın belirtilen dil bilgisi dosyalarının konumuna okuma erişimi olmalıdır.

bir dil bilgisi dosyasını kök kuralıyla başlayarak eklemek için yöntemini AppendRuleReference kullanabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır