Relationships on Multiple Axes? #reltable
I've got a fairly hefty set of topics (4k+) that have sparse relationships on multiple axes.
- some of my topics have a shape (square, triangle, circle, etc.)
- some of my topics have a color (orange, blue, grey, etc.)
- some of my topics have both shape and color
- some of my topics have neither (a majority, thankfully)
What I'd really like to do is handle these relationships with reltables: set up the relationships in a map, and then (somehow) generate labeled lists in topics as appropriate (these topics share this shape; these topics share this color).
However, from what I can tell, reltables (and all of the resulting functionality) only operate on one dimension; a union is made of all available reltables, and all relationships are generated from that (and any extra information about a subgrouping is lost). But! I may have missed something, so I hope it's okay to ask:
Is there any way to get multiple kinds of topic relationships into a DITA documentation set without hard coding the links?
I am not sure that I understand both your problems fully but free advice occasionally is worth more than the cost.toggle quoted messageShow quoted text
I think that reltables can do what you want but I would start with a test of 10 entries to see if it does before you do all 4K+
(Use keyrefs - see below)
Keys are the way to avoid hardcoding links.
Every topic gets a key that says where it is located on the disk.
References to the topic use key as the link.
Keys are stored in separate file(s) so they are easy to maintain.
If you relocate a topic file or give it a better name, just change the reference to the key. Any menu or reltable that refers to the topic will not have to be found and fixed.
Very handy if you need to generate many documents using your topics.
On 2020-07-03 3:13 p.m., Paul Mazaitis wrote:
I think I would use multiple reltables for this, one for color, one for shape, etc. The rows would be only one column wide, each representing one shape/color/whatever.
Then (using colors as an example), put all red topics in one entry, all green in the next row down, yellow below that. Wrap all the topicrefs in one cell in a topicgroup element, with attribute @collection-type="family"
Any topics that have a common color and shape would be picked up by any reltable. The question is whether they'll be displayed twice.