A little late to the party, but I do have some experience here. > I assume the reference to Docbook, which might indeed capsize > like an overweight freighter, but XML is such a simple and robust > form of structuring documents that it's going to outlast us all.
I’m not going to pronounce Docbook dead, but open-source projects that use it (or Texinfo) have accidentally erected a barrier to entry for people who want to contribute to the documentation. They would be much better served by adopting Lightweight DITA, which can ingest HTML5 and Github-Flavored Markdown alongside DITA XML (and convert any type to any other type). Complain about Markdown all you will, and use weird-arse corner cases to show it’s Bad, but GFM can handle a lot of everyday text. XML is a stripped-down form of SGML. Much of what was stripped involved conveniences for people working directly with the markup. They may as well have stripped entities as well, because I’ve never seen them actually used (most XML-based markup languages have their own methods of defining and using variables). Yes, JSON and CSV (and Markdown, for that matter) are a lot easier to output from an awk script… but for input, there are several decent XML parsers for awk while TSV/CSV/JSON parsers have severe limitations. I had to learn enough Python to deal with a couple of work projects that involved CSV and JSON input. OK, let’s move to *roff for a moment. It can do most of the things that DITA advocates tout: reusable topics, conditionals, variables, insertions, and so forth (you can get a *lot* of mileage out of .so). Most of the -ms macros that come before the first .LP or .NH are considered book metadata in DITA, so metadata is covered. What *roff doesn’t do is produce usable HTML output. Yet. Yeah, XSLT sucks like pure vacuum. All that’s keeping it alive is the lack of a decent open-source (or even reasonably-priced) CSS3 processor. If one becomes available, you’ll see people abandoning XSLT as fast as they can. — Larry