Modificare dinamicamente i contenuti degli elementi

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:

  1. Viene utilizzato il primo elemento Compare in cui expression è true e gli altri vengono ignorati.
  2. 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 &gt; e &amp;.
  3. Le strutture Condition possono essere nidificate.