GrammarBuilder.AppendRuleReference メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
文法ファイルまたは文法規則を文法要素の現在のシーケンスに追加します。
オーバーロード
| 名前 | 説明 |
|---|---|
| AppendRuleReference(String) |
文法定義ファイルを文法要素の現在のシーケンスに追加します。 |
| AppendRuleReference(String, String) |
文法定義ファイルの指定した規則を文法要素の現在のシーケンスに追加します。 |
注釈
AppendRuleReferenceメソッドは、ファイルから文法ファイルまたは文法規則を追加できます。 これらのメソッドを使用すると、アプリケーションは、事前にデプロイされた文法規則または一般公開されている文法規則を使用できます。 アプリケーションは、指定された文法ファイルの場所への読み取りアクセス権を持っている必要があります。
これらのメソッドは、次の形式から音声認識文法を読み取ることができます。
W3C 音声認識文法仕様 (SRGS) バージョン 1.0 に準拠する XML 形式ファイル
Microsoft音声認識文法バイナリ形式 (.cfg ファイル拡張子) に準拠するバイナリ ファイル
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)。
例
次の C# の例では、ローカルの SRGS ファイル cities.grxml で Cities という名前の規則を使用する音声認識文法を作成します。 cities.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>
注釈
Important
信頼されていないデータでこの型のインスタンスを使用することは、セキュリティ上のリスクです。 このオブジェクトは、信頼できるデータでのみ使用します。 詳細については、「すべての入力を検証する」を参照してください。
path引数によって提供される URI は、ローカルでもリモートでもかまいません。 アプリケーションは、指定された文法ファイルの場所への読み取りアクセス権を持っている必要があります。
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)。
- rule
- String
追加する規則の識別子。文法ファイルの既定のルート規則を追加する null 。
例
次の C# の例では、ローカルの SRGS ファイル cities.grxml で Cities という名前の規則を使用する音声認識文法を作成します。 cities.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>
注釈
Important
信頼されていないデータでこの型のインスタンスを使用することは、セキュリティ上のリスクです。 このオブジェクトは、信頼できるデータでのみ使用します。 詳細については、「すべての入力を検証する」を参照してください。
path引数によって提供される URI は、ローカルでもリモートでもかまいません。 アプリケーションは、指定された文法ファイルの場所への読み取りアクセス権を持っている必要があります。
AppendRuleReferenceメソッドを使用して、ルート規則で始まる文法ファイルを追加できます。