SrgsRuleRef 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다.
오버로드
SrgsRuleRef(SrgsRule) |
SrgsRuleRef 클래스의 새 인스턴스를 초기화하고 참조할 규칙을 지정합니다. |
SrgsRuleRef(Uri) |
SrgsRuleRef 클래스의 새 인스턴스를 초기화하며 참조에 대한 외부 문법 파일의 위치를 지정합니다. |
SrgsRuleRef(SrgsRule, String) |
참조에 대한 규칙과 의미 키를 포함하는 문자열을 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다. |
SrgsRuleRef(Uri, String) |
참조에 대한 외부 문법 파일의 위치와 규칙의 식별자를 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다. |
SrgsRuleRef(SrgsRule, String, String) |
참조에 대한 규칙, 의미 사전의 문자열 별칭 및 초기화 매개 변수를 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다. |
SrgsRuleRef(Uri, String, String) |
외부 문법 파일의 위치, 규칙의 식별자 및 의미 사전의 문자열 별칭을 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다. |
SrgsRuleRef(Uri, String, String, String) |
외부 문법 파일의 위치, 규칙의 식별자, 의미 사전의 문자열 별칭 및 초기화 매개 변수를 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다. |
SrgsRuleRef(SrgsRule)
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
SrgsRuleRef 클래스의 새 인스턴스를 초기화하고 참조할 규칙을 지정합니다.
public:
SrgsRuleRef(System::Speech::Recognition::SrgsGrammar::SrgsRule ^ rule);
public SrgsRuleRef (System.Speech.Recognition.SrgsGrammar.SrgsRule rule);
new System.Speech.Recognition.SrgsGrammar.SrgsRuleRef : System.Speech.Recognition.SrgsGrammar.SrgsRule -> System.Speech.Recognition.SrgsGrammar.SrgsRuleRef
Public Sub New (rule As SrgsRule)
매개 변수
- rule
- SrgsRule
참조할 개체입니다.
예외
rule
이(가) null
인 경우
예제
다음 예제에서는 라는 문구를 인식 하는 문법의 전 세계 월드컵 성공한에 국가 이름 뒤에 "가 전 세계 월드컵에 국가". 개체 winnerRule
를 SrgsRule 만들고 문자열 식별자를 WorldCupWinner
지정한 후 예제에서는 규칙에 "월드컵에서 우승한 국가는 입니다"라는 문자열을 추가합니다. 이 예제에서는 개체를 사용하여 SrgsOneOf 유럽 국가/지역 목록과 남미 국가/지역 목록을 작성하고 각 목록을 해당 규칙 ruleEurope
또는 ruleSAmerica
에 추가합니다. 이 예에서는 다음에 대 한 규칙 참조를 만듭니다 ruleEurope
하 고 ruleSAmerica
에 추가 합니다는 WorldCupWinner
규칙입니다.
public void WorldSoccerWinners ()
{
// Create an SrgsDocument, create a new rule
// and set its scope to public.
SrgsDocument document = new SrgsDocument();
SrgsRule winnerRule = new SrgsRule("WorldCupWinner");
winnerRule.Scope = SrgsRuleScope.Public;
// Add the introduction.
winnerRule.Elements.Add(new SrgsItem("A nation that has won the world cup is: "));
// Create the rule for the European nations.
SrgsOneOf oneOfEurope = new SrgsOneOf(new SrgsItem[] {new SrgsItem("England"),
new SrgsItem("France"), new SrgsItem("Germany"), new SrgsItem("Italy")});
SrgsRule ruleEurope = (new SrgsRule("EuropeanNations", new SrgsElement[] {oneOfEurope}));
// Create the rule for the South American nations.
SrgsOneOf oneOfSAmerica = new SrgsOneOf(new SrgsItem[] {new SrgsItem("Argentina"),
new SrgsItem("Brazil"), new SrgsItem("Uruguay")});
SrgsRule ruleSAmerica = (new SrgsRule("SouthAmericanNations", new SrgsElement[] {oneOfSAmerica}));
// Add references to winnerRule for ruleEurope and ruleSAmerica.
winnerRule.Elements.Add(new SrgsOneOf(new SrgsItem[] {(new SrgsItem
(new SrgsRuleRef(ruleEurope))), new SrgsItem(new SrgsRuleRef(ruleSAmerica))}));
// Add all the rules to the document and make winnerRule
// the root rule of the document.
document.Rules.Add(new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});
document.Root = winnerRule;
}
만든된 문법에 다음과 같은 형식입니다.
<grammar version="1.0" xml:lang="en-US" xmlns="http://www.w3.org/2001/06/grammar" root="WorldCupWinner">
<rule id="WorldCupWinner" scope="public">
<item> A nation that has won the world cup is </item>
<one-of>
<item>
<ruleref uri="#EuropeanNations" />
</item>
<item>
<ruleref uri="#SouthAmericanNations" />
</item>
</one-of>
</rule>
<rule id="EuropeanNations">
<one-of>
<item> England </item>
<item> France </item>
<item> Germany </item>
<item> Italy </item>
</one-of>
</rule>
<rule id="SouthAmericanNations">
<one-of>
<item> Argentina </item>
<item> Brazil </item>
<item> Uruguay </item>
</one-of>
</rule>
</grammar>
설명
이 생성자는 포함하는 문법 내의 개체에 대한 SrgsRule 규칙 참조를 만듭니다. 규칙 참조를 만드는 데는 rule
요소를 외부 문법 파일에 다음 생성자 중 하나를 사용 합니다.
추가 정보
적용 대상
SrgsRuleRef(Uri)
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
SrgsRuleRef 클래스의 새 인스턴스를 초기화하며 참조에 대한 외부 문법 파일의 위치를 지정합니다.
public:
SrgsRuleRef(Uri ^ uri);
public SrgsRuleRef (Uri uri);
new System.Speech.Recognition.SrgsGrammar.SrgsRuleRef : Uri -> System.Speech.Recognition.SrgsGrammar.SrgsRuleRef
Public Sub New (uri As Uri)
매개 변수
- uri
- Uri
포함하는 문법 이외의 문법 파일 위치입니다.
예외
uri
이(가) null
인 경우
예제
다음 예제에서는 셔틀 service bus에 대 한 정보를 반환 하는 애플리케이션에 대 한 문법을 만듭니다. 첫 번째 방법은 GrammarUrlForRoute
, 경로 지정 하 고 그래 머의 위치를 지정 하는 문자열에 추가 된 문자열을 사용 합니다. 이 문법에서 특정 규칙을 지정합니다. 메서드는 반환 된 Uri
해당 규칙에 대 한 합니다.
두 번째 CreateGrammarForRoute
를 만듭니다는 SrgsDocument 라는 요소가 grammar
하 여 지정 된 규칙 참조를 사용 하 여를 Uri
에서 전달 된 GrammarUrlForRoute
합니다. 변수 이름을 _route 있음을 참고 바깥쪽 클래스의 멤버 임
private Uri GrammarUrlForRoute(string route)
{
return new Uri("http://localhost/MyBus/MyBusLocations.grxml#LocationsForRoute" + route);
}
private SrgsDocument CreateGrammarForRoute()
{
SrgsDocument grammar = new SrgsDocument();
grammar.Mode = SrgsGrammarMode.Voice;
SrgsRule rule = new SrgsRule("LocationsForRoute" + _route);
SrgsRuleRef ruleref = new SrgsRuleRef(GrammarUrlForRoute(_route));
SrgsSemanticInterpretationTag tag = new SrgsSemanticInterpretationTag ("$.Location = $$");
rule.Elements.Add(ruleref);
rule.Elements.Add(tag);
grammar.Rules.Add(rule);
grammar.Root = rule;
return grammar;
}
참고
_ 라는 변수에route
선언 되지 않은 이며 앞의 예제에서 정의 되지 않은 합니다. 로 선언 해야 하는 것을 String 앞에 나온 샘플 컴파일 및 실행 하기 전에 특정 버스 경로 대 한 경로 수를 포함 합니다.
설명
이 생성자는 외부 문법 파일에 대 한 규칙 참조를 만듭니다. URI를 예를 들어 참조 하는 규칙의 식별자를 포함할 수도 있습니다 http://www.contoso.com/ExternalGrammar.grxml#targetRule
합니다. 경우는 uri
매개 변수는 식별자를 지정 하지 규칙을 규칙 참조를 대상 문법의 루트 규칙을 가리킵니다. 규칙 참조를 만드는 데는 SrgsRule 같은 문법 내 개체, 다음과 같은 생성자 중 하나를 사용 합니다.
추가 정보
적용 대상
SrgsRuleRef(SrgsRule, String)
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
참조에 대한 규칙과 의미 키를 포함하는 문자열을 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다.
public:
SrgsRuleRef(System::Speech::Recognition::SrgsGrammar::SrgsRule ^ rule, System::String ^ semanticKey);
public SrgsRuleRef (System.Speech.Recognition.SrgsGrammar.SrgsRule rule, string semanticKey);
new System.Speech.Recognition.SrgsGrammar.SrgsRuleRef : System.Speech.Recognition.SrgsGrammar.SrgsRule * string -> System.Speech.Recognition.SrgsGrammar.SrgsRuleRef
Public Sub New (rule As SrgsRule, semanticKey As String)
매개 변수
- rule
- SrgsRule
참조할 개체입니다.
- semanticKey
- String
의미 키입니다.
예제
다음 예제에서는 항공편에 대 한 도시를 선택 하는 것에 대 한 문법을 만듭니다. 이 예제에서는 두 개의 생성 SrgsRuleRef 인스턴스를 각각 의미 키를 지정 합니다. 참조 대상 동일한 규칙 둘 다 SrgsRule 라는 개체 cities
, 다른 의미 체계 키를 사용 하 여 규칙 참조에서 인식 결과 태그 지정 하지만 합니다. 의미 키 출발 도시 또는 항공권 도착 시 인식할 수 있는 도시를 식별합니다. 에 대 한 처리기를 SpeechRecognized 사용 하 여 만든 의미 값을 검색 하는 키를 사용 하는 이벤트 SrgsNameValueTag 인식 결과에서.
using System;
using System.Speech.Recognition;
using System.Speech.Recognition.SrgsGrammar;
namespace SampleRecognition
{
class Program
{
static void Main(string[] args)
// Initialize a SpeechRecognitionEngine object.
{
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))
{
// Build a rule with a list of cities, assign a semantic value to each city.
SrgsItem chi = new SrgsItem("Chicago");
chi.Add(new SrgsNameValueTag("ORD"));
SrgsItem bos = new SrgsItem("Boston");
bos.Add(new SrgsNameValueTag("BOS"));
SrgsItem mia = new SrgsItem("Miami");
mia.Add(new SrgsNameValueTag("MIA"));
SrgsItem dal = new SrgsItem("Dallas");
dal.Add(new SrgsNameValueTag("DFW"));
SrgsOneOf cities = new SrgsOneOf(new SrgsItem[] { chi, bos, mia, dal });
SrgsRule citiesRule = new SrgsRule("flightCities");
citiesRule.Add(cities);
// Build the root rule, add rule references to the cities rule.
SrgsRule flightBooker = new SrgsRule("bookFlight");
flightBooker.Add(new SrgsItem("I want to fly from"));
flightBooker.Add(new SrgsRuleRef(citiesRule, "departureCity"));
flightBooker.Add(new SrgsItem("to"));
flightBooker.Add(new SrgsRuleRef(citiesRule, "arrivalCity"));
// Build an SrgsDocument object from the flightBooker rule and add the cities rule.
SrgsDocument cityChooser = new SrgsDocument(flightBooker);
cityChooser.Rules.Add(citiesRule);
// Create a Grammar object from the SrgsDocument and load it to the recognizer.
Grammar departArrive = new Grammar(cityChooser);
departArrive.Name = ("Cities Grammar");
recognizer.LoadGrammarAsync(departArrive);
// Configure recognizer input.
recognizer.SetInputToDefaultAudioDevice();
// Attach a handler for the SpeechRecognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
// Start asynchronous recognition.
recognizer.RecognizeAsync();
Console.WriteLine("Starting asynchronous recognition...");
// Keep the console window open.
Console.ReadLine();
}
}
// Handle the SpeechRecognized event.
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Speech recognized: " + e.Result.Text);
Console.WriteLine();
Console.WriteLine("Semantic results:");
Console.WriteLine(" The departure city is: " + e.Result.Semantics["departureCity"].Value);
Console.WriteLine(" The destination city is: " + e.Result.Semantics["arrivalCity"].Value);
}
}
}
설명
이 생성자는 포함하는 문법 내의 개체에 대한 SrgsRule 규칙 참조를 만듭니다. 규칙 참조를 만드는 데는 rule
요소를 외부 문법 파일에 다음 생성자 중 하나를 사용 합니다.
추가 정보
적용 대상
SrgsRuleRef(Uri, String)
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
참조에 대한 외부 문법 파일의 위치와 규칙의 식별자를 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다.
public:
SrgsRuleRef(Uri ^ uri, System::String ^ rule);
public SrgsRuleRef (Uri uri, string rule);
new System.Speech.Recognition.SrgsGrammar.SrgsRuleRef : Uri * string -> System.Speech.Recognition.SrgsGrammar.SrgsRuleRef
Public Sub New (uri As Uri, rule As String)
매개 변수
- uri
- Uri
포함하는 문법 이외의 문법 파일 위치입니다.
- rule
- String
참조할 규칙의 식별자입니다.
예외
rule
가 비어 있는 경우
설명
이 생성자에 대 한 규칙 참조를 만듭니다를 rule
외부 문법 파일에는 요소입니다. 규칙 참조를 만드는 데는 SrgsRule 같은 문법 내 개체, 다음과 같은 생성자 중 하나를 사용 합니다.
추가 정보
적용 대상
SrgsRuleRef(SrgsRule, String, String)
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
참조에 대한 규칙, 의미 사전의 문자열 별칭 및 초기화 매개 변수를 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다.
public:
SrgsRuleRef(System::Speech::Recognition::SrgsGrammar::SrgsRule ^ rule, System::String ^ semanticKey, System::String ^ parameters);
public SrgsRuleRef (System.Speech.Recognition.SrgsGrammar.SrgsRule rule, string semanticKey, string parameters);
new System.Speech.Recognition.SrgsGrammar.SrgsRuleRef : System.Speech.Recognition.SrgsGrammar.SrgsRule * string * string -> System.Speech.Recognition.SrgsGrammar.SrgsRuleRef
Public Sub New (rule As SrgsRule, semanticKey As String, parameters As String)
매개 변수
- rule
- SrgsRule
참조할 개체입니다.
- semanticKey
- String
의미 키입니다.
- parameters
- String
SrgsRuleRef 개체에 대한 초기화 매개 변수입니다.
설명
이 생성자는 포함하는 문법 내의 개체에 대한 SrgsRule 규칙 참조를 만듭니다. 규칙 참조를 만드는 데는 rule
요소를 외부 문법 파일에 다음 생성자 중 하나를 사용 합니다.
추가 정보
적용 대상
SrgsRuleRef(Uri, String, String)
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
외부 문법 파일의 위치, 규칙의 식별자 및 의미 사전의 문자열 별칭을 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다.
public:
SrgsRuleRef(Uri ^ uri, System::String ^ rule, System::String ^ semanticKey);
public SrgsRuleRef (Uri uri, string rule, string semanticKey);
new System.Speech.Recognition.SrgsGrammar.SrgsRuleRef : Uri * string * string -> System.Speech.Recognition.SrgsGrammar.SrgsRuleRef
Public Sub New (uri As Uri, rule As String, semanticKey As String)
매개 변수
- uri
- Uri
포함하는 문법 이외의 문법 파일 위치입니다.
- rule
- String
참조할 규칙의 식별자입니다.
- semanticKey
- String
의미 사전에 대한 별칭 문자열
예외
semanticKey
가 비어 있는 경우
설명
이 생성자에 대 한 규칙 참조를 만듭니다를 rule
외부 문법 파일에는 요소입니다. 규칙 참조를 만드는 데는 SrgsRule 같은 문법 내 개체, 다음과 같은 생성자 중 하나를 사용 합니다.
추가 정보
적용 대상
SrgsRuleRef(Uri, String, String, String)
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
- Source:
- SrgsRuleRef.cs
외부 문법 파일의 위치, 규칙의 식별자, 의미 사전의 문자열 별칭 및 초기화 매개 변수를 지정하는 SrgsRuleRef 클래스의 새 인스턴스를 초기화합니다.
public:
SrgsRuleRef(Uri ^ uri, System::String ^ rule, System::String ^ semanticKey, System::String ^ parameters);
public SrgsRuleRef (Uri uri, string rule, string semanticKey, string parameters);
new System.Speech.Recognition.SrgsGrammar.SrgsRuleRef : Uri * string * string * string -> System.Speech.Recognition.SrgsGrammar.SrgsRuleRef
Public Sub New (uri As Uri, rule As String, semanticKey As String, parameters As String)
매개 변수
- uri
- Uri
포함하는 문법 이외의 문법 파일 위치입니다.
- rule
- String
참조할 규칙의 식별자입니다.
- semanticKey
- String
의미 키입니다.
- parameters
- String
SrgsRuleRef 개체에 대한 초기화 매개 변수입니다.
설명
이 생성자에 대 한 규칙 참조를 만듭니다를 rule
외부 문법 파일에는 요소입니다. 규칙 참조를 만드는 데는 SrgsRule 같은 문법 내 개체, 다음과 같은 생성자 중 하나를 사용 합니다.
추가 정보
적용 대상
.NET