Integrate the emphasisDomain specialization

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.

  1. Add emphasisDomain.mod and emphasisDomain.ent to the dtd subfolder of your DTD plugin.
  2. Check out and open CompanyDitabase.dtd.
  3. In the DOMAIN ENTITY DECLARATIONS section, add the following:
    <!ENTITY % emphasis-d-dec
      PUBLIC "-//COMPANY//ENTITIES Emphasis Domain//EN"     
             "emphasisDomain.ent"                                                
    >
    %emphasis-d-dec;
  4. 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;
                            ">
  5. 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;
      "
    >
  6. In the DOMAIN ELEMENT INTEGRATION section, add the following:
    <!ENTITY % emphasis-d-def  
      PUBLIC "-//COMPANY//ELEMENTS Emphasis Domain//EN"   
             "emphasisDomain.mod"
    >
    %emphasis-d-def;
  7. Save, close, and check in CompanyDitabase.dtd.
  8. Check out and open your DTD plugin's catalog.xml.
  9. 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>
  10. Save, close, and check in catalog.xml
  11. 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.