Relationship tables in a nested map with glossary entries do not show up in output

Post here questions and problems related to editing and publishing DITA content.
ditasaur
Posts: 5
Joined: Thu Mar 09, 2023 2:43 pm

Relationship tables in a nested map with glossary entries do not show up in output

Post by ditasaur »

Hi! I'm a beginner and this is really the first issue I've had.
I have a map with glossary entries and a relationship table linking relevant terms together. In output (pdf or webhelp), those related links work fine.
When I nest that map inside another map, the links do not show up in output with the exact same transformation scenarios. The top-level map and some of the other nested maps also have relationship tables, and they work fine.
I've experimented with every possible structure I can think of, but the only way I can get those related links to show up is to output just the glossary by itself. Any attempt to link to it in a map (with topicref) fails. Clearly I'm missing something, but what?
Radu
Posts: 9049
Joined: Fri Jul 09, 2004 5:18 pm

Re: Relationship tables in a nested map with glossary entries do not show up in output

Post by Radu »

Hi,

Does the "Validate and check for completness" action from the DITA Maps Manager view report any problem on the published map?
Do you use advanced DITA features like key scopes or branch filtering?
Maybe you can experiment with creating a small DITA sample project (2-3 maps, a couple of topics) which exhibits the problem. After this you can either attach it to a reply on this blog post or send it via email (support@oxygenxml.com).

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
ditasaur
Posts: 5
Joined: Thu Mar 09, 2023 2:43 pm

Re: Relationship tables in a nested map with glossary entries do not show up in output

Post by ditasaur »

Hi,

There was indeed a ditaval file in the map, and I was sure I had already tried removing it. Still, I tried again, and that resolved the issue. The conditions merely excluded some paragraphs, but moving it to the top level map did not hide the related links again. Is it then that the ditaval file must always be in the top-level map? While I was figuring this out I did test it with some sample files. I attached them in case it's not a feature; it does seem a little illogical since there were no validation issues and everything else so far has seemed very intuitive. Then again, it's my first time using branch filtering, so maybe I'm just doing it wrong!

Thanks for your help!
Testing.zip
(1.85 KiB) Downloaded 106 times
Radu
Posts: 9049
Joined: Fri Jul 09, 2004 5:18 pm

Re: Relationship tables in a nested map with glossary entries do not show up in output

Post by Radu »

Hi,
Once you start using a ditavalref file you will have to assign keys to resources inside the branch and to refer to them using keyrefs because the branch filtering might change the original topic names.
https://www.oxygenxml.com/dita/1.3/spec ... names.html
In general, the best way to reference a topic that will be modified based on branch filtering is to use a key rather than a URI.
So for example this should work:

Code: Select all

<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map>
    <title>Nested map</title>
    <ditavalref href="testing.ditaval"/>
    <topicref href="testing_term_1.dita" keys="t1"/>
    <topicref href="testing_term_2.dita" keys="t2"/>
    <reltable>
        <relrow>
            <relcell>
                <topicref keyref="t1"/>
            </relcell>
            <relcell>
                <topicref keyref="t2"/>
            </relcell>
        </relrow>
    </reltable>
</map>
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
ditasaur
Posts: 5
Joined: Thu Mar 09, 2023 2:43 pm

Re: Relationship tables in a nested map with glossary entries do not show up in output

Post by ditasaur »

Oh, I see! I still struggle to understand keys, but this helps. Thank you for taking the time to explain it with a sample, I appreciate it.
ditasaur
Posts: 5
Joined: Thu Mar 09, 2023 2:43 pm

Re: Relationship tables in a nested map with glossary entries do not show up in output

Post by ditasaur »

Hi! Returning to this because I'm still not sure what is going wrong. If I use that exact example you gave, the references do work, but there is still a warning for both keyrefs: "Cannot find definition for key "t2". Keys are gathered from: null." It's just a warning, and it works, but obviously I'd prefer a lovely green validation.

I had this issue in my real map with only a couple of keyrefs that had some conditional values and have been researching that all morning, but I don't know what changed because now it's all of them, which made come back to your sample.
Radu
Posts: 9049
Joined: Fri Jul 09, 2004 5:18 pm

Re: Relationship tables in a nested map with glossary entries do not show up in output

Post by Radu »

Hi,

Can you give me a screenshot of Oxygen when this error is displayed?
In the Oxygen DITA Maps Manager view you should always open the main DITA Map which is edited/published. Oxygen gathers keys used for validation and editing from the context root map in the DITA Maps manager view.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
ditasaur
Posts: 5
Joined: Thu Mar 09, 2023 2:43 pm

Re: Relationship tables in a nested map with glossary entries do not show up in output

Post by ditasaur »

Oh I see! I've been mostly just looking at my project manager so far. As soon as I opened the maps manager the error changed to say that there is no map open and now everything is beautiful and green. Thank you again for a quick explanation for a lost newbie!
Radu
Posts: 9049
Joined: Fri Jul 09, 2004 5:18 pm

Re: Relationship tables in a nested map with glossary entries do not show up in output

Post by Radu »

Hi,
We have a bunch of past webinars linked here, maybe going through them will also help:
https://blog.oxygenxml.com/topics/learn ... wyk_5fj_2v
Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Post Reply