to the main page... about these slides...

Constraints

A constraint can declare attributes, contains conditional subconstraints, and constrain element contents, attributes, and context.
  constraintexp  ->  constraintterm*

  constraintterm  ->  attributedecl |
                      contentexp |
                      boolexp |
                      constraint | 
                      <If> boolexp
                        <Then> constraintexp </Then> 
                        (<Else> constraintexp </Else>)?
                      </If>
Constraints are evaluated wrt. the current element.