That’s quite a question for the many of our clients who are approaching DITA.Â They recognize the value of moving to XML and the value of a topic-based approach to their content.Â Â But, they wrestle with a variation of the same question that has vexed everyone approaching an XML or SGML standard for content authoring.Â Â Do I customize or use it out of the box.Â DocBook users faced the same question.Â In fact, a variation of the question has vexed pretty much all companies who have implemented an XML authoring solution.Â
To answer the question, you really need to ask two questions:
How do I need the tag set to control the authoring process?
One of the key benefits of XML, is that by defining your tag set, you can define structural patterns that authors follow.Â With very strict structures, you get tight control.Â With generic structures, you get loose control.Â There are benefits to each approach, but there are risks too.Â With tight control, you lose flexibility.Â This isn’t a good thing if your content types change a lot.Â With loose control, you have lots of flexibility.Â This can be a bad thing if you have 200 people contributing content using the structures.Â The question of authoring control becomes does DITA out-of-the-box give me the structural control that I want?
The base topic is a pretty loose generic structure.Â A base topic body can contain any assortment ofÂ optional elements like p (paragraph),Â lq (long quote), note,Â dl (definition list), ol or ul (ordered list or unordered list) etc.Â Â That’s a loose structure, because it does not define what must or must not be included and the elements that are provided are pretty generic format tags. A task body can contain a number ofÂ optional elements likeÂ “prereq (pre-requisite), context, ordered or unordered steps, result, example and postreq (post requirement).Â That is structurally more detailed (provides better guidance on what type of information to include), but pretty much everything is still “optional” whichÂ may not be restricted enough for your needs. You can provide writing guidelines to teach writers what they should or should not include or you can specialize DITA to indicate which elements are required. Of course, if the structures that DITA does provide doesn’t cover all the different types of content you need to author, specialization will be a given.
How do I need the tag set to support the publication/transformation process?
With XML, merely capturing content is only half the job.Â You also have to transform it into the real product you are producing, in the right format, with the right formatting.Â Now the question is, will DITA out-of-the-box allow me to apply styling to all of the chunks of content that I need to style?Â Â Â For example, if I have something called benefit in my content, and I want to publish it with a grey background to help it stand out, I can’t apply a p tag in markup.Â I need to be able to apply specific tagging – an element or the combination of element and attribute – that will indicate in production that it’s a benefit. If you need to control your content in this way, then you may need to specialize DITA.
No one can automatically say if you can or cannot use DITA out-of-the box. Only with a good analysis of your content (e.g., content modeling) and determination of how you want to manage the publication of your content, can you make an informed decision. Do your analysis first and the answer is easy.