SrgsOneOf Constructor (SrgsItem[])

Initializes a new instance of the SrgsOneOf class, specifying one or more alternative items in the passed SrgsItem array.

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




  • items
    An array of type SrgsItem. Each member of the array represents the contents of a single SrgsItem element.


Exception type Condition

items is null.

Any element in the items array is null.


The following example creates a grammar that recognizes the phrase "A nation that has won the World Cup is" followed by the name of a country that has won the World Cup. It creates a public rule named WorldCupWinner. It then creates two SrgsRule elements using arrays of SrgsOneOf elements and adds them as rule references to WorldCupWinner. To see the grammar that this example generates, see SrgsRule Constructor(String, SrgsElement[]).

public void WorldSoccerWinners ()
  SrgsDocument srgsGrammar = new SrgsDocument ();
  SrgsRule rootRule = new SrgsRule ("WorldCupWinner");

  rootRule.Scope = SrgsRuleScope.Public;

  // Add the introduction
  rootRule.Elements.Add (new SrgsItem ("A nation that has won the world cup is"));

  // Create the rootRule for the European nations
  SrgsOneOf oneOfEurope = new SrgsOneOf (new SrgsItem ("England"), new SrgsItem ("France"), new SrgsItem ("Germany"), new SrgsItem ("Italy"));
  SrgsRule ruleEurope = new SrgsRule ("EuropeanNations", oneOfEurope);

  // Create the rootRule for the South American nations
  SrgsOneOf oneOfSAmerica = new SrgsOneOf (new SrgsItem ("Argentina"), new SrgsItem ("Brazil"), new SrgsItem ("Uruguay"));
  SrgsRule ruleSAmerica = new SrgsRule ("SouthAmericanNations", oneOfSAmerica);

  // Add both rules to root list through a 'one of'
  rootRule.Elements.Add (new SrgsOneOf (new SrgsItem (new SrgsRuleRef (ruleEurope)), new SrgsItem (new SrgsRuleRef (ruleSAmerica))));

  // Add all the rules to the grammar
  srgsGrammar.Rules.Add (rootRule, ruleEurope, ruleSAmerica);
  srgsGrammar.Root = rootRule;


Development Platforms

Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Vista Ultimate Edition, Windows Vista Business Edition, Windows Vista Enterprise Edition

Target Platforms

See Also


SrgsOneOf Class
SrgsOneOf Members
Microsoft.Speech.Recognition.SrgsGrammar Namespace