dsntk-examples 0.3.0

ÐecisionToolkit | Examples
Documentation
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions namespace="https://www.montera.com.au/spec/DMN/0084-feel-for-loops"
             name="0084-feel-for-loops"
             id="_9c8fc207-453b-4e65-a467-7508a7a76e6f"
             xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/">

    <description>FEEL for loops</description>

    <decision name="decision_001" id="_decision_001">
        <variable name="decision_001"/>
        <literalExpression>
            <text>for i in [1,2,3] return i + 1</text>
        </literalExpression>
    </decision>

    <decision name="decision_002" id="_decision_002">
        <variable name="decision_002"/>
        <literalExpression>
            <text>for i in [1,2,3], j in [4,5] return i + j</text>
        </literalExpression>
    </decision>

    <decision name="decision_003" id="_decision_003">
        <variable name="decision_003"/>
        <literalExpression>
            <text>for i in [] return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_007" id="_decision_007">
        <variable name="decision_007"/>
        <literalExpression>
            <text>for i in 2..4 return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_008" id="_decision_008">
        <variable name="decision_008"/>
        <literalExpression>
            <text>for i in 4..2 return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_009" id="_decision_009">
        <variable name="decision_009"/>
        <literalExpression>
            <text>for i in -1..1 return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_010" id="_decision_010">
        <variable name="decision_010"/>
        <literalExpression>
            <text>for i in 1..-1 return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_011" id="_decision_011">
        <variable name="decision_011"/>
        <literalExpression>
            <text>for i in 1..1 return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_012" id="_decision_012">
        <variable name="decision_012"/>
        <literalExpression>
            <text>for i in 1+1..1+3 return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_013" id="_decision_013">
        <variable name="decision_013"/>
        <literalExpression>
            <text>for i in 0..4 return if i = 0 then 1 else i * partial[-1]</text>
        </literalExpression>
    </decision>

    <decision name="days in weekend" id="_daysInWeekend">
        <variable name="days in weekend"/>
        <literalExpression>
            <text>["saturday", "sunday"]</text>
        </literalExpression>
    </decision>

    <decision name="decision_014" id="_decision_014">
        <variable name="decision_014"/>
        <informationRequirement>
            <requiredDecision href="#_daysInWeekend"/>
        </informationRequirement>
        <literalExpression>
            <text>for i in days in weekend return if i = "sunday" then true else false</text>
        </literalExpression>
    </decision>

    <decision name="decision_015" id="_decision_015">
        <variable name="decision_015"/>
        <literalExpression>
            <text>for x in [ [1,2], [3,4] ], y in x return y</text>
        </literalExpression>
    </decision>

    <decision name="decision_016" id="_decision_016">
        <variable name="decision_016"/>
        <literalExpression>
            <text>for x in [ [1,2], [3,4] ] return for y in x return y</text>
        </literalExpression>
    </decision>

    <decision name="decision_017" id="_decision_017">
        <variable name="decision_017"/>
        <literalExpression>
            <text>for i in @"1980-01-01"..@"1980-01-03" return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_018" id="_decision_018">
        <variable name="decision_018"/>
        <literalExpression>
            <text>for i in @"1980-01-03"..@"1980-01-01" return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_019" id="_decision_019">
        <!-- string iteration content type gives null -->
        <variable name="decision_019"/>
        <literalExpression>
            <text>for i in "a".."z" return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_019_a" id="_decision_019_a">
        <!-- string range iteration context type gives null -->
        <variable name="decision_019_a"/>
        <literalExpression>
            <text>for i in ["a".."z"] return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_020" id="_decision_020">
        <!-- datetime iteration content type gives null -->
        <variable name="decision_020"/>
        <literalExpression>
            <text>for i in @"1980-01-03T00:00:00"..@"1980-01-01T00:00:00" return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_020_a" id="_decision_020_a">
        <!-- datetime range iteration context type gives null -->
        <variable name="decision_020_a"/>
        <literalExpression>
            <text>for i in [@"1980-01-03T00:00:00"..@"1980-01-01T00:00:00"] return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_021" id="_decision_021">
        <!-- time iteration content type gives null -->
        <variable name="decision_021"/>
        <literalExpression>
            <text>for i in @"00:00:00"..@"00:00:00" return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_021_a" id="_decision_021_a">
        <!-- time range iteration context type gives null -->
        <variable name="decision_021_a"/>
        <literalExpression>
            <text>for i in [@"00:00:00"..@"00:00:00"] return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_022" id="_decision_022">
        <!-- duration iteration content type gives null -->
        <variable name="decision_022"/>
        <literalExpression>
            <text>for i in @"P1D"..@"P2D" return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_022_a" id="_decision_022_a">
        <!-- duration range iteration context type gives null -->
        <variable name="decision_022_a"/>
        <literalExpression>
            <text>for i in [@"P1D"..@"P2D"] return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_023" id="_decision_023">
        <!-- a valid numeric range is permitted as iteration context -->
        <variable name="decision_023"/>
        <literalExpression>
            <text>for i in [1..2] return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_024" id="_decision_024">
        <!-- a valid date range is permitted as iteration context -->
        <variable name="decision_024"/>
        <literalExpression>
            <text>for i in [@"1980-01-01"..@"1980-01-03"] return i</text>
        </literalExpression>
    </decision>

    <decision name="decision_025" id="_decision_025">
        <!-- invalid range gives null (ranges may be descending) -->
        <variable name="decision_025"/>
        <literalExpression>
            <text>for i in [2..1] return i</text>
        </literalExpression>
    </decision>

</definitions>