+ """
+ Égalité du mot-clé à une valeur
+ """
+ def __init__(self, list_arg):
+ assert (len(list_arg)==3)
+ self.MC = list_arg[0]
+ self.Val = list_arg[1]
+ self.Jdc = list_arg[2]
+
+ def verif(self, commande):
+ """
+ Vérification
+ """
+ bool = 0
+ for mc in commande.childNodes :
+ if mc.name != self.MC : continue
+ TexteMC = mc.getText(self.Jdc)
+ if (TexteMC.find(self.Val) < 0 ): continue
+ bool = 1
+ return bool
+
+#-----------------------------------------
+class MCnaPasPourValeur(MCaPourValeur) :
+#-----------------------------------------
+ """
+ Non égalité du mot-clé à une valeur
+ """
+ def __init__(self, list_arg):
+ MCaPourValeur.__init__(self, list_arg)
+
+ def verif(self, commande):
+ """
+ Vérification
+ """
+ bool = MCaPourValeur.verif(self, commande)
+ if bool : return 0
+ return 1
+
+#------------------------------
+class MCaPourValeurDansListe :
+#------------------------------
+ """
+ Égalité du mot-clé à une valeur dans une liste
+ """
+ def __init__(self, list_arg):
+ assert (len(list_arg)==3)
+ self.MC = list_arg[0]
+ self.LVal = list_arg[1]
+ self.Jdc = list_arg[2]
+
+ def verif(self, commande):
+ """
+ Vérification
+ """
+ bool = 0
+ for mc in commande.childNodes :
+ if mc.name != self.MC : continue
+ TexteMC = mc.getText(self.Jdc)
+ #print "TexteMC=",type(TexteMC),TexteMC
+ #print "LVal=",type(self.LVal),self.LVal
+ for Val in self.LVal:
+ #print "Val=",type(Val),Val
+ #print "Find",TexteMC.find(Val)
+ if (TexteMC.find(Val) < 0 ): continue
+ bool = 1
+ return bool
+
+#-----------------------------------------
+class MCnaPasPourValeurDansListe(MCaPourValeurDansListe) :
+#-----------------------------------------
+ """
+ Non égalité du mot-clé à une valeur dans une liste
+ """
+ def __init__(self, list_arg):
+ MCaPourValeurDansListe.__init__(self, list_arg)
+
+ def verif(self, commande):
+ """
+ Vérification
+ """
+ bool = MCaPourValeurDansListe.verif(self, commande)
+ if bool : return 0
+ return 1
+
+dictionnaire_regle = {"existe":existe,
+ "nexistepas":nexistepas,
+ "existeMCFParmi":existeMCFParmi,
+ "nexistepasMCFParmi":nexistepasMCFParmi,
+ "existeMCsousMCF":existeMCsousMCF,
+ "nexistepasMCsousMCF":nexistepasMCsousMCF,
+ "MCsousMCFaPourValeur":MCsousMCFaPourValeur,
+ "MCsousMCFaPourValeurDansListe":MCsousMCFaPourValeurDansListe,
+ "MCaPourValeur":MCaPourValeur,
+ "MCnaPasPourValeur":MCnaPasPourValeur,
+ "existeMCsousMCFcourant":existeMCsousMCFcourant,
+ "nexistepasMCsousMCFcourant":nexistepasMCsousMCFcourant,
+ "MCsousMCFcourantaPourValeur":MCsousMCFcourantaPourValeur,
+ "MCsousMCFcourantaPourValeurDansListe":MCsousMCFcourantaPourValeurDansListe,
+ "MCsousMCFcourantnaPasPourValeurDansListe":MCsousMCFcourantnaPasPourValeurDansListe,
+ "MCsousMCFnaPasPourValeurDansListe":MCsousMCFnaPasPourValeurDansListe,
+ "MCaPourValeurDansListe":MCaPourValeurDansListe,
+ "MCnaPasPourValeurDansListe":MCnaPasPourValeurDansListe}
+
+
+SansRegle = pasDeRegle()