Transform
, öğelerin veya öğe gruplarının görünümünü değiştirmenize olanak tanır. Ancak bazı koşullara bağlı olarak davranışlar listesi arasında geçiş yapmak isteyebilirsiniz. Bu, diğer dillerdeki switch
veya if…else
beyanına benzer.
Örneğin, sabahın erken saatleri, sabah, öğle yemeği, öğleden sonra, akşam ve gece için farklı bir arka plan göstermek isteyebilirsiniz.
Kadran biçimindeki Condition
ifadeleri, ifadelerin değerlendirilmesine bağlı olarak kadran sahnenizin farklı bölümlerini eklemenize olanak tanır. Örneğin:
<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>
Koşullarla ilgili dikkat edilmesi gereken birkaç nokta:
expression
değerinintrue
olduğu ilkCompare
öğesi kullanılır, diğerleri yoksayılır.- XML biçimi nedeniyle, ifade tanımını burada gösterildiği gibi bir
CDATA
öğesine sarmalamak genellikle en kolay seçenektir. Bu sayede>
ve&
gibi varlık öğeleri kullanılarak XML kaçış karakteri ekleme ihtiyacı ortadan kalkar. Condition
yapıları iç içe yerleştirilebilir.