My colleagues and I have recently converted all of our unstructured legacy documentation to XML following the DITA standard. We’re now ready to add in relationship tables and have a few questions about the best way to approach this.
We’re dealing with a substantial amount of documentation (2500 files split into 12 maps) and want to create relationship tables for each map to handle our internal links. We’ve decided to use the multi-column approach to relationship tables where each column lists a different topic type instead of the 2-colum source/target table. My main question is: what is the best way to create a relationship table that allows you to link between all topic types including topics of the same type (e.g., a link from one concept topic to another concept topic)?
For example, I have a map where I want Topic 1 (concept) to contain references to Topic 2 (task), Topic 3 (Reference) and Topic 4 (concept). I do not want Topic 2, 3, or 4 to have any internal links.
What is the best way to do this? Do I need to create a 4 column relationship table similar to the table below, or is there a better way to do this using collection types and other relationship table properties?
Relationship Table Example:
Concept | Concept | Task | Reference |
Topicref href = Topic1 linking = sourceonly | Topicref href = Topic4 linking = targetonly | Topicref href = Topic2 linking = targetonly | Topicref href = Topic3 linking = targetonly |
Intended result:
Topic 1
<shortdescription> This is the short description. <short description>
<p> Body text <p>
Related Links:
Topic 4
Topic 2
Topic 3
NOTE: No other topics should contain Related Links.
The approach above seems to work, but it looks a bit sloppy and I haven’t seen any examples that take this approach. If this is the correct approach then for our purposes we would likely require a 6 column relationship table (2 concept, 2 task, and 2 reference rows) for each map. Does that make sense, or is there a better/easier way to do this? Any advice would be greatly appreciated!