Compartir a través de


SrgsDocument Constructores

Definición

Inicializa una nueva instancia de la clase SrgsDocument.

Sobrecargas

SrgsDocument()

Inicializa una nueva instancia de la clase SrgsDocument.

SrgsDocument(GrammarBuilder)

Inicializa una nueva instancia de la clase SrgsDocument a partir de un objeto GrammarBuilder.

SrgsDocument(SrgsRule)

Inicializa una nueva instancia de la clase SrgsDocument y especifica que un objeto SrgsRule sea la regla raíz de la gramática.

SrgsDocument(String)

Inicializa una nueva instancia de la clase de SrgsDocument que especifica la ubicación del documento XML que se utiliza para completar la instancia de SrgsDocument.

SrgsDocument(XmlReader)

Inicializa una nueva instancia de la clase SrgsDocument de una instancia de XmlReader que hace referencia a un archivo de gramática de formato XML.

Comentarios

Mediante el uso de los constructores de la SrgsDocument clase, puede crear una instancia de a SrgsDocument partir de un GrammarBuilder SrgsRule objeto, o XmlReader , a partir de una cadena que contenga la ruta de acceso a una gramática con formato XML, o puede iniciar una instancia en blanco de SrgsDocument .

SrgsDocument()

Inicializa una nueva instancia de la clase SrgsDocument.

public:
 SrgsDocument();
public SrgsDocument ();
Public Sub New ()

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 una SrgsItem que consta de la cadena "un país que ha ganado la Copa del mundo:", y agrega este elemento a la Elements propiedad de la regla. A continuación, en el ejemplo se crean dos reglas más ( ruleEurope y ruleSAmerica ), cada una de las cuales es un SrgsOneOf objeto que contiene tres SrgsItem objetos. Después de eso, SrgsOneOf se crea otro objeto que contiene SrgsRuleRef objetos que hacen referencia a ruleEurope y ruleSAmerica . El nuevo SrgsOneOf objeto se agrega a continuación 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, las tres reglas se compilan en una representación binaria de la gramática.

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;  

  String fileName = Path.GetTempFileName();  
  using (FileStream stream = new FileStream(fileName, FileMode.Create))   
  {   

    // Compile the grammar to a binary format.  
    SrgsGrammarCompiler.Compile(document, stream);   
  }  
}  

Comentarios

Este constructor crea una SrgsDocument instancia vacía. Para generar una gramática dentro de una SrgsDocument instancia vacía, agregue instancias de clases que representen elementos SRGS, como SrgsRule ,, SrgsRuleRef SrgsOneOf y SrgsItem .

Se aplica a

SrgsDocument(GrammarBuilder)

Inicializa una nueva instancia de la clase SrgsDocument a partir de un objeto GrammarBuilder.

public:
 SrgsDocument(System::Speech::Recognition::GrammarBuilder ^ builder);
public SrgsDocument (System.Speech.Recognition.GrammarBuilder builder);
new System.Speech.Recognition.SrgsGrammar.SrgsDocument : System.Speech.Recognition.GrammarBuilder -> System.Speech.Recognition.SrgsGrammar.SrgsDocument
Public Sub New (builder As GrammarBuilder)

Parámetros

builder
GrammarBuilder

El objeto GrammarBuilder utilizado para crear la instancia de SrgsDocument.

Excepciones

builder es null.

Ejemplos

En el ejemplo siguiente se crea una gramática en una GrammarBuilder instancia de mediante Choices objetos. Después crea un a SrgsDocument partir del GrammarBuilder objeto.

GrammarBuilder builder = null;  

// Create new Choices objects and add countries/regions, and create GrammarBuilder objects.  
Choices choicesEurope = new Choices(new string[] { "England", "France", "Germany", "Italy" });  
GrammarBuilder europe = new GrammarBuilder(choicesEurope);  

Choices choicesSAmerica = new Choices(new string[] { "Argentina", "Brazil", "Uruguay" });  
GrammarBuilder sAmerica = new GrammarBuilder(choicesSAmerica);  

Choices worldCupWinnerChoices = new Choices(new GrammarBuilder[] {choicesEurope, choicesSAmerica});  

// Create new GrammarBuilder from a Choices object.  
builder = new GrammarBuilder(worldCupWinnerChoices);  

// Create an SrgsDocument object from a GrammarBuilder object.  
SrgsDocument document = new SrgsDocument(builder);  

Se aplica a

SrgsDocument(SrgsRule)

Inicializa una nueva instancia de la clase SrgsDocument y especifica que un objeto SrgsRule sea la regla raíz de la gramática.

public:
 SrgsDocument(System::Speech::Recognition::SrgsGrammar::SrgsRule ^ grammarRootRule);
