動態變更元素內容

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