Example: Apply multiple constraints to a single document-type shell
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)
Parent topic