DITA 与 DOCBOOK 对比

DITA和DocBook是数字出版领域的两种标准,通过定义规范化的文档描述规则,来解决文档交付过程中遇到的问题。面向不同类型的交付出版物,DITA和DocBook各有见长,但在实际应用中也有自身的限制因素。结合近期我参与的项目实践,对两个标准的对比分析总结如下。

DITA解决了出版物的结构化描述和内容重组问题,且支持多语言版本制作,适用于对格式有严格限定的技术手册类出版物。但DITA不能实现很完美的 样式渲染,且对于内容与格式一体化的复杂出版物,DITA很难进行主题和界定与划分。所以使用DITA进行书籍出版的成本和难度较高。

相比较来说,DocBook适用于通用出版物,文档易于组织和排版。但DocBook内容以Section段落组织,不具备DITA的内容映射机制,无法做到类似Topic这样粒度的内容划分与重组。且对于内容需要频繁修改的文档排版,Docbook略显力不从心。 DITA和DocBook专注于交付技术信息,但DITA侧重于交付主题,而DocBook侧重于交付书籍。DITA提供基于主题级粒度的信息分 类,允许作者组织并描述特定信息领域。在生成多种文档格式的信息重用过程中,能够保持内容的高度一致性。在最终交付物的输出格式方面,DITA能够生成 PDF、CHM、HTML等大部分的出版交付类型。DocBook常用的交付格式为PDF和HTML,其他输出格式需要借助相关的功能插件。

最近在整理历史的研究文档的时候发现了还保有了一些有关 DITA 的文档。

随着技术的发展,DITA 显得非常臃肿了,并且编译处理并不是非常友好。

查询了下官方的版本历史:

dita-01

已经有差不多 2 年没有更新了,由此看来 DITA 作为文档交付应该已经是日薄西山了。应该没有什么人通过写 XML 的方式来写文档了。

相反,MD 和 AsciiDoc 格式的文档却大行其道。

其主要原因是能够随意部署,并且文档结构少,约束少,更加容易写作和阅读。

作为文档来说,内容是最主要的,格式相对来说没有那么重要,如果有漂亮的格式,但是内容一团糟,又怎么会有人去看和使用呢。

回想一下曾经用过的 DITA,编译太复杂,PDF 生成问题太多,CHM 格式的文档很多时候大家都不愿意用,更多的都在使用 Github 上来写 MD 格式。

DITA 已死,就此留念。

超级复杂的文档格式。

因为是基于 XML 的,每一个段落的创作都非常复杂,你还需要考虑复杂的 XML 标签。让写作不是一种享受,简直是一种折磨。

相对 MD 格式就让人舒服多了,你只需要关注一些常用的标记,其他的都是以内容为主。

比如说 Discourse 这个社区使用的 MD 格式就非常简单,能够让所有人更多的关注内容而不是标记。

不管怎么样, DITA 也代表了人类文明出版中的小缩影。