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.

Was this helpful?