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

Bien que Transform vous permette de modifier l'apparence d'éléments ou de 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 dans le format de cadran 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>
        ...
    </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>

Voici quelques points à noter concernant les conditions:

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