Jose messaged me this evening and suggested adding IF-ELSE style logic to Chameleon in Community Server 2007.  While IF-ELSE logic could be implemented using standard Chameleon controls using duplicated/negated DisplayConditions, such duplication can result in mark-up that is difficult to read.

To support cases where IF-ELSE style logic is required, the ConditionalContent control was created.  Here is its description from the Introduction to Chameleon: Utility Controls page:

ConditionalContent (<CSControl:ConditionalContent />)

The ConditionalContent control works like an IF-ELSE statement for content.  Along with the basic single value control properties, it exposes a ContentCondition inner-property with which any conditions controls can be used.  If the ContentCondition evaluates to true, the content of the TrueContentTemplate is rendered, otherwise the FalseContentTemplate is rendered.  For example,

<CSControl:ConditionalContent runat="server">
   <ContentConditions><CSControl:QueryStringPropertyValueComparison QueryStringProperty="condition" Operator="EqualTo" ComparisonValue="true" runat="server" /></ContentConditions>
   <TrueContentTemplate>It's true!</TrueContentTemplate>
   <FalseContentTemplate>It's false!</FalseContentTemplate>
</CSControl:ConditionalContent>

would render "It's True!" if the querystring contained "condition=true" and "It's False!" otherwise.

The ConditionalContent control will be available in the public release of CS2007 following beta-1.