[oXygen-user] IDs for new DITA topics
Oxygen XML Editor Support (Radu Coravu)
support at oxygenxml.com
Mon Mar 27 05:13:05 CDT 2023
Hello Frank,
Please see some answers below:
> I understand that a topic ID must be unique within the scope of the
> root ditamap used for publishing the content.
Your understanding is incorrect, the topic ID must be unique inside the
same topic file. So for example if in the "topic.dita" you have two
inner topics, all topics existing inside the "topic.dita" must not have
duplicate IDs. But if you have "topic1.dita" and "topic2.dita", the
<topic> elements in both files can have the same ID, the DITA standard
does not impose a uniqueness restriction for the topic IDs in the
context of the entire project.
DITA 1.3 specs:
https://www.oxygenxml.com/dita/1.3/specs/archSpec/base/uri-based-addressing.html
> This addressing model makes it possible to reliably address elements
> that have values for the |@id| attribute that are unique within a
> single DITA topic, but which might not be unique within a larger XML
> document that contains multiple DITA topics.
But it is true that Oxygen and other tools attempt to create by default
unique IDs for a created topic file in the context of the entire
project, some CMSs may need them, sometimes the publishing (for example
Oxygen's DITA to WebHelp output) may use these unique IDs for certain
features.
> So there is an arbitrary combination of only 9 characters, mostly
> letters. But perhaps sufficient for ensuring uniqueness...
Indeed the ${id} ID value we generate has about 9-10 unique letter-digit
combinations. We consider this to be enough. The number of unique
combinations is about 36 (26 letters in the English alphabet + 10
digits) to the power 9, it's 1 followed by about 14 digits. We consider
this to be enough for a value which is not intended to be unique by the
DITA specification anyway.
By the way we also have a longer "${uuid}" editor variable which can be
used and expanded, a unique sequence of 32 hexadecimal digits if you
want something even more unique.
https://www.oxygenxml.com/doc/versions/25.1/ug-editor/topics/editor-variables.html
> However, when I use the "DITA > Insert > Insert New DITA Resource"
> command, oXygen does not honor the "ID Option" setting, but creates
> IDs which are identical to the file name.
Usually an ID derived from the title or from the file name is more user
friendly when for example inserting references to elements inside a topic.
We would do the same by default when using the "File->New" wizard dialog
to create the topic but the topic is not yet saved on disk so we do not
yet know its file name or its title so we use the random value instead.
In the Oxygen Preferences->"DITA / Topics" page there is an "Use the
filename as the value.. of the root element id" which you can uncheck if
you want.
Regards,
Radu
Radu Coravu
Oxygen XML Editor
On 3/27/23 11:43, Frank Dissinger wrote:
>
> Hi all,
>
>
> I understand that a topic ID must be unique within the scope of the
> root ditamap used for publishing the content.
>
>
> FrameMaker, which I used previously, creates IDs of the type
>
>
> id172OC0C03J7
>
>
> So there is an arbitrary combination of 11 digits and letters.
>
>
> In oXygen I have set the "DITA > ID Option" as follows:
>
>
> ${localName}_${id}
>
>
> Which creates IDs of the following type:
>
>
> task_rf2_vcg_ywb
>
>
> So there is an arbitrary combination of only 9 characters, mostly
> letters. But perhaps sufficient for ensuring uniqueness...
>
>
> However, when I use the "DITA > Insert > Insert New DITA Resource"
> command, oXygen does not honor the "ID Option" setting, but creates
> IDs which are identical to the file name.
>
> This is not what I want and surely not suitable for ensuring uniqueness.
>
>
> How can I get oXygen to honor the "ID Option" setting or make it
> otherwise generate IDs with arbitrary characters which are likely to
> be unique?
>
>
> Regards,
>
> Frank
>
> --
>
> *Frank Dissinger*
>
> Documentation Manager
>
> ....................................................................
>
> *CGS Publishing Technologies International GmbH*
>
> *Email *frank.dissinger at cgs-oris.com | *Web* www.cgs-oris.com
> <http://www.cgs-oris.com/>
>
> *Address* Kettelerstr. 24 | D-63512 Hainburg | Germany
>
> *Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99
>
> *Commercial register* Offenbach, HRB no. 21495
>
> *Managing directors* Bernd Rückert, Christoph Thommessen
>
>
> https://www.cgs-oris.com/Signatur.png <https://www.cgs-oris.com/signatur>
>
> _______________________________________________
> oXygen-user mailing list
> oXygen-user at oxygenxml.com
> https://www.oxygenxml.com/mailman/listinfo/oxygen-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.oxygenxml.com/pipermail/oxygen-user/attachments/20230327/1d7c38f8/attachment.htm>
More information about the oXygen-user
mailing list