Example: Constrain a domain module
In this scenario, an information architect wants to use only a subset of the elements
defined in the highlighting domain. She wants to use <b>
and
<i,>
but not <line-through>
,
<overline>
, <sup>
, <sup>
,
<tt>
, or <u>
. She wants to integrate this
constraint into the document-type shell for task.
- She creates reducedHighlightingDomainConstraint.mod, where "reduced" is a string that characterizes the constraint.
- She adds the following content to reducedHighlightingDomainConstraint.mod:
<!-- ============================================================= --> <!-- CONSTRAINED HIGHLIGHTING DOMAIN ENTITIES --> <!-- ============================================================= --> <!ENTITY HighlightingDomain-constraints "(topic hi-d basic-HighlightingDomain-c)" > <!ENTITY % HighlightingDomain-c-ph "b | i" >
- She then integrates the constraint module into her company-specific, document-type shell
for the task topic by adding the following section directly before the "DOMAIN ENTITY
DECLARATIONS"
comment:
<!-- ============================================================= --> <!-- DOMAIN CONSTRAINT INTEGRATION --> <!-- ============================================================= --> <!ENTITY % HighlightingDomain-c-dec PUBLIC "-//ACME//ENTITIES DITA Highlighting Domain Constraint//EN" "acme-HighlightingDomainConstraint.mod" >%basic-HighlightingDomain-c-dec;
- In the "DOMAIN EXTENSIONS" section, she replaces the parameter entity for the
highlighting domain with the parameter entity for the constrained highlighting
domain:
<!ENTITY % ph "ph | %HighlightingDomain-c-ph; | %sw-d-ph; | %ui-d-ph; ">
- She then adds the constraint to the list of domains and constraints that need to be
included in the value of the
@domains
attribute for<task>
:<!-- ============================================================= --> <!-- DOMAINS ATTRIBUTE OVERRIDE --> <!-- ============================================================= --> <!ENTITY included-domains "&task-att; &hi-d-att; &indexing-d-att; &pr-d-att; &sw-d-att; &ui-d-att; &taskbody-constraints; &HighlightingDomain-constraints; " >
- After updating the catalog.xml file to include the new constraints file, her work is done.