Inspired by Eliot Kimber's tutorials at http://dita4practitioners.github.io/dita-specialization-tutorials/,
let's assume you have created a domain specialization, Emphasis, that includes a new
element, <em> to be used to mark text for emphasis. This specialization includes
the two files emphasisDomain.mod and emphasisDomain.ent. (Examples of
both of these files are included as appendices.) The specialization does not include
a DTD file because it is a domain specialization. A domain specialization never
includes a DTD because it cannot be used on its own, contrary to a topic type
specialization.
-
Add emphasisDomain.mod and emphasisDomain.ent to the dtd
subfolder of your DTD plugin.
-
Check out and open CompanyDitabase.dtd.
-
In the DOMAIN ENTITY DECLARATIONS section, add the following:
<!ENTITY % emphasis-d-dec
PUBLIC "-//COMPANY//ENTITIES Emphasis Domain//EN"
"emphasisDomain.ent"
>
%emphasis-d-dec;
-
In the DOMAIN EXTENSIONS section, edit the keyword entity to include
emphasis-d-keyword:
<!ENTITY % keyword "keyword |
%pr-d-keyword; |
%sw-d-keyword; |
%ui-d-keyword; |
%emphasis-d-keyword;
">
-
In the DOMAINS ATTRIBUTE OVERRIDE section, edit the included-domains entity to
reference
&emphasis-d-att
:
<!ENTITY included-domains
"&concept-att;
&glossentry-att;
&glossgroup-att;
&reference-att;
&task-att;
&hi-d-att;
&ut-d-att;
&indexing-d-att;
&hazard-d-att;
&abbrev-d-att;
&pr-d-att;
&sw-d-att;
&ui-d-att;
&taskbody-constraints;
&localization-loc-d-att;
&emphasis-d-att;
"
>
-
In the DOMAIN ELEMENT INTEGRATION section, add the following:
<!ENTITY % emphasis-d-def
PUBLIC "-//COMPANY//ELEMENTS Emphasis Domain//EN"
"emphasisDomain.mod"
>
%emphasis-d-def;
-
Save, close, and check in CompanyDitabase.dtd.
-
Check out and open your DTD plugin's catalog.xml.
-
Within the group that includes CompanyDitabase.dtd, add the public
identifiers for the emphasisDomain.mod and emphasisDomain.ent
files.
<group>
<!-- Topics -->
<public publicId="-//COMPANY//DTD DITA Composite//EN" uri="dtd/CompanyDitabase.dtd"/>
...
<!-- Company Emphasis domain -->
<public publicId="-//COMPANY//ELEMENTS Emphasis Domain//EN" uri="dtd/emphasisDomain.mod"/>
<public publicId="-//COMPANY//ENTITIES Emphasis Domain//EN" uri="dtd/emphasisDomain.ent"/>
</group>
-
Save, close, and check in catalog.xml
-
Restart the IXIASOFT CCMS Desktop.
You can now add the <em> element to your content, in any context where you could
add <keyword>. Next, you need to integrate the Emphasis specialization into the
Output Generator so that you can generate output from content that includes this
element. Refer to Integrate a specialization into the Output Generator for instructions.
You also need to add templates and CSS or attribute sets to your output plugins to
properly format text in the <em> element.