Represents the textual content of grammar elements defined by the World Wide Web Consortium (W3C) Speech Recognition Grammar Specification (SRGS) Version 1.0.
Inheritance Hierarchy
System..::..MarshalByRefObject
Microsoft.Speech.Recognition.SrgsGrammar..::..SrgsElement
Microsoft.Speech.Recognition.SrgsGrammar..::..SrgsText
Namespace:
Microsoft.Speech.Recognition.SrgsGrammar
Assembly:
Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
Visual Basic (Declaration) |
---|
<SerializableAttribute> _ Public NotInheritable Class SrgsText _ Inherits SrgsElement |
Visual Basic (Usage) |
---|
Dim instance As SrgsText |
C# |
---|
[SerializableAttribute] public sealed class SrgsText : SrgsElement |
Remarks
The SrgsText class represents the text found within a set of SRGS element tags. When an SrgsItem object is constructed with a String parameter, a SrgsText object is created with its Text property initialized to the value of that parameter. The Text object is then added to the Elements collection on the SrgsItem object.
Examples
The following C# code example demonstrates how to use the SrgsText class to modify the textual contents of SrgsItem objects. The example changes the initial text values of the SrgsItem objects (Large, Larger, and Largest) to Small, Medium, and Large, respectively.
C# | Copy Code |
---|---|
// Create SrgsItem objects and specify their text. SrgsItem smallItem = new SrgsItem("Large"); SrgsItem mediumItem = new SrgsItem("Larger"); SrgsItem largeItem = new SrgsItem("Largest"); SrgsText textOfItem = null; // Change the text of smallItem. if (smallItem.Elements[0] is SrgsText) { textOfItem = smallItem.Elements[0] as SrgsText; textOfItem.Text = "Small"; } // Change the text of mediumItem. if (mediumItem.Elements[0] is SrgsText) { textOfItem = mediumItem.Elements[0] as SrgsText; textOfItem.Text = "Medium"; } // Change the text of largeItem. if (largeItem.Elements[0] is SrgsText) { textOfItem = largeItem.Elements[0] as SrgsText; textOfItem.Text = "Large"; } // Create an SrgsOneOf object and add smallItem, mediumItem, // and largeItem as alternatives. SrgsOneOf itemSize = new SrgsOneOf(new SrgsItem[] { smallItem, mediumItem, largeItem }); // Create a new SrgsRule from the SrgsOneOf object, and specifiy its identifier. SrgsRule size = new SrgsRule("Sizes", itemSize); // Create an SrgsDocument object. // Add the SrgsRule object to the collection of rules and make it the root rule. SrgsDocument document = new SrgsDocument(); document.Rules.Add(size); document.Root = size; // Write the SrgsDocument to an XML grammar file. string srgsDocumentFile = Path.Combine(Path.GetTempPath(), "srgsDocumentFile.xml"); XmlWriter writer = XmlWriter.Create(srgsDocumentFile); document.WriteSrgs(writer); writer.Close(); |
The following shows how the modified text of the SrgsItem objects would appear as item elements in the output XML grammar file.
XML | Copy Code |
---|---|
<!-- SRGS XML Fragment --> <one-of> <item>Small</item> <item>Medium</item> <item>Large</item> </one-of> |