User Manual

Chapter 1: Overview of Content Policy Language
25
[section_type [label]] [section_condition][section_properties]
section_content
where:
The
section_type defines the syntax of the rules used in the section, and the evaluation strategy
used to evaluate those rules. The square brackets [ ] surrounding the section name (and optional
label) are required.
The optional
label, separated from the section type by space, is a CPL User-defined Identifier
similar to a layer label.
The optional
section_condition is a list of triggers, all of which must evaluate to true before the
section content is evaluated.
The optional
section_properties is a list of properties that will become the default settings for
those properties for any rule matched in the section. These override any layer property defaults
and can in turn be overridden by explicitly setting a different value for that property in a rule
within the section.
The
section_content is a list of rules. A section must contain at least one rule.
Collectively, the section_condition and section_properties are often referred to as a section guard
expression.
A layer with sections has the logical form:
if (layer_condition is true) then
{
if (section1_condition is true then
{
if (rule1A_condition is true) then
set layer_properties then section_properties then rule1A properties
else if (rule1B_condition is true) then
set layer_properties then section_properties then set rule1B
properties
....
}
else if (section2_condition is true then
{
if (rule2A_condition is true) then
set layer_properties then section_properties then rule2A properties
else ...
}
...
}
Definitions
Two types of definitions are used in CPL:
Named definitions that are explicitly referenced by policy
Anonymous definitions that apply to all policy evaluation and are not referenced directly in rules.