요소 콘텐츠 동적으로 변경

Transform를 사용하면 요소 또는 요소 그룹의 모양을 변경할 수 있지만, 어떤 조건에 따라 동작 목록 간에 전환해야 하는 경우가 있을 수 있습니다. 이는 다른 언어의 switch 문 또는 if…else 문과 유사합니다.

예를 들어 이른 아침, 아침, 점심, 오후, 저녁, 밤에 다른 배경을 표시할 수 있습니다.

시계 화면 형식의 Condition 문을 사용하면 표현식의 평가에 따라 시계 화면 장면의 다양한 부분을 포함할 수 있습니다. 예를 들면 다음과 같습니다.

<Condition>
    <Expressions>
        <Expression name="is_early_morning">
            <![CDATA[[HOUR_0_23] >= 6 && [HOUR_0_23] < 8]]
        </Expression>
        <Expression name="is_morning">
            <![CDATA[[HOUR_0_23] < 12]]
        </Expression>
        ...
    </Expressions>
    <Compare expression="is_early_morning">
        <!-- Early morning content here -->
        <Group ... />
    </Compare>
    <Compare expression="is_morning">
        <!-- Morning content here -->
        <Group ... />
    </Compare>
    ...
    <!-- The "else" case -->
    <Default>
        <!-- content -->
    </Default>
</Condition>

조건에 관한 몇 가지 유의사항은 다음과 같습니다.

  1. expressiontrue인 첫 번째 Compare 요소가 사용되고 나머지는 무시됩니다.
  2. XML 형식의 특성상 여기에 표시된 대로 표현식 정의를 CDATA 요소로 래핑하는 것이 가장 쉬울 수 있습니다. 이렇게 하면 &gt;&amp;와 같은 항목 요소를 사용하여 XML 이스케이프 처리할 필요가 없기 때문입니다.
  3. Condition 구조는 중첩될 수 있습니다.