요소 콘텐츠 동적으로 변경

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>
        <!-- Further expressions -->
    </Expressions>
    <Compare expression="is_early_morning">
        <!-- Early morning content here -->
    </Compare>
    <Compare expression="is_morning">
        <!-- Morning content here -->
    </Compare>
    <!-- Further Compare elements -->
    <!-- The "else" case -->
    <Default>
        <!-- content -->
    </Default>
</Condition>

조건에 관한 몇 가지 참고사항:

  1. expressiontrue인 첫 번째 Compare 요소가 사용되고 나머지는 무시됩니다.
  2. XML 형식으로 인해 &gt;&amp;와 같은 엔티티 요소를 사용하여 XML 이스케이프를 할 필요가 없으므로 여기 표시된 대로 CDATA 요소로 표현식 정의를 래핑하는 것이 가장 쉬운 경우가 많습니다.
  3. Condition 구조는 중첩될 수 있습니다.