Transform, öğelerin veya öğe gruplarının görünümünü değiştirmenize olanak tanır. Ancak bazı durumlarda, belirli bir koşula bağlı olarak davranış listesi arasında geçiş yapmak isteyebilirsiniz. Bu, diğer dillerdeki switch veya if…else ifadelerine benzer.
Örneğin, sabahın erken saatleri, sabah, öğle, öğleden sonra, akşam ve gece için farklı bir arka plan göstermek isteyebilirsiniz.
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> <!-- 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>
Koşullar hakkında dikkat edilmesi gereken birkaç nokta:
expressionöğesinintrueolduğu ilkCompareöğesi kullanılır ve diğerleri yoksayılır.- XML biçimi nedeniyle, ifade tanımını
CDATAöğesine sarmak genellikle en kolay yöntemdir. Bu yöntem,>ve&gibi varlık öğeleri kullanılarak XML kaçışını önler. Conditionyapılar iç içe yerleştirilebilir.