







Initializes a new instance of the Grammar class from an SrgsDocument object.
Namespace:
Microsoft.Speech.Recognition
Assembly:
Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
| Visual Basic (Declaration) |
|---|
Public Sub New ( _ srgsDocument As SrgsDocument _ ) |
| Visual Basic (Usage) |
|---|
Dim srgsDocument As SrgsDocument Dim instance As New Grammar(srgsDocument) |
| C# |
|---|
public Grammar( SrgsDocument srgsDocument ) |
Parameters
- srgsDocument
- Type: Microsoft.Speech.Recognition.SrgsGrammar..::..SrgsDocument
The constraints for the speech recognition grammar.
Exceptions
| Exception | Condition |
|---|---|
| ArgumentException | Thrown when one or more values in srgsDocument are invalid. Thrown when the SrgsDocument specified by srgsDocument does not contain a root rule ruleName. |
Remarks
The srgsDocument argument
Must never be nullNothingnullptrunita null reference (Nothing in Visual Basic).
Must contain a root rule.
To create a Grammar object from a SrgsDocument object and specify a root rule, use the Grammar(SrgsDocument, String) or Grammar(SrgsDocument, String, Uri) constructor.
As there is no Base URI specified, any rule references must:
Use absolute URIs.
Target rules within the grammar being loaded.
Use any paths defined in the grammar object being loaded.
To create a Grammar object from an SrgsDocument and specify a base URI to use to resolve relative rule references, use the Grammar(SrgsDocument, String, Uri) constructor.
Examples
The following example creates a speech recognition grammar in an SrgsDocument instance, which is then used to construct a Grammar object.
| C# | Copy Code |
|---|---|
private static Grammar CreateSrgsDocumentGrammar()
{
// Create the SrgsDocument.
SrgsDocument document = new SrgsDocument();
// Create the Cities rule and add it to the document.
SrgsRule citiesRule = new SrgsRule("Cities");
SrgsOneOf cityChoice = new SrgsOneOf();
cityChoice.Add(new SrgsItem("Seattle"));
cityChoice.Add(new SrgsItem("Los Angeles"));
cityChoice.Add(new SrgsItem("New York"));
cityChoice.Add(new SrgsItem("Miami"));
citiesRule.Add(cityChoice);
document.Rules.Add(citiesRule);
// Create the Main rule and add it to the document.
SrgsRule mainRule = new SrgsRule("Main");
mainRule.Scope = SrgsRuleScope.Public;
SrgsItem item = new SrgsItem("I would like to fly from");
item.Add(new SrgsRuleRef(citiesRule));
item.Add(new SrgsText(" to "));
item.Add(new SrgsRuleRef(citiesRule));
mainRule.Add(item);
document.Rules.Add(mainRule);
// Set the root rule.
document.Root = mainRule;
// Create the Grammar object.
Grammar citiesGrammar = new Grammar(document);
citiesGrammar.Name = "SrgsDocument Cities Grammar";
return citiesGrammar;
}
| |
