TALES Not expressions


Not expression syntax:

      not_expression ::= 'not:' expression


Not expression evaluate the expression string (recursively) as a full expression, and returns the boolean negation of its value. If the expression supplied does not evaluate to a boolean value, not will issue a warning and coerce the expression's value into a boolean type based on the following rules:

  1. the number 0 is false
  2. numbers > 0 are true
  3. an empty string or other sequence is false
  4. a non-empty string or other sequence is true
  5. a non-value (e.g. void, None, Nil, NULL, etc) is false
  6. all other values are implementation-dependent.

If no expression string is supplied, an error should be generated.

Zope considers all objects not specifically listed above as false (including negative numbers) to be true.


Testing a sequence:

      <p tal:condition="not:here/objectIds">
        There are no contained objects.