fixedlist

규칙 세트 디자인 시 알려진 항목에서 새 목록을 작성합니다.

fixedlist 표현식은 다음을 지정합니다.

작성된 목록에는 규칙 세트에 나열된 순서로 구성원이 포함되어 있습니다.

팁: members 요소에는 0개, 1개 또는 여러 개의 하위 요소가 포함될 수 있습니다.

그러나 fixedlist가 목록 처리 조작에 포함되어 있지만 0 또는 1개의 목록 구성원만 지정하는 경우 CER 규칙 세트 유효성 검증기가 경고를 발행하여 목록이 불필요할 수 있음을 표시합니다.

디자인 시 목록의 항목 수를 알지 못하는 경우 목록을 작성해야 하면 dynamiclist를 대신 사용하십시오.

<?xml version="1.0" encoding="UTF-8"?>
<RuleSet name="Example_fixedlist"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd">
  <Class name="Person">

    <!-- 이 개인이 소유한 애완동물 -->
    <Attribute name="pets">
      <type>
        <javaclass name="List">
          <ruleclass name="Pet"/>
        </javaclass>
      </type>
      <derivation>

        <!-- 애완동물의 고정 목록 -->
        <fixedlist>
          <listof>
            <ruleclass name="Pet"/>
          </listof>
          <members>
            <!-- 모든 개인에게 정확히 두 마리의 애완동물인
                 Skippy와 Lassie가 있습니다. -->
            <create ruleclass="Pet">
              <String value="Skippy"/>
              <String value="Kangaroo"/>
            </create>
            <create ruleclass="Pet">
              <String value="Lassie"/>
              <String value="Dog"/>
            </create>
          </members>
        </fixedlist>
      </derivation>
    </Attribute>


    <Attribute name="isEntitledToBenefits">
      <type>
        <javaclass name="Boolean"/>
      </type>
      <derivation>
        <all>
          <!-- 부울 조건의 고정 목록 -->
          <fixedlist>
            <listof>
              <javaclass name="Boolean"/>
            </listof>
            <members>
              <!-- 성인이어야 함 -->
              <compare comparison=">=">
                <reference attribute="age"/>
                <Number value="18"/>
              </compare>
              <!-- 시/도의 주민이어야 함 -->
              <reference attribute="isResidentInTheState"/>
              <!-- 수입이 혜택 임계값 미만이어야 함
 -->
              <compare comparison="&lt;">
                <reference attribute="totalIncome"/>
                <Number value="100"/>
              </compare>
            </members>
          </fixedlist>

        </all>

      </derivation>
    </Attribute>

    <Attribute name="totalIncome">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <!-- 무의미한 한 항목의 합계 -
             CER 규칙 세트 유효성 검증기가 이 고정 목록이
             불필요할 수 있음을 경고합니다. -->
        <sum>
          <fixedlist>
            <listof>
              <javaclass name="Number"/>
            </listof>
            <members>
              <!-- 근로 소득만을 더한 합계 -->
              <reference attribute="earnedIncome"/>
            </members>
          </fixedlist>

        </sum>

      </derivation>
    </Attribute>

    <Attribute name="earnedIncome">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <specified/>
      </derivation>
    </Attribute>


    <Attribute name="isResidentInTheState">
      <type>
        <javaclass name="Boolean"/>
      </type>
      <derivation>
        <specified/>
      </derivation>
    </Attribute>

    <Attribute name="age">
      <type>
        <javaclass name="Number"/>
      </type>
      <derivation>
        <specified/>
      </derivation>
    </Attribute>

  </Class>

  <Class name="Pet">

    <Initialization>

      <Attribute name="name">
        <type>
          <javaclass name="String"/>
        </type>
      </Attribute>

      <Attribute name="species">
        <type>
          <javaclass name="String"/>
        </type>
      </Attribute>

    </Initialization>

  </Class>

</RuleSet>