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:
- Le premier élément
Compare
oùexpression
esttrue
est utilisé, et les autres sont ignorés. - 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>
et&
. - Les structures
Condition
peuvent être imbriquées.