虽然 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>
关于条件,请注意以下几点:
- 系统会使用第一个
expression为true的Compare元素,而忽略其他元素。 - 由于采用 XML 格式,因此最简单的方法通常是将表达式定义封装在
CDATA元素中(如此处所示),这样可以避免使用实体元素(例如>和&)进行 XML 转义。 Condition个结构可以嵌套。