GrammarBuilder.AppendRuleReference Metode

Definisi

Menambahkan file tata bahasa atau aturan tata bahasa ke urutan elemen tata bahasa saat ini.

Overload

Nama Deskripsi
AppendRuleReference(String)

Menambahkan file definisi tata bahasa ke urutan elemen tata bahasa saat ini.

AppendRuleReference(String, String)

Menambahkan aturan yang ditentukan dari file definisi tata bahasa ke urutan elemen tata bahasa saat ini.

Keterangan

Metode ini AppendRuleReference dapat menambahkan file tata bahasa atau aturan tata bahasa dari file. Metode ini memungkinkan aplikasi untuk menggunakan aturan tata bahasa yang telah disebarkan atau tersedia untuk umum. Aplikasi harus memiliki akses baca ke lokasi file tata bahasa yang ditentukan.

Metode ini dapat membaca tata bahasa pengenalan ucapan dari format berikut.

  • File format XML yang sesuai dengan Spesifikasi Tata Bahasa Pengenalan Ucapan (SRGS) W3C Versi 1.0

  • File biner yang sesuai dengan Format Biner Tata Bahasa Pengenalan Ucapan Microsoft (ekstensi file.cfg)

Mengkompilasi file tata bahasa SRGS format XML ke file tata bahasa biner dengan ekstensi .cfg dapat mengurangi waktu yang dikonsumsi oleh pencarian kecocokan, terutama jika tata bahasa memerlukan pengenalan sejumlah besar kata dan frasa. Untuk informasi tentang mengkompilasi tata bahasa SRGS ke format biner CFG, lihat SrgsGrammarCompiler.

AppendRuleReference(String)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan file definisi tata bahasa ke urutan elemen tata bahasa saat ini.

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

Parameter

path
String

Jalur atau Pengidentifikasi Sumber Daya Universal (URI) file yang menjelaskan tata bahasa pengenalan ucapan dalam format yang didukung.

Contoh

Contoh C# berikut membuat tata bahasa pengenalan ucapan yang menggunakan aturan bernama Cities dalam file SRGS lokal, cities.grxml. Konten file cities.grxml muncul di bawah contoh kode 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>

Keterangan

Penting

Menggunakan instans jenis ini dengan data yang tidak tepercaya adalah risiko keamanan. Gunakan objek ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

URI yang disediakan oleh path argumen mungkin lokal atau jarak jauh. Aplikasi harus memiliki akses baca ke lokasi file tata bahasa yang ditentukan.

Representasi Spesifikasi Tata Bahasa Pengenalan Ucapan (SRGS) W3C dapat menentukan aturan akar. Metode ini menambahkan tata bahasa, dimulai dengan aturan akarnya, ke urutan elemen tata bahasa saat ini. Untuk menambahkan aturan tata bahasa tertentu, gunakan metode .AppendRuleReference

Lihat juga

Berlaku untuk

AppendRuleReference(String, String)

Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs
Sumber:
GrammarBuilder.cs

Menambahkan aturan yang ditentukan dari file definisi tata bahasa ke urutan elemen tata bahasa saat ini.

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)

Parameter

path
String

Jalur file atau Pengidentifikasi Sumber Daya Universal (URI) file yang menjelaskan tata bahasa pengenalan ucapan dalam format yang didukung.

rule
String

Pengidentifikasi aturan untuk ditambahkan, atau null untuk menambahkan aturan akar default file tata bahasa.

Contoh

Contoh C# berikut membuat tata bahasa pengenalan ucapan yang menggunakan aturan bernama Cities dalam file SRGS lokal, cities.grxml. Konten file cities.grxml muncul di bawah contoh kode 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>

Keterangan

Penting

Menggunakan instans jenis ini dengan data yang tidak tepercaya adalah risiko keamanan. Gunakan objek ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

URI yang disediakan oleh path argumen mungkin lokal atau jarak jauh. Aplikasi harus memiliki akses baca ke lokasi file tata bahasa yang ditentukan.

Anda dapat menggunakan metode untuk AppendRuleReference menambahkan file tata bahasa yang dimulai dengan aturan akarnya.

Lihat juga

Berlaku untuk