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>
조건에 관한 몇 가지 유의사항은 다음과 같습니다.
expression
이true
인 첫 번째Compare
요소가 사용되고 나머지는 무시됩니다.- XML 형식의 특성상 여기에 표시된 대로 표현식 정의를
CDATA
요소로 래핑하는 것이 가장 쉬울 수 있습니다. 이렇게 하면>
및&
와 같은 항목 요소를 사용하여 XML 이스케이프 처리할 필요가 없기 때문입니다. Condition
구조는 중첩될 수 있습니다.