เปลี่ยนเนื้อหาองค์ประกอบแบบไดนามิก

แม้ว่า Transform จะช่วยให้คุณเปลี่ยนลักษณะที่ปรากฏขององค์ประกอบหรือกลุ่มองค์ประกอบได้ แต่ก็อาจมีบางครั้งที่คุณต้องการสลับระหว่างรายการลักษณะการทำงานตามเงื่อนไขบางอย่าง ซึ่งคล้ายกับคำสั่ง switch หรือคำสั่ง if…else ในภาษาอื่นๆ

เช่น คุณอาจต้องการแสดงพื้นหลังที่แตกต่างกันสำหรับช่วงเช้ามืด เช้า กลางวัน บ่าย เย็น และกลางคืน

ข้อความ Condition ในรูปแบบหน้าปัดช่วยให้คุณรวมส่วนต่างๆ ของฉากหน้าปัดได้โดยขึ้นอยู่กับการประเมินนิพจน์ เช่น

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

ข้อควรทราบเกี่ยวกับเงื่อนไขมีดังนี้

  1. ระบบจะใช้องค์ประกอบ Compare แรกที่มี expression เป็น true และจะไม่สนใจองค์ประกอบอื่นๆ
  2. เนื่องจากรูปแบบ XML การห่อหุ้มคำจำกัดความของนิพจน์ในองค์ประกอบ CDATA มักเป็นวิธีที่ง่ายที่สุดดังที่แสดงที่นี่ เนื่องจากวิธีนี้ไม่จำเป็นต้องหลีกเลี่ยง XML โดยใช้องค์ประกอบเอนทิตี เช่น &gt; และ &amp;
  3. Condition โครงสร้างสามารถซ้อนกันได้