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