Relationship between hierarchy and relationship table links

Links can be generated into output formats during publishing based on hierarchical and relationship table relationships in the ditamap. Regardless of the source, the links are merged during publishing.

Cross-reference links are automatically generated by DITA publishing tools based on the hierarchical relationships in the ditamap, and on relationship table associations in the reltable section of the ditamap. In addition, links can be manually specified in an individual topic in the related-links section of the topic.

Regardless of which linking methodology was used, the resultant links in the output are merged into categorised link blocks at the end of the topic in the output.

Figure 1 shows a sample of links at the bottom of a topic in Microsoft HTML Help output. The Parent topic: link is based on the hierarchy; it is a link to the parent of the current topic. The first two Related concepts links are based on the ditamap hierarchy, as the parent topic has its collection-type attribute set to family. (This specifies that all sibling topics should be linked together.) The third link is a manual link specified in the related-links section of the current topic. These three links are all concept information types, and that's why they have been grouped under the Related concepts heading. The two Related tasks links are generated from a relationship in the reltable, again, grouped together because both topics are task information types.


Screen capture showing a mixture of hierarchy, reltable and related links

How hierarchy, reltable and related links are merged in the output topic

The key features of the ditamap that would generate the output in Figure 1 are:
...
<topicref collection-type="family" href="c_Engine_Options.dita" type="concept">
   <topicref href="ej20.xml" type="concept"/>
   <topicref href="ej25.xml" type="concept"/>
   <topicref href="ej25_turbo.xml" type="concept"/>
</topicref>
...
<reltable>
   <relrow>
     <relcell>
       <topicref format="dita" href="ej25_turbo.xml" type="concept"/>
     </relcell>
     <relcell>
       <topicref format="dita" href="start_xrw.xml" type="task"/>
      	<topicref format="dita" href="start_lumberer.xml" type="task"/>
     </relcell>
   </relrow> 
</reltable>