Skip to main content
August 26, 2024

The business value of DITA specialization

It’s hard to believe that the DITA standard needs additional tags. I tried counting them, but gave up at 150, when I had only reached the letter G. (Be my guest: https://www.oxygenxml.com/dita/1.3/specs/langRef/quick-reference/all-elements-a-to-z.html

Nonetheless, if you need a tag that DITA doesn’t provide, you can use specialization to add new tags. Before you do, it’s important to consider the costs and benefits. (And maybe check the alphabetical list. I found some surprises!)

Did you know this was available in DITA? I didn’t. 

Portion of XML tags from Oxygen's site. Text reads: "<namedetails><personname> <honorific>Dr.</honorific> <firstname>Derek</firstname> <middlename>L.</middlename> <lastname>Singleton</lastname> <generationidentifier>Jr.</generationidentifier> <otherinfo>noted psychologist</otherinfo> </personname></namedetails>"

Source: Oxygen XML, Honorific element

What is DITA? 

The Darwin Information Typing Architecture (DITA) is an open-source XML standard. With an emphasis on topic-based content, information typing, and metadata, it provides a strong foundation for structured authoring, especially in combination with component content management systems

What is DITA specialization? 

The DITA specialization mechanism lets you modify the standard without breaking default processing. That means you can, for example, create a warning tag as a specialization of the default note tag. When you create output, the DITA Open Toolkit looks for processing for the new warning tag, but if none is provided, it falls back onto the note tag processing.

For detailed information on specialization, reference this white paper, DITA specialization: Extensibility and standards compliance

Here’s what to consider when you specialize. 

More specific tagging = better semantics

Creating a more specific tag means that you have better labels on your content. <abstract> is better than <p> to describe an article summary. Is <author> specific enough?

<author type=”editor”>Me</author>

Or do you need 

<editor>Me</editor>

You need to consider the value of a more specific tag, the additional cognitive load on your authors, the requirements downstream for processing output, and the possible use of your content for AI tools.

Specialization = higher costs

It’s true that specialized DITA is still valid DITA, but there’s not much point in creating new tags and then using default processing. If you are creating new tags, you need to adapt some or all of the following items to get value out of your specialization:

  • Authoring interface
  • Publishing pipelines
  • Training
  • Connectors to other systems

Managing an environment with specialized tags is clearly more expensive than using the default tag set. The question is, how much value do you get out of the tags and is the added configuration and maintenance expense worth the cost?

Constraints

In addition to specialization, the DITA standard offers a mechanism for eliminating unneeded tags. You can constrain the standard tag set to eliminate tags that aren’t relevant for your content. For example (and I apologize for this DITA-inception example), DITA includes a tag called <xmlelement>, which is intended for XML markup in your text. For example:

Inside a task, you have a <xmlelement>step</xmlelement> tag.

Not documenting XML elements in your service manual for a tractor? Constrain them out!

Setting up constraints is much easier than creating specializations, and your authors will appreciate a shorter list of tag options.

Curious if DITA specialization is right for you? Ask us! 

"*" indicates required fields

Data collection (required)*
This field is for validation purposes and should be left unchanged.