GrammarBuilder.AppendRuleReference メソッド

定義

文法要素の現在のシーケンスに文法ファイルまたは文法ルールを追加します。

オーバーロード

AppendRuleReference(String)

文法要素の現在のシーケンスに文法定義ファイルを追加します。

AppendRuleReference(String, String)

文法要素の現在のシーケンスに文法定義ファイルの指定されたルールを追加します。

注釈

メソッドでは、 AppendRuleReference ファイルから文法ファイルまたは文法規則を追加できます。 これらのメソッドを使用すると、アプリケーションは、事前に配置された、または公開されている文法規則を利用できます。 アプリケーションは、指定された文法ファイルの場所に対する読み取りアクセス権を持っている必要があります。

これらのメソッドは、次の形式から音声認識の文法を読み取ることができます。

XML 形式の SRGS 文法ファイルを拡張子が cfg のバイナリ文法ファイルにコンパイルすると、特に文法で多数の単語や語句を認識する必要がある場合に、検索によって使用される時間が短縮されます。 SRGS 文法を CFG バイナリ形式にコンパイルする方法の詳細については、「」を参照してください SrgsGrammarCompiler

AppendRuleReference(String)

文法要素の現在のシーケンスに文法定義ファイルを追加します。

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

パラメーター

path
String

サポートされている形式で音声認識文法を記述するファイルのパスまたは URI (Universal Resource Identifier)。

次の C# の例では、 Cities ローカルの SRGS ファイル (都市. grxml) で命名されたルールを使用する音声認識文法を作成します。 都市. grxml ファイルの内容は、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>  

注釈

引数によって提供される URI は、 path local または remote にすることができます。 アプリケーションは、指定された文法ファイルの場所に対する読み取りアクセス権を持っている必要があります。

W3C 音声認識文法仕様 (SRGS) 表現では、ルート規則を定義できます。 このメソッドは、ルート規則で始まる文法を文法要素の現在のシーケンスに追加します。 特定の文法規則を追加するには、メソッドを使用し AppendRuleReference ます。

こちらもご覧ください

適用対象

AppendRuleReference(String, String)

文法要素の現在のシーケンスに文法定義ファイルの指定されたルールを追加します。

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)

パラメーター

path
String

サポートされている形式で音声認識文法を記述するファイルのファイル パスまたは URI (Universal Resource Identifier)。

rule
String

追加するルールの識別子、または文法ファイルの既定のルート ルールを追加する場合は null

次の C# の例では、 Cities ローカルの SRGS ファイル (都市. grxml) で命名されたルールを使用する音声認識文法を作成します。 都市. grxml ファイルの内容は、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>  

注釈

引数によって提供される URI は、 path local または remote にすることができます。 アプリケーションは、指定された文法ファイルの場所に対する読み取りアクセス権を持っている必要があります。

メソッドを使用して、 AppendRuleReference ルート規則で始まる文法ファイルを追加できます。

こちらもご覧ください

適用対象