Calcula la suma numérica de una lista de valores de número.
Si la lista está vacía, esta expresión devuelve 0.
La lista de valores de número la suele proporcionar fixedlist o 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>
<!-- Ejemplo de <sum> operando en una <fixedlist> -->
<!-- El valor neto de una persona es la suma de su
efectivo, sus ahorros y sus activos -->
<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>
<!-- Ejemplo de <sum> operando en una <dynamiclist> -->
<!-- El valor total de los activos de una persona se obtiene
sumando el valor de cada activo -->
<sum>
<dynamiclist>
<list>
<reference attribute="assets"/>
</list>
<listitemexpression>
<reference attribute="value">
<current/>
</reference>
</listitemexpression>
</dynamiclist>
</sum>
</derivation>
</Attribute>
<!-- Los activos que son propiedad de esta persona -->
<Attribute name="assets">
<type>
<javaclass name="List">
<ruleclass name="Asset"/>
</javaclass>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<!-- NB este ejemplo no muestra cómo
se obtiene el total de efectivo/ahorros -->
<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">
<!-- El valor monetario del activo -->
<Attribute name="value">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
</Class>
</RuleSet>