Weak and strong constraints

Darwin Information Typing Architecture (DITA) Version 1.3 Part 2: Technical Content Edition

version
1.3
author
OASIS DITA Technical Committee

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.