SrgsDocument Construtores

Definição

Inicializa uma nova instância da SrgsDocument classe.

Sobrecargas

Name Descrição
SrgsDocument()

Inicializa uma nova instância da SrgsDocument classe.

SrgsDocument(GrammarBuilder)

Inicializa uma nova instância da SrgsDocument classe a partir de um GrammarBuilder objeto.

SrgsDocument(SrgsRule)

Inicializa uma nova instância da SrgsDocument classe e especifica um SrgsRule objeto como sendo a regra raiz da gramática.

SrgsDocument(String)

Inicializa uma nova instância da SrgsDocument classe que especifica a localização do documento XML que é usado para preencher a SrgsDocument instância.

SrgsDocument(XmlReader)

Inicializa uma nova instância da SrgsDocument classe a partir de uma instância de XmlReader que faz referência a um ficheiro gramatical em formato XML.

Observações

Usando os construtores da SrgsDocument classe, pode criar uma instância de SrgsDocument a partir de um GrammarBuilder, SrgsRule, ou XmlReader objeto, a partir de uma cadeia que contenha o caminho para uma gramática em formato XML, ou pode iniciar uma instância em branco de SrgsDocument.

SrgsDocument()

Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs

Inicializa uma nova instância da SrgsDocument classe.

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

Exemplos

O exemplo seguinte cria um SrgsDocument objeto e depois cria uma regra pública chamada winnerRule. Depois cria um SrgsItem que consiste na sequência "Uma nação que venceu a Taça do Mundo é:", e adiciona este item à Elements propriedade da regra. O exemplo cria então mais duas regras (ruleEurope e ruleSAmerica), cada uma das quais é um SrgsOneOf objeto que contém três SrgsItem objetos. Depois disso, é criado outro SrgsOneOf objeto que contém SrgsRuleRef objetos que se referem a ruleEurope e ruleSAmerica. O novo SrgsOneOf objeto é então adicionado à Elements propriedade de winnerRule. Depois disso, as três regras (winnerRule, , e ruleEurope) são adicionadas à ruleSAmerica propriedade de RulesSrgsDocument. Finalmente, as três regras são compiladas numa representação binária da 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);
  }
}

Observações

Este construtor cria uma instância vazia SrgsDocument . Para construir uma gramática dentro de uma instância vazia SrgsDocument , adicione instâncias de classes que representem elementos SRGS, como SrgsRule, SrgsRuleRef, SrgsOneOf, e SrgsItem.

Aplica-se a

SrgsDocument(GrammarBuilder)

Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs

Inicializa uma nova instância da SrgsDocument classe a partir de um GrammarBuilder objeto.

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

O GrammarBuilder objeto usado para criar a SrgsDocument instância.

Exceções

builder é null.

Exemplos

O exemplo seguinte constrói uma gramática numa GrammarBuilder instância usando Choices objetos. Depois, cria um SrgsDocument a partir do 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);

Aplica-se a

SrgsDocument(SrgsRule)

Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs

Inicializa uma nova instância da SrgsDocument classe e especifica um SrgsRule objeto como sendo a regra raiz da 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

O root rule no SrgsDocument objeto.

Exceções

grammarRootRule é null.

Exemplos

O exemplo seguinte cria duas regras (chooseCities e destCities) para escolher cidades de origem e destino para um voo. O exemplo inicializa a SrgsDocument instância usando a chooseCities regra como argumento. O exemplo escreve o conteúdo da coleção de regras e o nome da regra raiz na 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);

Observações

Este construtor adiciona a regra especificada ao SrgsRulesCollection do SrgsDocument objeto e define-a como Root regra para a gramática.

Aplica-se a

SrgsDocument(String)

Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs

Inicializa uma nova instância da SrgsDocument classe que especifica a localização do documento XML que é usado para preencher a SrgsDocument instância.

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

A localização do ficheiro XML SRGS.

Exceções

path é null.

path é uma corda vazia.

Exemplos

O exemplo seguinte cria um novo SrgsDocument ficheiro a partir do ficheiro chamado "srgsDocumentFile.xml".

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

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

Observações

Importante

Utilizar uma instância deste tipo com dados não confiáveis é um risco de segurança. Use este objeto apenas com dados confiáveis. Para obter mais informações, consulte Validar todas as informações inseridas.

Aplica-se a

SrgsDocument(XmlReader)

Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs
Origem:
SrgsDocument.cs

Inicializa uma nova instância da SrgsDocument classe a partir de uma instância de XmlReader que faz referência a um ficheiro gramatical em 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

O XmlReader objeto que foi criado com a SrgsDocument instância XML.

Exceções

srgsGrammar é null.

Exemplos

O exemplo seguinte cria uma nova instância de SrgsDocument a partir de uma instância de XmlReader que faz referência ao ficheiro "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();
}

Observações

Importante

Utilizar uma instância deste tipo com dados não confiáveis é um risco de segurança. Use este objeto apenas com dados confiáveis. Para obter mais informações, consulte Validar todas as informações inseridas.

Aplica-se a