Mengubah konten elemen secara dinamis

Meskipun Transform memungkinkan Anda mengubah tampilan elemen atau grup elemen, mungkin ada kalanya Anda ingin beralih di antara daftar perilaku berdasarkan beberapa kondisi. Hal ini analog dengan pernyataan switch atau pernyataan if…else dalam bahasa lain.

Misalnya, Anda mungkin ingin menampilkan latar belakang yang berbeda untuk pagi hari, pagi, makan siang, sore, malam, dan malam hari.

Pernyataan Condition dalam Format Tampilan Jam memungkinkan Anda menyertakan berbagai bagian adegan tampilan jam, bergantung pada evaluasi ekspresi, misalnya:

<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>

Beberapa hal yang perlu diperhatikan tentang kondisi:

  1. Elemen Compare pertama dengan expression true digunakan, dan elemen lainnya diabaikan.
  2. Karena format XML, sering kali lebih mudah untuk menggabungkan definisi ekspresi dalam elemen CDATA seperti yang ditunjukkan di sini, karena hal ini menghindari perlunya XML escape menggunakan elemen entitas seperti &gt; dan &amp;.
  3. Struktur Condition dapat disusun bertingkat.