evaluate

The element <evaluate> is used to group tests together and provide the logical operation to apply to the test results. The element <evaluate> must be used whenever more than one test, element <assert>, is required. The element <evaluate> can contain other instances of the element <evaluate> and is therefore recursive. This allows for very complicated applicability annotations to be represented with a simple structure consisting of only two element types.To process the element <evaluate> all child elements are evaluated, each providing a Boolean value of "true" or "false". Then the logical "and" or "or" operation is performed on the results, providing a single Boolean result. A result of the value "true" means the associated content is valid and a result of the value "false" means the associated content is not valid. The method of presenting validity is a project or an organization decision. Some projects or organizations will remove invalid content while others will want to de-emphasize the invalid content in some way.