DITA OT errors DOTX058W in Oxygen 28 (none in Oxygen 26)

Post here questions and problems related to editing and publishing DITA content.
TumasN
Posts: 25
Joined: Sat Jun 24, 2023 7:35 pm

DITA OT errors DOTX058W in Oxygen 28 (none in Oxygen 26)

Post by TumasN »

Hello, I've been a long-time user of Oxygen 26 and now in the process of switching to 28 due to the lmns support.
However, I'm experiencing errors with content that has been working perfectly in Oxygen 26 with no errors. I guess these are some new requirements of a newer DITA-OT, but no matter what I do to search for a solution, all the solutions that I was able to find and test (useless ChatGPT and such) simply give more errors, so I need human support.

1. In my main DitaMap, I have the fragment for a glossary which is in the navigation:

Code: Select all

<topichead chunk="to-content" id="glossary">
        <topicmeta>
            <navtitle>Glossary</navtitle>
        </topicmeta>
        <topicref href="topics/glossary/glossary.ditamap" format="ditamap"/>
    </topichead>
The glossary map file, in the correct location as stated above (topics/glossary/glossary.ditamap), is:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map>
    <title>Glossary</title>
    <topicref href="dot1x.dita" keys="dot1x"/>
(...)
</map>
(tried using glossref instead of topicref, same problem)

All the *.dita files for the glossary are in the same directory, for example, topics/glossary/dot1x.dita:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glossentry PUBLIC "-//OASIS//DTD DITA Glossary Entry//EN" "glossentry.dtd">
<glossentry id="dot1x">
    <glossterm>802.1X</glossterm>
    <glossdef><p>Description</p></glossdef>
    <glossBody>
        <glossAlt>
            <note>In spoken language, 802.1X is often pronounced as “dot-one-ex”.</note>
        </glossAlt>
    </glossBody>
</glossentry>
As a result of publishing to webhelp, I get the following errors for all references to <term keyref="glossaryterm">:

[DOTX058W]: No glossary entry found for the 'dot1x' key on the <term> element. Check display text and hover text for terms and abbreviations.

However, upon transformation, the glossary works correctly, and when hovering over the term in other files, the hover contains the description so the error is irrelevant.

How can I get rid of these errors please?

What I also tried and failed:
- getting rid of the extra ditamap and including all topics as topicref in the main dita
Last edited by TumasN on Wed Dec 03, 2025 3:28 pm, edited 1 time in total.
julien_lacour
Posts: 752
Joined: Wed Oct 16, 2019 3:47 pm

Re: DITA OT errors DOTX058W in Oxygen 28 (none in Oxygen 26)

Post by julien_lacour »

Hello,

How did you define the "glossaryterm" key used in <term keyref="glossaryterm">? Are you using other elements similar to <term> with the same keyref? (e.g. abbreviated-form)
I've tested defining <keydef keys="glossaryterm" href="topics/glossary/dot1x.dita#dot1x"/> and the output is generated without any error in <oXygen/> XML Editor 28.0, build 2025112606.
You can also try to run the Validate and Check for Completeness tool available in the DITA Maps Manager to see if you don't have duplicate keys.

Regards,
Julien
TumasN
Posts: 25
Joined: Sat Jun 24, 2023 7:35 pm

Re: DITA OT errors DOTX058W in Oxygen 28 (none in Oxygen 26)

Post by TumasN »

Thanks for the reply, Julien!
I never used <keydef> when using Oxygen 26. It was working perfectly as-is.
I tried switching from <topicref> in my glossary.ditamap to <keydef> instead, as you suggested, and then I get tons of other errors:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map>
    <title>Glossary</title>
    <keydef href="dot1x.dita#dot1x" keys="dot1x"/>
(...)
[DOTX061W]: The @href attribute value 'dot1x' contains a fragment identifier, but it does not reference a topic element. The @href attribute on a <topicref> element should only reference topic-level elements.
[DOTX023W]: Unable to retrieve navtitle from target: 'glossary.dita#dot1x'.
[DOTX027W]: Unable to retrieve linktext from target: 'glossary.dita#dot1x'.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map>
    <title>Glossary</title>
    <keydef href="dot1x.dita" keys="dot1x"/>
(...)
[DOTX061W]: The @href attribute value 'dot1x' contains a fragment identifier, but it does not reference a topic element. The @href attribute on a <topicref> element should only reference topic-level elements.
[DOTX023W]: Unable to retrieve navtitle from target: 'glossary.dita#dot1x'.
[DOTX027W]: Unable to retrieve linktext from target: 'glossary.dita#dot1x'.

Then, to be sure there are no duplicates, I changed all these to term_glossaryterm e.g. term_dot1x. And I tried both a keyref and a topicref.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map>
    <title>Glossary</title>
    <keydef keys="term_dot1x" href="dot1x.dita" format="dita"/>
    <topicref href="dot1x.dita"/>
(...)
[DOTX058W]: No glossary entry found for the 'term_dot1x' key on the <term> element. Check display text and hover text for terms and abbreviations.

I do not understand what changed and why it is so, but I may have to consider not upgrading to 28 and staying with 26 instead then. Well, at least the transformation is successful and everything works as before, only I get this warning spam every single time...
Post Reply