Creates a Timeline of a specified type from a pair of inclusive start and end dates, either of which is optional.
<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_existencetimeline"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
<Class name="Person">
<Attribute name="dateOfBirth">
<type>
<javaclass name="curam.util.type.Date"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<!-- will be null if the person is still alive -->
<Attribute name="dateOfDeath">
<type>
<javaclass name="curam.util.type.Date"/>
</type>
<derivation>
<specified/>
</derivation>
</Attribute>
<!-- Creates a timeline which is false before the Person is
born, true while the Person is alive, and false after the
Person dies. If the Person has no date-of-death recorded,
there will be no trailing "false" interval. -->
<Attribute name="isAliveTimeline">
<type>
<javaclass name="curam.creole.value.Timeline">
<javaclass name="Boolean"/>
</javaclass>
</type>
<derivation>
<existencetimeline>
<intervaltype>
<javaclass name="Boolean"/>
</intervaltype>
<intervalfromdate>
<reference attribute="dateOfBirth"/>
</intervalfromdate>
<intervaltodate>
<reference attribute="dateOfDeath"/>
</intervaltodate>
<preExistenceValue>
<false/>
</preExistenceValue>
<existenceValue>
<true/>
</existenceValue>
<postExistenceValue>
<false/>
</postExistenceValue>
</existencetimeline>
</derivation>
</Attribute>
<!-- Creates a timeline which is "Before Birth" before the Person
is born, "During Lifetime" while the Person is alive, and
"After Death" after the Person dies. If the Person has no
date-of-death recorded, there will be no trailing "After
Death" interval. -->
<Attribute name="lifeStatus">
<type>
<javaclass name="curam.creole.value.Timeline">
<javaclass name="String"/>
</javaclass>
</type>
<derivation>
<existencetimeline>
<intervaltype>
<javaclass name="String"/>
</intervaltype>
<intervalfromdate>
<reference attribute="dateOfBirth"/>
</intervalfromdate>
<intervaltodate>
<reference attribute="dateOfDeath"/>
</intervaltodate>
<preExistenceValue>
<String value="Before Birth"/>
</preExistenceValue>
<existenceValue>
<String value="During Lifetime"/>
</existenceValue>
<postExistenceValue>
<String value="After Death"/>
</postExistenceValue>
</existencetimeline>
</derivation>
</Attribute>
</Class>
</RuleSet>