Skip to main content
May 16, 2013
Question

Relationship Table best practices question

  • May 16, 2013
  • 1 reply
  • 468 views

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!

This topic has been closed for replies.

1 reply

ScottPrentice
Inspiring
May 16, 2013

Hi Darcy...

I don't know if there is really a "best" way to do this .. you'll get lots of opinions on that. I personally like the 2-column table since I find it the easiest to understand an manage, but it's really what works best for you that is 'best."

Part of the problem here is "what does FrameMaker support"? This will vary based on the FM version you're working with. Off hand I don't know the limitations of each version, but they don't all handle reltable linking in the same way, so if you try something and it doesn't work, that may not be because it shouldn't work, but it's possibly a FM limitation. The only way to tell is to test it with the OT as well as FM .. if it works in the OT, but not in FM, it's probably a FM bug.

In theory, if you leave off the @linking attribute, you should get bi-directional links .. so a 3-column reltable with no @linking may be what you're looking for. You can put multiple topicrefs in the same cell to get linking betwen those topics.

Cheers,

...scott