Partager via


SrgsRule Constructeurs

Définition

Initialise une nouvelle instance de la classe SrgsRule.

Surcharges

SrgsRule(String)

Initialise une nouvelle instance de la classe SrgsRule et spécifie l'identificateur de la règle.

SrgsRule(String, SrgsElement[])

Initialise une nouvelle instance de la classe SrgsRule à partir d’un tableau d’objets SrgsElement.

SrgsRule(String)

Source:
SrgsRule.cs
Source:
SrgsRule.cs
Source:
SrgsRule.cs

Initialise une nouvelle instance de la classe SrgsRule et spécifie l'identificateur de la règle.

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

Paramètres

id
String

Identificateur de la règle.

Exceptions

id a la valeur null.

id n'est pas un identificateur de règle valide.

Exemples

L’exemple suivant crée une grammaire qui reconnaît l’expression « Une nation qui a remporté la Coupe du monde est » suivie du nom d’un pays qui a remporté la Coupe du monde. L’exemple crée un SrgsRule objet nommé winnerRule et passe l’identificateur WorldCupWinner en tant que String. L’objet SrgsOneOf se compose d’un tableau de nouveaux SrgsItem objets contenant des alternatives à reconnaître par la règle.

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;
}

Remarques

Le SrgsRule constructeur initialise la Id propriété . L’identificateur doit être unique dans une grammaire donnée.

Le SrgsRule constructeur lève un FormatException dans les circonstances suivantes :

  • idn’est pas un nom XML valide, comme défini dans Extensible Markup Language (XML) 1.0 (Cinquième édition). Pour paraphraser cette définition, un nom XML valide doit commencer par une lettre, un trait de soulignement ('_') ou un signe deux-points (« : ») et peut être suivi de zéro ou plusieurs caractères NameChar (également définis dans la spécification XML).

  • id est « NULL » ou « VOID » ou « GARBAGE ».

  • id contient au moins un caractère d’ID de règle non valide. Ces caractères sont les suivants : ' ?', '*', '+', '|', '(', '^', '$', '/', ' ;', '.', '=', '<',', ''', '>[', ']', '{', '}', '\\\', '\t', '\r' et '\n'.

Voir aussi

S’applique à

SrgsRule(String, SrgsElement[])

Source:
SrgsRule.cs
Source:
SrgsRule.cs
Source:
SrgsRule.cs

Initialise une nouvelle instance de la classe SrgsRule à partir d’un tableau d’objets SrgsElement.

public:
 SrgsRule(System::String ^ id, ... cli::array <System::Speech::Recognition::SrgsGrammar::SrgsElement ^> ^ elements);
public SrgsRule (string id, params System.Speech.Recognition.SrgsGrammar.SrgsElement[] elements);
new System.Speech.Recognition.SrgsGrammar.SrgsRule : string * System.Speech.Recognition.SrgsGrammar.SrgsElement[] -> System.Speech.Recognition.SrgsGrammar.SrgsRule
Public Sub New (id As String, ParamArray elements As SrgsElement())

Paramètres

id
String

Identificateur de la règle.

elements
SrgsElement[]

Tableau d'éléments SrgsElement.

Exceptions

id a la valeur null.

elements a la valeur null.

id n'est pas un identificateur de règle valide.

Exemples

L’exemple suivant crée une grammaire qui reconnaît l’expression « Une nation qui a remporté la Coupe du monde est » suivie du nom d’un pays qui a remporté la Coupe du monde. L’exemple crée une règle publique nommée WorldCupWinner. L’exemple crée ensuite deux SrgsRule objets, ruleEurope et ruleSAmerica, en passant un String pour l’identificateur de règle et un SrgsElement tableau contenant un SrgsOneOf objet . Par la suite, l’exemple ajoute des références de règle à ruleEurope et ruleSAmerica à partir de la règle WorldCupWinner.

public void WorldSoccerWinners ()
{
  // Create a grammar from an SRGSDocument, create a new rule
  // and set its scope to public.
  SrgsDocument srgsGrammar = 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 grammar and make winnerRule
  // the root rule of the grammar.
  document.Rules.Add(new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});
  srgsGrammar.Root = winnerRule;
}

La grammaire créée se présente sous la forme suivante.

<grammar version="1.0" xml:lang="en-US" xmlns="http://www.w3.org/2001/06/grammar" root="WorldCupWinner">
    <rule id="WorldCupWinner" scope="public">
        <item> A nation that has won the world cup is </item>
        <one-of>
            <item>
                <ruleref uri="#EuropeanNations" />
            </item>
            <item>
                <ruleref uri="#SouthAmericanNations" />
            </item>
        </one-of>
    </rule>
    <rule id="EuropeanNations">
        <one-of>
            <item> England </item>
            <item> France </item>
            <item> Germany </item>
            <item> Italy </item>
        </one-of>
    </rule>
    <rule id="SouthAmericanNations">
        <one-of>
            <item> Argentina </item>
            <item> Brazil </item>
            <item> Uruguay </item>
        </one-of>
    </rule>
</grammar>

Remarques

Le SrgsRule constructeur initialise la Id propriété . L’identificateur doit être unique dans une grammaire donnée.

Le SrgsRule constructeur lève un FormatException dans les circonstances suivantes :

  • idn’est pas un nom XML valide, comme défini dans Extensible Markup Language (XML) 1.0 (Cinquième édition). Pour paraphraser cette définition, un nom XML valide doit commencer par une lettre, un trait de soulignement ('_') ou un signe deux-points (« : ») et peut être suivi de zéro ou plusieurs caractères NameChar (également définis dans la spécification XML).

  • id est « NULL » ou « VOID » ou « GARBAGE ».

  • id contient au moins un caractère d’ID de règle non valide. Ces caractères sont les suivants : ' ?', '*', '+', '|', '(', '^', '$', '/', ' ;', '.', '=', '<',', ''', '>[', ']', '{', '}', '\\\', '\t', '\r' et '\n'.

Voir aussi

S’applique à