على الرغم من أنّ 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، قد يكون من الأسهل غالبًا تضمين تعريف expression
في عنصر
CDATA
كما هو موضّح هنا، لأنّ ذلك يتجنّب الحاجة إلى استخدام علامات XML الترميزية باستخدام عناصر العناصر، مثل>
و&
. - يمكن تداخل بنية
Condition
.