درحالیکه 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ساختار میتواند لانهگیری شود.