Mengubah konten elemen secara dinamis

Meskipun Transform memungkinkan Anda mengubah tampilan elemen atau grup elemen, mungkin ada saatnya 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 dini 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>
        <!-- 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>

Beberapa hal yang perlu diperhatikan tentang kondisi:

  1. Elemen Compare pertama yang expression-nya adalah true akan digunakan, dan elemen lainnya akan diabaikan.
  2. Karena format XML, sering kali lebih mudah untuk membungkus definisi ekspresi dalam elemen CDATA seperti yang ditunjukkan di sini, karena hal ini menghindari kebutuhan untuk melakukan escaping XML menggunakan elemen entitas seperti &gt; dan &amp;.
  3. Struktur Condition dapat disusun bertingkat.