動態變更元素內容

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 格式,將運算式定義包裝在 CDATA 元素中通常最簡單,如這裡所示,因為這樣就不需要使用實體元素 (例如 &gt;&amp;) 進行 XML 逸出。
  3. Condition 結構可以巢狀排列。