existencetimeline

Crée une chronologie de type spécifié à partir d'une paire de dates de début et de fin, dont l'une est facultative.

Voir Construction de chronologies.

<?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>


    <!-- null si la personne est toujours en vie -->
    <Attribute name="dateOfDeath">
      <type>
        <javaclass name="curam.util.type.Date"/>
      </type>
      <derivation>
        <specified/>
      </derivation>
    </Attribute>

    <!-- Crée une chronologie false avant la naissance
         de la personne, true lorsque la personne est vivante et false après le
         décès de la personne.   Si la personne n'a pas de date de décès,
         il n'y a pas d'intervalle "false" de fin. -->
    <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>

   <!-- Crée une chronologie "Before Birth" avant la naissance
        de la personne, "During Lifetime" lorsque la personne est vivante et
        "After Death" lorsque la personne est décédée.Si la personne n'a pas
        de date de décès, l'intervalle "After
        Death" n'existe pas. -->
    <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>