当前位置: 首页 > 工具软件 > DocBook > 使用案例 >

Docbook实现文本格式之间的转换

曾涵育
2023-12-01
Docbook提供了整个书写结构化文档的体系,它使用SGML/XML定义了一系列文档元素,并可以利用工具把原始的文档源文件转换成各种文档 格式。它最适合用来书写计算机文档、论文。很多开源软件项目都使用Docbook来写自己的文档。在我看来,使用Docbook写文档的好处有以下几点:

* 内容与格式分离

我们用Word写文档时,除了书写文档内容之外,还要经常对文档的样式进行排版。我们都知道,排版很是费时费力,还经常容易出错。

而使用Docbook书写文档,你只需要专注于文档的内容。文章的内容和格式是分离的。Docbook定义了诸如章节 (chapter)、段落 (para)、表格(table)这些文档元素,但如何显示这些元素,则由样式表(XSL)来控制,你不必在文档中嵌入排版信 息。

这也意味着,你不能用”所见即所得”的方式来编辑你的文档了。不过,你很快就会喜欢上内容和格式分离的,因为这不仅节省了排版的时间、也使文档样式更为统一。另外,使用程序自动处理文档也变得更加容易了。
* 多种文件格式输出

使用Docbook书写文档,你只需要书写文档一次,就能够以多种文件格式输出。有很多免费的工具可以将Docbook文档转换成HTML、PDF,以及其它各种文件格式。
* 便于版本管理

这也是我选择Docbook的主要原因之一。因为Docbook的文档源文件是文本文件,因此可以方便的使用cvs, subversion, git等版本管理工具进行版本管理。

在多人协作编写文档时,如果没有版本管理的功能,你很难知道别人对文档做了哪些修改,更别说回溯文档的历史。在公司里,一般可以通过 约定规则的方法来控制冲突,即事先约定好,你只允许改哪几章,他只能改哪几章。但对开源世界的”大集市”开发模式来说,无法通过约定的方法来避免冲突,因 此对文档的版本管理就显得非常重要。这就是为什么很多开源项目的文档都使用Docbook的原因。
* 方便阅读

阅读word文档,需要你安装了Macrosoft Word;阅读PDF文档,需要安装PDF阅读器。设想十年以后,当Word不 再维护,而你又需要阅读一个十年前使用Word写就的文档,会怎么样?是的,你读不了,因为Word文档是二进制格式的,你必须使用特殊的程序才能阅读、 编辑。

但Docbook文档就不同了,你只要使用一个再普通不过的文本编辑器,就可以阅读、编辑Docbook的文档,因为它只是一个普通的文本文件。
* 多平台支持

在Windows上你可以使用Word来察看、编辑文档(不管用的是正版,或是盗版),但在Linux下怎么看Word文档呢?谢天谢地,现在有了Open Office。在以前,Linux下是无法察看Word文档的,因为它是一个二进制文件。

Docbook是文本文档,因此,无论你是在windows下还是Linux下,都可以阅读、书写文档。而Docbook的转换工具大多由Java编写,也支持跨平台运行。这样一来,你可以在多种操作系统平台下使用统一的方式来管理你的文档了。
* 多语言支持

Docbook使用UTF-8字符集,因此,在文档中可以使用多国语言的字符集。这对国际化合作的项目来说很重要。

几个相关的资源
http://blog.donews.com/limodou/archive/2004/04/01/9917.aspx
http://www.study-area.org/tips/docw/docwrite.html
http://blog.zdnet.com.cn/html/30/422230-2881256.html
http://www.ibm.com/developerworks/cn/xml/x-fop/index.html

直接由现有html转word不大现实,因为html中有很多混杂的内容,并不能简单的就可以转为其他格式
较好的应该是输出一个中间格式,能够清楚的表达文档内容,然后用此格式往其它格式转换。


docbook输出其他格式的工具
http://wiki.docbook.org/topic/DocBookPublishingTools
 类似资料: