Cambia el contenido de los elementos de forma dinámica

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:

  1. Se usa el primer elemento Compare en el que expression es true y se ignoran los demás.
  2. 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 &gt; y &amp;.
  3. Las estructuras Condition se pueden anidar.