האפשרות 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
.