要素のコンテンツを動的に変更する

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 構造はネストできます。