Rules Property

Microsoft Speech Platform SDK 11

Collapse imageExpand ImageCopy imageCopyHover image

Gets the collection of rules that are currently defined for the SrgsDocument class.

Namespace:  Microsoft.Speech.Recognition.SrgsGrammar
Assembly:  Microsoft.Speech (in Microsoft.Speech.dll)

Syntax

Visual Basic (Declaration)
Public ReadOnly Property Rules As SrgsRulesCollection
	Get
Visual Basic (Usage)
Dim instance As SrgsDocument
Dim value As SrgsRulesCollection

value = instance.Rules
C#
public SrgsRulesCollection Rules { get; }

Property Value

Type: Microsoft.Speech.Recognition.SrgsGrammar..::..SrgsRulesCollection

Returns the rules defined for the SrgsDocument object.

Remarks

You can add SrgsRule objects to the SrgsRulesCollection by using the Add method on the Rules property. If you initialize an SrgsDocument object and specify an SrgsRule object as the argument, the SrgsRule is automatically added to the SrgsRulesCollection for the SrgsDocument.

Examples

The following example creates an SrgsDocument object, and then creates a public rule named rootRule. It then creates an SrgsItem that consists of the string "A nation that has won the world cup is:", and adds this item to the Elements property of the rule. The example then creates two more rules (ruleEurope and ruleSAmerica), each of which is an SrgsOneOf object that contains three SrgsItem objects. After that, another SrgsOneOf object is created that contains SrgsRuleRef objects that refer to ruleEurope and ruleSAmerica. The new SrgsOneOf object is then added to the Elements property of rootRule. After this, all three rules (rootRule, ruleEurope, and ruleSAmerica) are added to the Rules property of SrgsDocument. Finally, rootRule is made the root rule for the grammar of SrgsDocument.

C# Copy imageCopy Code
SrgsDocument document = new SrgsDocument();

SrgsRule rootRule = new SrgsRule("WorldCupWinner");
rootRule.Scope = SrgsRuleScope.Public;

rootRule.Elements.Add(new SrgsItem("A nation that has won the world cup is: "));
SrgsOneOf oneOfEurope = new SrgsOneOf(new SrgsItem("England"), new SrgsItem("France"), new SrgsItem("Germany"), new SrgsItem("Italy"));
SrgsRule ruleEurope = new SrgsRule("EuropeanNations", oneOfEurope);

SrgsOneOf oneOfSAmerica = new SrgsOneOf(new SrgsItem("Argentine"), new SrgsItem("Brazil"), new SrgsItem("Uruguay"));
SrgsRule ruleSAmerica = new SrgsRule("SouthAmericanNations", oneOfSAmerica);

rootRule.Elements.Add(new SrgsOneOf(new SrgsItem(new SrgsRuleRef(ruleEurope)), new SrgsItem(new SrgsRuleRef(ruleSAmerica))));

document.Rules.Add(rootRule, ruleEurope, ruleSAmerica);
document.Root = rootRule;

See Also