Calcule la somme numérique d'une liste de valeurs numériques.
Si la liste est vide, cette expression renvoie 0.
La liste des valeurs numériques est généralement fournie par fixedlist ou dynamiclist.
<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_sum"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
<Class name="Person">
<Attribute name="netWorth">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<!-- Exemple d'élément <sum> fonctionnant sur un élément <fixedlist> -->
<!-- La valeur nette d'une personne correspond à la somme
de son argent en liquide, de ses économies et de ses actifs -->
<sum>
<fixedlist>
<listof>
<javaclass name="Number"/>
</listof>
<members>
<reference attribute="totalCash"/>
<reference attribute="totalSavings"/>
<reference attribute="totalAssets"/>
</members>
</fixedlist>
</sum>
</derivation>
</Attribute>
<Attribute name="totalAssets">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<!-- Exemple d'élément <sum> fonctionnant sur un élément <dynamiclist> -->
<!-- La valeur totale des actifs d'une personne est obtenue
via la somme de la valeur de chaque actif -->
<sum>
<dynamiclist>
<list>
<reference attribute="assets"/>
</list>
<listitemexpression>
<reference attribute="value">
<current/>
</reference>
</listitemexpression>
</dynamiclist>
</sum>
</derivation>
</Attribute>
<!-- Les actifs que possède cette personne -->
<Attribute name="assets">
<type>
<javaclass name="List">
<ruleclass name="Asset"/>
</javaclass>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<!-- NB : cet exemple n'indique pas la manière dont
le total d'argent en liquide/d'économies est calculé -->
<Attribute name="totalCash">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<Attribute name="totalSavings">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
</Class>
<Class name="Asset">
<!-- La valeur monétaire de l'actif -->
<Attribute name="value">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
</Class>
</RuleSet>