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 :