public SrgsDocument (System.Speech.Recognition.SrgsGrammar.SrgsRule grammarRootRule);
new System.Speech.Recognition.SrgsGrammar.SrgsDocument : System.Speech.Recognition.SrgsGrammar.SrgsRule -> System.Speech.Recognition.SrgsGrammar.SrgsDocument
Public Sub New (grammarRootRule As SrgsRule)

Parámetros

grammarRootRule
SrgsRule

root rule del objeto SrgsDocument.

Excepciones

grammarRootRule es null.

Ejemplos

En el ejemplo siguiente se crean dos reglas ( chooseCities y destCities ) para elegir las ciudades de origen y de destino para un vuelo. En el ejemplo se inicializa la SrgsDocument instancia de mediante la chooseCities regla como argumento. En el ejemplo se escribe el contenido de la colección de reglas y el nombre de la regla raíz en la consola.

// Create a rule that contains a list of destination cities.  
SrgsRule destCities = new SrgsRule("Destination");  
SrgsOneOf toCities = new SrgsOneOf(new string[] { "New York", "Seattle", "Denver" });  
destCities.Add(toCities);  

// Create a list of origin cities and supporting phrases.  
SrgsOneOf fromCities = new SrgsOneOf(new SrgsItem[] {   
  new SrgsItem("Dallas"), new SrgsItem("Miami"), new SrgsItem("Chicago") });  
SrgsItem intro = new SrgsItem("I want to fly from");  
SrgsItem to = new SrgsItem("to");  

// Create the root rule of the grammar, and assemble the components.  
SrgsRule chooseCities = new SrgsRule("Trip");  
chooseCities.Add(intro);  
chooseCities.Add(fromCities);  
chooseCities.Add(to);  
chooseCities.Add(new SrgsRuleRef(destCities));  

// Create the SrgsDocument and specify the root rule to add.  
SrgsDocument bookFlight = new SrgsDocument(chooseCities);  

// Add the rule for the destination cities to the document's rule collection.  
bookFlight.Rules.Add(new SrgsRule[] { destCities });  

// Display the contents of the Rules collection and the name of the root rule.  
foreach (SrgsRule rule in bookFlight.Rules)  
{  
  Console.WriteLine("Rule " + rule.Id + " is in the rules collection");  
}  
Console.WriteLine("Root Rule " + bookFlight.Root.Id);  

// Create a Grammar object and load it to the recognizer.  
Grammar g = new Grammar(bookFlight);  
g.Name = ("City Chooser");  
recognizer.LoadGrammarAsync(g);  

Comentarios

Este constructor agrega la regla especificada al SrgsRulesCollection del SrgsDocument objeto y lo establece como la Root regla para la gramática.

Se aplica a

SrgsDocument(String)

Inicializa una nueva instancia de la clase de SrgsDocument que especifica la ubicación del documento XML que se utiliza para completar la instancia de SrgsDocument.

public:
 SrgsDocument(System::String ^ path);
public SrgsDocument (string path);
new System.Speech.Recognition.SrgsGrammar.SrgsDocument : string -> System.Speech.Recognition.SrgsGrammar.SrgsDocument
Public Sub New (path As String)

Parámetros

path
String

Ubicación del archivo XML del elemento SRGS.

Excepciones

path es null.

path es una cadena vacía.

Ejemplos

En el ejemplo siguiente se crea un nuevo SrgsDocument a partir del archivo denominado "srgsDocumentFile.xml".

string srgsDocumentFile = Path.Combine(Path.GetTempPath(), "srgsDocumentFile.xml");  
SrgsDocument document = null;  

if (File.Exists(srgsDocumentFile))  
   document = new SrgsDocument(srgsDocumentFile);  

Se aplica a

SrgsDocument(XmlReader)

Inicializa una nueva instancia de la clase SrgsDocument de una instancia de XmlReader que hace referencia a un archivo de gramática de formato XML.

public:
 SrgsDocument(System::Xml::XmlReader ^ srgsGrammar);
public SrgsDocument (System.Xml.XmlReader srgsGrammar);
new System.Speech.Recognition.SrgsGrammar.SrgsDocument : System.Xml.XmlReader -> System.Speech.Recognition.SrgsGrammar.SrgsDocument
Public Sub New (srgsGrammar As XmlReader)

Parámetros

srgsGrammar
XmlReader

El objeto XmlReader creado con la instancia XML de SrgsDocument.

Excepciones

srgsGrammar es null.

Ejemplos

En el ejemplo siguiente se crea una nueva instancia de SrgsDocument a partir de una instancia de XmlReader que hace referencia al archivo "srgsDocumentFile.xml".

string srgsDocumentFile = Path.Combine(Path.GetTempPath(), "srgsDocumentFile.xml");  
SrgsDocument document = null;  

if (File.Exists(srgsDocumentFile))  
{  
  XmlReader reader = XmlReader.Create(srgsDocumentFile);  
  document = new SrgsDocument(reader);  
  reader.Close();  
}  

Se aplica a