雖然 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
結構可嵌套。