Transform umożliwia zmianę wyglądu elementów lub grup elementów, ale w niektórych przypadkach możesz chcieć przełączać się między listą zachowań na podstawie określonego warunku. Jest to odpowiednik instrukcji switch lub if…else w innych językach.
Możesz na przykład wyświetlać różne tła wczesnym rankiem, rano, w porze lunchu, po południu, wieczorem i w nocy.
Instrukcje Condition w formacie tarczy zegarka umożliwiają uwzględnianie różnych części sceny tarczy zegarka w zależności od oceny wyrażeń, np.:
<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>
Kilka uwag na temat warunków:
- Używany jest pierwszy element
Compare, w którymexpressionma wartośćtrue, a pozostałe są ignorowane. - Ze względu na format XML najłatwiej jest umieścić definicję wyrażenia w elemencie
CDATA, jak pokazano tutaj. Pozwala to uniknąć konieczności stosowania znaków ucieczki XML za pomocą elementów encji, takich jak>i&. Conditionstruktur można zagnieżdżać.