Weak and strong constraints
Constraints can be classified into two categories: Weak and strong. This classification
determines whether processors enforce strict compatibility during @conref
or
@conkeyref
resolution.
- Strong constraints
- Constraints for which processors enforce strict compatibility during
@conref
or@conkeyref
resolution. - Weak constraints
- Constraints for which a processor does not enforce strict compatibility during
@conref
or@conkeyref
resolution.
By default, constraints are weak unless they are explicitly designated as strong.
Any constraint declaration can designate a constraint as strong. A constraint can be
designated as strong by prefixing the letter "s" to the domains attribute contribution, for
example, "s(topic task strictTaskbody-c)"
. Processors also can be configured
to treat all constraints as strong.
The following behavior is expected of processors:
- Processors MAY perform constraint compatibility checking.
- If processors perform constraint compatibility checking, they SHOULD enforce strict compatibility for strong constraints.
- Processors MAY have an option for configuring whether all constraints are treated as strong constraints.