Si bien Transform
te permite cambiar la apariencia de elementos o grupos de elementos, es posible que en ocasiones desees alternar entre una lista de comportamientos según alguna condición. Esto es similar a una sentencia switch
o if…else
en otros lenguajes.
Por ejemplo, puedes mostrar un fondo diferente para la madrugada, la mañana, el almuerzo, la tarde, la tarde-noche y la noche.
Las sentencias Condition
en el Formato de Caras de Relojes te permiten incluir diferentes partes de la escena de tu cara de reloj según la evaluación de las expresiones, por ejemplo:
<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>
Ten en cuenta lo siguiente sobre las condiciones:
- Se usa el primer elemento
Compare
en el queexpression
estrue
y se ignoran los demás. - Debido al formato XML, a menudo puede ser más fácil unir la definición de expresión en un elemento
CDATA
, como se muestra aquí, ya que esto evita la necesidad de escapar XML con elementos de entidad, como>
y&
. - Las estructuras
Condition
se pueden anidar.