Mặc dù Transform cho phép bạn thay đổi giao diện của các phần tử hoặc nhóm phần tử, nhưng có thể có những trường hợp bạn muốn chuyển đổi giữa danh sách các hành vi dựa trên một số điều kiện. Điều này tương tự như câu lệnh switch hoặc câu lệnh if…else trong các ngôn ngữ khác.
Ví dụ: bạn có thể muốn hiển thị một hình nền khác cho buổi sáng sớm, buổi sáng, bữa trưa, buổi chiều, buổi tối và ban đêm.
Các câu lệnh Condition trong Định dạng mặt đồng hồ cho phép bạn đưa vào các phần khác nhau của cảnh mặt đồng hồ tuỳ thuộc vào việc đánh giá các biểu thức, ví dụ:
<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>
Một số điều cần lưu ý về điều kiện:
- Hệ thống sẽ dùng phần tử
Compaređầu tiên cóexpressionlàtruevà bỏ qua các phần tử khác. - Do định dạng XML, nên cách dễ nhất thường là bao bọc định nghĩa biểu thức trong một phần tử
CDATAnhư minh hoạ ở đây, vì cách này giúp bạn không cần phải thoát XML bằng cách sử dụng các phần tử thực thể như>và&. - Bạn có thể lồng các cấu trúc
Condition.