Calcule toutes les sous-listes de la liste fournie, et renvoie ces sous-listes sous forme d'une liste de listes.
Dans le cas d'une liste contenant n éléments, il existe 2 n sous-listes, dont la liste vide et la liste d'origine.
L'ordre des éléments de liste de chacune des sous-listes est identique à celui de la liste d'origine.
<?xml version="1.0" encoding="UTF-8"?> <RuleSet name="Example_sublists" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "http://www.curamsoftware.com/CreoleRulesSchema.xsd"> <Class name="Household"> <Attribute name="members"> <type> <javaclass name="List"> <ruleclass name="Person"/> </javaclass> </type> <derivation> <fixedlist> <listof> <ruleclass name="Person"/> </listof> <members> <create ruleclass="Person"> <String value="Mother"/> </create> <create ruleclass="Person"> <String value="Father"/> </create> <create ruleclass="Person"> <String value="Child"/> </create> </members> </fixedlist> </derivation> </Attribute> <!-- Toutes les différentes combinaisons des membres du foyer --> <Attribute name="memberCombinations"> <!-- Notez que le type est une liste de listes de personnes --> <type> <javaclass name="List"> <javaclass name="List"> <ruleclass name="Person"/> </javaclass> </javaclass> </type> <derivation> <sublists> <reference attribute="members"/> </sublists> </derivation> </Attribute> </Class> <Class name="Person"> <Initialization> <Attribute name="name"> <type> <javaclass name="String"/> </type> </Attribute> </Initialization> </Class> </RuleSet>
Dans cet exemple de jeu de règles, la valeur de memberCombinations est calculée comme une liste de ces 8 listes :