Metadaten

<workflow-process id="32456" ..... >
    ...
    <activities>
    ... 
    </activities>
    <transitions>
      <transition id="1" from-activity-idref="512" 
                         to-activity-idref="513">
        <condition>
          <expression id="5" 
               data-item-lhs="TaskCreateDetails.reserveToMeInd" 
               operation="==" data-item-rhs="true" 
               opening-brackets="2"/>
          <expression id="6"  
               data-item-lhs="TaskCreateDetails.caseID" 
               operation="&amp;amp;gt;" 
               data-item-rhs="2" conjunction="and" 
               closing-brackets="1"/>
          <expression id="7" 
               data-item-lhs="TaskCreateDetails.status"
               operation="!=" 
               data-item-rhs="&quot;Completed&quot;"
               conjunction="or"/>
          <expression id="8" 
               data-item-lhs="TaskCreateDetails.status"
               operation="&amp;amp;lt;=" 
               data-item-rhs="&quot;Closed&quot;"
               conjunction="or" closing-brackets="1"/>
        </condition>
      </transition>
      <transition id="2" from-activity-idref="512" 
                         to-activity-idref="513">
        <condition>
          <expression id="9" function="isNothing" 
               data-item-rhs="TaskCreateDetails.subject"/>
        </condition>
      </transition>
      <transition id="3" from-activity-idref="513" 
                         to-activity-idref="514">
        <condition>
          <expression id="10" 
                data-item-rhs="TaskCreateDetails.reserveToMeInd"
                conjunction="and" function="not" />       
        </condition>
      </transition>
      <transition id="4" from-activity-idref="514" 
                         to-activity-idref="515">
        <condition>
          <expression id="6"  
               data-item-lhs
               ="ClaimantDependents[Context_Loop.loopCount]" 
               operation="&amp;amp;gt;" 
               data-item-rhs="20" 
               conjunction="and" 
               closing-brackets="1"/>       
        </condition>
      </transition>      
    </transitions>
  </workflow-process>
