Example: Apply multiple constraints to a single document-type shell

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

OASIS DITA Technical Committee

You can apply multiple constraints to a single document-type shell. However, there can be only one constraint for a given element or domain.

Here is a list of constraint modules and what they do:

File name What it constrains Details Contribution to the domains attribute
example-TopicConstraint.mod topic
  • Removes abstract
  • Makes shortdesc required
  • Removes related-links
  • Disallows topic nesting
(topic basic-Topic-c)
example-SectionConstraint.mod section
  • Makes id required
  • Removes spectitle attribute
(topic idRequired-section-c)
example-HighlightingDomainConstraint.mod Highlighting domain Reduces the highlighting domain elements to b and i (topic hi-d basic-HighlightingDomain-c)
example-PhConstraint.ent ph Removes the ph element (topic noPh-ph-c)

All of these constraints can be integrated into a single document-type shell for topic, since they constrain distinct element types and domains. The constraint for the highlighting domain must be integrated before the "DOMAIN ENTITIES" section, but the order in which the other three constraints are listed does not matter.

Each constraint module provides a unique contribution to the domains attribute. When integrated into the document-type shell for topic, the effective value of the domains attribute will include the following values, as well as values for any other modules that are integrated into the document-type shell:

(topic basic-Topic-c) (topic idRequired-section-c) (topic hi-d basic-HighlightingDomain-c) (topic noPh-ph-c)