DocBook 是基于 XML 的语义化文档标准,用结构化标签描述内容含义而非外观,实现内容与格式分离,支持多格式输出、模块化协作及专业级技术文档管理。

DocBook 是一种语义化 XML 文档标准
DocBook 不是编辑器,也不是排版工具,而是一套基于 XML 的文档结构规范。它用严格定义的标签(如 code 样式、PDF 中的等宽字体,甚至自动生成索引或交叉引用。
核心优势在于内容与格式彻底分离
作者写作时只关注逻辑结构:哪里是章节、哪段是命令行、哪个词是 API 名。样式、页眉页脚、目录生成、超链接解析、页码插入等全部由 XSLT 样式表在转换阶段统一处理。这意味着:
- 同一份 DocBook 源文件可输出为 HTML、PDF(通过 FO)、EPUB、Man 页面、JavaHelp 或 Texinfo
- 修改字体或纸张尺寸只需调整 XSLT,无需改动源文档
- 中文 PDF 渲染虽需额外配置(如指定支持中文字体的 FOP 配置),但结构本身完全兼容
文档结构有明确约束和扩展机制
每个 DocBook 文档必须有一个根元素(如
- 外部解析实体:在 DTD 声明中用 引入章节文件,再用 &chap1; 插入;被引用文件不能含 XML 声明
-
XInclude:更现代的方式,直接在文档中写
(需声明命名空间),无 DTD 依赖,更易维护
它不是“过时技术”,而是专业文档的事实标准
虽然学习曲线比 Markdown 稍陡,但 DocBook 在开源项目(如 GNOME、KDE)、Linux 内核文档、Red Hat 官方手册及大量企业级 SDK 文档中仍在广泛使用。原因很实在:
- 语义丰富:能精确区分
、 、 等十几类程序元素 - 链接智能:用 指向带 id 的节,XSLT 自动转成 HTML 锚点或 PDF 页码
- 可验证性强:配合 DTD 或 Relax NG Schema,编辑器可实时提示结构错误










