Conref compatibility with constraints

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

version
1.3
author
OASIS DITA Technical Committee

To determine compatibility between two document instances, a conref processor checks the domains attribute to confirm whether the referencing document has a superset of the vocabulary modules in the referenced document. If one or both of the document instances are constrained, the conref processor checks to confirm the compatibility of the constraints.

Conref processors take into account whether constraints are specified as strong. For strong constraints, the following rules apply:

Conref pull
For each vocabulary module used by both document types, the module in the document type that contains the referencing element must be less (or equally) constrained than the same module in the document type that contains the referenced element. For example, if each document type uses the highlighting domain module, that module must be less (or equally) constrained in the document type that contains the referencing element.
Conref push
For each vocabulary module used by both document types, the module in the document type that contains the referencing element must be more (or equally) constrained than the same module in the document type that contains the referenced element. For example, if each document type uses the highlighting domain module, that module must be more (or equally) constrained in the document type that contains the referencing element.

Example: Conref pull and constraint compatibility

The following table contains scenarios where conref pull occurs between constrained and unconstrained document instances. It assumes that the processor is not configured to treat all constraints as strong constraints.

Values of domains attribute in document type that contains the referencing element Values of domains attribute in document type that contains the referenced element Resolution Comments
(topic) (topic shortdescReq-c) Allowed The content model of the referenced topic is more constrained than the referencing topic.
s(topic shortdescReq-c) (topic) Prevented The constraint is specified as a strong constraint, and the content model of the referenced topic is less constrained than the referencing topic.
(topic shortdescReq-c) (topic) Allowed Although the content model of referenced topic is less constrained than the referencing topic, this is a weak constraint and so permitted.
(topic task) (topic hi-d) (topic hi-d basicHighlightingDomain-c) (topic simpleSection-c) (topic task) (topic task simpleStep-c) Allowed The referenced topic has a subset of the vocabulary modules that are integrated into the document-type shell for the referencing topic. Both document types integrate constraints, but for modules used in both document types, the referencing topic is less constrained than the referenced topic.
(topic hi-d) (topic simpleSection-c) s(topic simpleP-c) (topic simpleSection-c) (topic task) (topic hi-d) (topic hi-d basicHighlightingDomain-c) Prevented The referencing document has constraints that are not present in the referenced document, including a strong constraint applied to the p element.

Example: Conref push and constraint compatibility

The following table contains scenarios where conref push occurs between constrained and unconstrained document instances. It assumes that the processor has not been configured to treat all constraints as strong constraints.

Values of domains attribute in document type that contains the referencing element Values of domains attribute in document type that contains the referenced element Resolution Comments
(topic) (topic shortdescReq-c) Allowed Although the content model of the referenced topic is more constrained than the referencing topic, this is a weak constraint and so permitted.
(topic) s(topic shortdescReq-c) Prevented The constraint is specified as a strong constraint, and the content model of the referenced topic is more constrained than the referencing topic.
(topic shortdescReq-c) (topic) Allowed The content model of the referencing topic is more constrained than the referenced topic.
(topic task) (topic hi-d) (topic hi-d basicHighlightingDomain-c) (topic simpleSection-c) (topic task) (topic task simpleStep-c) Allowed The referenced topic has a subset of the vocabulary modules that are integrated into the document-type shell for the referencing topic. For modules used in both document types, the referenced topic is more constrained than the referencing topic, but this is a weak constraint and so permitted.
(topic simpleSection-c) (topic task) (topic hi-d) (topic hi-d basicHighlightingDomain-c) (topic hi-d) (topic simpleSection-c) s(topic simpleP-c) Prevented For the common topic module, the referenced document has more constraints than the referencing document, including a strong constraint applied to the p element.