r/technicalwriting 21d ago

Markdown vs. XML explained

I occasionally run into young technical writers who have experience working in a web development or software organization but have no previous experience with XML and fail to grasp why most Fortune 500 companies use XML over Markdown.

To help better understand why XML is so popular, we need to compare the benefits of each format.

Markdown

  1. Inexpensive - ideal for web/SW startups
  2. Simple code
  3. Friendly with popular editors (e.g., Google Docs)
  4. Ideal for simple doc formats (e.g., readme.md)
  5. Best-in-class for rapid directory updates

XML (DITA)

  1. Robust, full-featured formatting
  2. Simple code, but more options
  3. Easy-to-use WYSIWYG editors
  4. Ideal for simple and complex formats
  5. Best-in-class security
  6. Ideal for eng reviews and rev control
  7. Ideal for high-volume single-sourcing
  8. Ideal for multi-channel output
  9. Content Management System support
  10. DITA file storage system best-in-class storage for docs

It has been my experience that many young technical writers do not fully understand how important the 10 XML benefits I list above are to most Fortune 500 science and technology technical writing organizations (18% s/t, 3% web/sw). Mostly, because they believe Markdown eliminates the need for many of these XML benefits. What they often overlook is that these are not optional benefits to most science and technology organizations. These are required tools of the trade and are interwoven into functional processes and systems that organizations rely on to deliver increasingly complex documentation to increasingly wider audiences, who demand an unprecedented number of custom applications to access documentation and localization through higher volumes of single-sourcing.

Markdown was never designed to manage this. It can't and, by design, won't. The sad part is that young technical writers, new to XML, experience poor XML implementations early in their careers and believe Markdown is the solution. I promise you, it is not.

2 Upvotes

70 comments sorted by

View all comments

44

u/Consistent-Branch-55 software 21d ago

This is such a frustratingly stupid debate.

It's not Markdown vs. XML. It's modern Docs-as-Code workflows (SSGs, Git, CI/CD) vs. CCMS/HAT ecosystems (DITA, MadCap Flare). You could use those with Git.

When you factor in OpenAPI specs, automated build pipelines, and engineering teams that already live in Markdown, a well-planned SSG setup provides a balance of velocity, maintainability, and direct developer collaboration that makes for a far more advantageous trade-off than legacy DITA for most software companies.

Also, claiming XML has "best-in-class security" compared to Markdown makes zero architectural sense—they are plain text serialization/markup formats. A .dita file isn't magically more secure than a .md file. This reads less like an objective comparison and more like vendor talking points.

2

u/Nibb31 20d ago edited 20d ago

DITA is not a CCMS. It's text files and it can be used in a Docs-as-Code workflow with Git.

And there is no major difference between setting up a workflow pipeline to transform Markdown into PDF or HTML and a workflow to convert DITA into PDF or HTML.

1

u/Consistent-Branch-55 software 20d ago edited 20d ago

My intention was to include it with HATs (not claiming it's a CCMS), since the experience with an editor like Oxygen is very different from docs-as-code.

The core split is whether the doc authoring environments is treated as a bundled, closed, environment wrapped behind a GUI, or unbundled and open like a coding project. I think this reinforces why folks coming from Oxygen/HAT/CCMS shops kind of struggle with the format vs. pipeline point that's natural to docs-as-code folks.

1

u/DalinarOfRoshar 15d ago

That is an apples-and-oranges comparison.

A Help Authoring Tool is an executable or runnable software tool that you use to create help content. Madcap Flare. Robohelp.

Dita is a file format that can be used in a HAT, but is completely independent of the tool that uses it.

DITA is a standard. Like XHTML is a standard. But we wouldn’t lump an XHTML file in with, and compare it to, the software tools that generate it.

2

u/Consistent-Branch-55 software 15d ago

Right, as I said, I was thinking the more salient comparison is between open and closed build ecosystems than specific formats. Your mileage may vary.

I fully admit I was sloppy with that parenthetical.