SrgsDocument.WriteSrgs(XmlWriter) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Escribe el contenido del objeto SrgsDocument en un archivo de gramática de formato XML que se ajusta a la especificación de gramática de reconocimiento de voz (SRGS) versión 1.0.
public:
void WriteSrgs(System::Xml::XmlWriter ^ srgsGrammar);
public void WriteSrgs (System.Xml.XmlWriter srgsGrammar);
member this.WriteSrgs : System.Xml.XmlWriter -> unit
Public Sub WriteSrgs (srgsGrammar As XmlWriter)
Parámetros
- srgsGrammar
- XmlWriter
El objeto XmlWriter que se utiliza para escribir la instancia SrgsDocument.
Excepciones
srgsGrammar
es null
.
Ejemplos
En el ejemplo siguiente se crea un SrgsDocument objeto y, a continuación, se crea una regla pública denominada winnerRule
. A continuación, crea un SrgsItem objeto que consta de la cadena "Una nación que ha ganado la Copa Mundial es:" y agrega este elemento a la Elements propiedad de la regla. A continuación, el ejemplo crea dos reglas más (ruleEurope
y ruleSAmerica
), cada una de las cuales es un SrgsOneOf objeto que contiene tres SrgsItem objetos. Después, se crea otro SrgsOneOf objeto que contiene SrgsRuleRef objetos que hacen referencia a ruleEurope
y ruleSAmerica
. A continuación, el nuevo SrgsOneOf objeto se agrega a la Elements propiedad de winnerRule
. Después de esto, las tres reglas (winnerRule
, ruleEurope
y ruleSAmerica
) se agregan a la Rules propiedad de SrgsDocument. Por último, en el ejemplo se crea un archivo XML vacío y una instancia de XmlWriter. El WriteSrgs método usa la XmlWriter instancia de para escribir el contenido del objeto SrgsDocument en el archivo XML.
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;
// Create a string object with the path to the file to use.
string srgsDocumentFile = Path.Combine(Path.GetTempPath(), "srgsDocumentFile.xml");
// Create an XmlWriter object and pass the file path.
XmlWriter writer = XmlWriter.Create(srgsDocumentFile);
// Write the contents of the XmlWriter object to an SRGS-compatible XML file.
document.WriteSrgs(writer);
writer.Close();
}