اگرچه 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همانطور که در اینجا نشان داده شده است، قرار دهید، زیرا این کار از نیاز به escape کردن XML با استفاده از عناصر موجودیت مانند>و&جلوگیری میکند. - ساختارهای
Conditionمیتوانند تو در تو باشند.