Modifier de manière dynamique le contenu d'un élément

Bien que Transform vous permette de modifier l'apparence des éléments ou des groupes d'éléments, il peut arriver que vous souhaitiez basculer entre une liste de comportements en fonction d'une condition. Cela équivaut à une instruction switch ou if…else dans d'autres langages.

Par exemple, vous pouvez afficher un arrière-plan différent pour le petit matin, le matin, le déjeuner, l'après-midi, le soir et la nuit.

Les instructions Condition du Watch Face Format vous permettent d'inclure différentes parties de la scène de votre cadran en fonction de l'évaluation des expressions, par exemple :

<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>

Voici quelques points à noter concernant les conditions :

  1. Le premier élément Compare dont le expression est true est utilisé, et les autres sont ignorés.
  2. En raison du format XML, il est souvent plus facile d'encapsuler la définition de l'expression dans un élément CDATA, comme indiqué ici. Cela évite d'avoir à échapper le code XML à l'aide d'éléments d'entité tels que &gt; et &amp;.
  3. Les structures Condition peuvent être imbriquées.