condition
Diese Metadaten sind für eine Schleifenbeginnaktivität obligatorisch (da für eine Schleife eine Exitbedingung angegeben sein muss), für einen Übergang jedoch optional (für einen Übergang muss nicht unbedingt eine Bedingung angegeben sein). Sie enthalten die Details von allen für die Bedingung definierten Ausdrücken.
expression
Enthält die Details eines in einer Bedingung enthaltenen Ausdrucks. Es können ein oder mehrere Ausdrücke für eine zugehörige Bedingung angegeben sein. Es können zwei Typen von Ausdrücken in einer Bedingung definiert sein. Es handelt sich einerseits um Funktionsausdrücke (die die beiden vordefinierten Funktionen not() und isNothing() verwenden) und andererseits um Datenelementausdrücke (bei denen der erstellte Bedingungsausdruck den ausgewählten Operator entweder auf zwei Workflowdatenobjekt-Attribute oder ein Workflowdatenobjekt-Attribut und eine Konstante anwendet). Ein Übergangsausdruck besteht aus den folgenden Attributen:
id
Gibt eine 64-Bit-Kennung an, die vom Cúram-Schlüsselserver bereitgestellt wird, wenn Übergangsausdrücke im Prozessdefinitionstool erstellt werden. Die Ausdruckskennung muss innerhalb einer Prozessdefinition eindeutig sein. Eine globale Eindeutigkeit in allen Prozessdefinitionen im System ist jedoch nicht erforderlich.
data-item-rhs
Gibt den Namen des Datenelements an, das auf der rechten Seite des Bedingungsausdrucks verwendet werden soll. Im Fall eines Bedingungsausdrucks für ein Datenelement kann dieses Attribut ein Workflowdatenobjekt-Attribut (siehe Workflowdatenobjekte oder einen konstanten Wert darstellen, auf den der ausgewählte Operator angewendet wird. Für Bedingungsausdrücke für eine Funktion gibt es ein Workflowdatenobjekt-Attribut an, für das eine der beiden vordefinierten Funktionen zur Bewertung der Bedingung verwendet wird.
data-item-lhs
Dieser Metadaten-Tag ist optional, da er für einen Funktionsbedingungsausdruck nicht erforderlich ist. Im Fall eines Bedingungsausdrucks für ein Datenelement gibt er den Namen des Datenelements an, das auf der linken Seite der Bedingung verwendet werden soll (d. h. ein Workflowdatenobjekt-Attribut).
operation
Dieser Metadaten-Tag ist optional, da er für einen Funktionsbedingungsausdruck nicht erforderlich ist. Im Fall eines Bedingungsausdrucks für ein Datenelement gibt er eine Kennung für die logische Operation an, die entweder auf zwei Workflowdatenobjekt-Attribute oder ein Workflowdatenobjekt-Attribut und einen konstanten Wert angewendet wird. Nachfolgend ist eine Liste mit gültigen Operatoren aufgeführt, die in einem Bedingungsausdruck für ein Datenelement verwendet werden können:
Tabelle 1. Operatoren für Bedingungsausdruck

Operator

Erläuterung

==

gleich

!=

ungleich

<=

kleiner oder gleich

>=

größer oder gleich

<

kleiner als

>

größer als

conjunction
Gibt eine Kennung für eine logische Verknüpfung an, die entweder in einem Funktions- oder in einem Datenelementbedingungsausdruck verwendet werden kann. Es gibt zwei mögliche Werte für dieses Attribut: and (der Standardwert) und or. Wenn eine Bedingung aus mehreren Ausdrücken besteht, wird die logische Verknüpfung bei der Bewertung der vollständigen Bedingung verwendet.
function
Dieser Tag ist optional, da er nur bei Angabe eines Bedingungsausdrucks für eine Funktion verwendet wird. Wie bereits erwähnt, gibt es zwei vordefinierte Funktionen: Not() und isNothing(). Die Funktion Not() fungiert als ein logischer Umkehrungsoperator. Unter normalen Umständen wird sie auf einen booleschen Wert angewendet. Die Funktion isNothing() kann auf alle Workflowdatenobjekt-Attributtypen (außer einen booleschen Wert) angewendet werden. Sie kann zum Testen von Szenarien verwendet werden, in denen erforderliche Daten nicht vorhanden sind oder nicht bereitgestellt wurden. Die Funktion gibt den booleschen Wert true zurück, wenn das untersuchte Workflowdatenobjekt-Attribut keine Daten enthält.
opening-brackets
Dieser Tag ist optional (der Standardwert ist 0), da er möglicherweise für keine der Bedingungsausdruckstypen angegeben wird. Er gibt die Anzahl der öffnenden Klammern an, die am Beginn des Ausdrucks eingefügt werden sollen.
closing-brackets
Dieser Tag ist optional (der Standardwert ist 0), da er möglicherweise für keine der Bedingungsausdruckstypen angegeben wird. Er gibt die Anzahl der schließenden Klammern an, die am Ende des Ausdrucks eingefügt werden sollen.

Die Anzahl der für einen einzelnen Ausdruck angegebenen öffnenden und schließenden Klammern muss nicht unbedingt gleich sein (es sei denn, es gibt nur einen Ausdruck in der Bedingung). Die Gesamtanzahl der öffnenden und schließenden Klammern in der gesamten Bedingung (mit allen enthaltenen Ausdrücken) muss jedoch gleich sein. Die Anzahl und die Position der öffnenden und schließenden Klammern in einem einzelnen Ausdruck und in der Bedingung als Ganzes sollten daher mit Bedacht angegeben werden, da anhand der Klammern festgelegt wird, die die Bedingung und die einzelnen Ausdrücke in dieser Bedingung bewertet werden. Das gleiche umsichtige Vorgehen empfiehlt sich auch bei der Angabe der Verknüpfung in der Bedingung, da es andernfalls zu nicht erwarteten Ergebnissen kommen kann.