แม้ว่า 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>
...
</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>
สิ่งที่ควรทราบเกี่ยวกับเงื่อนไขมีดังนี้
- ระบบจะใช้องค์ประกอบ
Compare
รายการแรกที่มีexpression
เป็นtrue
และละเว้นรายการอื่นๆ - เนื่องจากรูปแบบ XML มักทำให้การรวมคําจํากัดความของนิพจน์ในองค์ประกอบ
CDATA
ดังที่แสดงที่นี่เป็นวิธีที่ง่ายที่สุด เนื่องจากวิธีนี้ช่วยให้ไม่ต้องใช้การหนีค่า XML โดยใช้องค์ประกอบเอนทิตี เช่น>
และ&
- โครงสร้าง
Condition
สามารถฝังได้