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