Fonctionne comme une liste de valeurs booléennes pour déterminer si toutes les valeurs de liste sont définies sur true.
Le calcul s'arrête à la première valeur true rencontrée dans la liste. Si la liste est vide, cette expression renvoie la valeur false.
La liste des valeurs booléennes est généralement fournie par une fixedlist ou dynamiclist.
Par exemple, si une liste fixe de trois attributs booléens possède ces valeurs :
le calcul de la valeur any renvoie une valeur true, car au moins l'un des éléments l'est (le troisième de la liste), indépendamment du deuxième élément qui renvoie une erreur.
A l'opposé, si une autre liste fixe des trois attributs booléens possède ces valeurs :
le calcul de la valeur any pour ces valeurs renvoie l'erreur rapportée par le deuxième élément de la liste, car cette erreur empêcher de déterminer si les éléments possèdent la valeur true.
<?xml version="1.0" encoding="UTF-8"?> <RuleSet name="Example_any" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "http://www.curamsoftware.com/CreoleRulesSchema.xsd"> <Class name="Person"> <Attribute name="qualifiesForFreeTravelPass"> <type> <javaclass name="Boolean"/> </type> <derivation> <!-- Exemple d'opération <any> sur une liste <fixedlist> --> <!-- Pour être éligible à un pass de trajets gratuits, la personne doit être agée, non voyante ou handicapée --> <any> <fixedlist> <listof> <javaclass name="Boolean"/> </listof> <members> <!-- Nous savons que la plupart des personnes de notre base de données sont des personnes âgées. Par conséquent, nous commençons par tester cette condition. Si la valeur isBlind n'est pas spécifiée pour une personne et que cette personne est handicapée, <any> renvoie la valeur false ; dans le cas contraire, elle renvoie une erreur indiquant que la valeur isBlind n'a pas été spécifiée. --> <compare comparison=">="> <reference attribute="age"/> <Number value="65"/> </compare> <reference attribute="isBlind"/> <reference attribute="isDisabled"/> </members> </fixedlist> </any> </derivation> </Attribute> <Attribute name="qualifiesForChildBenefit"> <type> <javaclass name="Boolean"/> </type> <derivation> <!-- Exemple d'opération <any> sur une liste <dynamiclist>. Si l'âge d'un enfant ne peut pas être calculé et qu'il y a au moins un enfant de moins de 16 ans, <any> renvoie la valeur true ; dans le cas contraire, elle renvoie une erreur indiquant pourquoi l'âge de l'enfant n'a pas pu être calculé. --> <!-- Pour être éligible à la prestation pour enfants, cette personne doit avoir un ou plusieurs enfants de moins de 16 ans. --> <any> <dynamiclist> <list> <reference attribute="children"/> </list> <listitemexpression> <compare comparison="<"> <reference attribute="age"> <current/> </reference> <Number value="16"/> </compare> </listitemexpression> </dynamiclist> </any> </derivation> </Attribute> <!-- Enfants de cette personne - chaque enfant est aussi une personne ! --> <Attribute name="children"> <type> <javaclass name="List"> <ruleclass name="Person"/> </javaclass> </type> <derivation> <specified/> </derivation> </Attribute> <Attribute name="isBlind"> <type> <javaclass name="Boolean"/> </type> <derivation> <specified/> </derivation> </Attribute> <Attribute name="isDisabled"> <type> <javaclass name="Boolean"/> </type> <derivation> <specified/> </derivation> </Attribute> <Attribute name="age"> <type> <javaclass name="Number"/> </type> <derivation> <specified/> </derivation> </Attribute> </Class> </RuleSet>