Calcula todas las sublistas de la lista proporcionada y devuelve estas sublistas como una lista de listas.
Para una lista que contiene n elementos, hay 2 n sublistas, incluyendo la lista vacía y la lista original.
El orden de los elementos de lista en cada una de las sublistas será idéntico al orden de la lista original.
<?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="Madre"/>
</create>
<create ruleclass="Person">
<String value="Padre"/>
</create>
<create ruleclass="Person">
<String value="Hijo/a"/>
</create>
</members>
</fixedlist>
</derivation>
</Attribute>
<!-- Todas las combinaciones diferentes de los miembros de la unidad familiar
-->
<Attribute name="memberCombinations">
<!-- Tenga en cuenta que el tipo es lista de listas de personas -->
<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>
En este conjunto de reglas de ejemplo, el valor de memberCombinations se calcula como una lista de estas 8 listas: