Sebbene Transform
ti consenta di modificare l'aspetto di elementi o gruppi di elementi, in alcuni casi potresti voler passare da un elenco di comportamenti a un altro in base a una condizione. È analogo a un'istruzione switch
o if…else
in altre lingue.
Ad esempio, potresti voler mostrare uno sfondo diverso per la mattina presto, la mattina, il pranzo, il pomeriggio, la sera e la notte.
Le istruzioni Condition
nel formato del quadrante ti consentono di includere parti diverse
della scena del quadrante in base alla valutazione delle espressioni, ad esempio:
<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>
Ecco alcune informazioni sulle condizioni:
- Viene utilizzato il primo elemento
Compare
in cuiexpression
ètrue
e gli altri vengono ignorati. - A causa del formato XML, spesso può essere più semplice racchiudere la definizione dell'espressione in un elemento
CDATA
come mostrato qui, in quanto evita la necessità di eseguire l'escapismo XML utilizzando elementi di entità come>
e&
. - Le strutture
Condition
possono essere nidificate.