`
cuijiemin
  • 浏览: 263929 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

安装配置Docbook工具

阅读更多

使用Docbook发布文档,需要安装以下的工具:
*DocBook DTD
*DocBook XSL 样式单
*XSLT处理程序
*XSL-FO处理程序

下面详细介绍各个工具的安装。

1.安装DocBook DTD

Docbook DTD可以到OASIS的网站上下载(http://www.oasis-open.org/docbook/xml/),在这里你可以找到zip格式的压缩包。目前的最新版本是4.2。

事实上可以不下载Docbook DTD。如果你的文档DTD声明这样写:

;!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";

根据这样的定义,大部分XML处理器能够从网络上获取DTD。这样做的好处是编辑的Docbook文档移植性好,可以在没有安装Docbook DTD的机器上使用。不过由于Docbook DTD比较庞大,通过网络获取DTD会影响处理速度,在低速网络或者网络比较糟糕的情况下,影响尤为显著。

如果选择使用本地DTD,文档的DTD引用应该这样写:

Linux:
;!DOCTYPE book SYSTEM "/usr/share/docbook-4.2/docbookx.dtd";

Windows:
;!DOCTYPE book SYSTEM "file:///C:/xml/docbook42/docbookx.dtd";

Docbook提供了一种方式,让用户可以使用相同的DTD声明,但可以在使用网络获取DTD和使用本地DTD之间切换,同时拥有两者的优势。这就是catalog文件的作用。典型的catalog的声明如下:

;catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog";
;group id="DocbookDTD" prefer="public";
;system
systemId="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
uri="file:///usr/share/xml/docbook42/docbookx.dtd"/;
;/group;
;/catalog;

这个声明把网络DTD映射到本地DTD。如果使用支持Catalog的XSLT Processor,它首先会查找本地文件,如果本地文件不存在,再查找网络。

2.安装Docbook XSL样式单

http://docbook.sourceforge.net上可以下载到Docbook XSL样式单,目前最新的版本是1.67.2。

解压之后,有几个比较主要的目录:
*common - 包含的是公用的模块,诸如语言之类的文件都在这里。
*extensions - 针对特定的XSLT Processor编写的扩展代码。
*fo - 生成XSL-FO文件所需的XSL样式单。
*html - 生成HTML文件所需的XSL样式单。
*images - 生成文档时所需要的图片。
*doc - 有关XSL样式单的文档,同样是Docbook文档。

其他还有像htmlhelp之类的目录,但不是生成HTML或XSL-FO所必须的。

3.安装XSLT Processor

目前有许多免费的XSLT Processor,最常用的是
*Saxon - 使用Java实现,http://saxon.sourceforge.net/
*Xalan - 有Java和C++版本,http://xml.apache.org/xalan-j/index.html
*xsltproc - 使用C实现,是最快的处理程序,http://xmlsoft.org/XSLT/

因为Saxon和Xalan都有Java版本,所以按照一般的Java程序的安装方式安装即可。下面介绍xsltproc的安装,因为它速度快,是我比较喜欢的处理程序。

如果你使用windows平台,那么你有两个方法可选:

*第一,直接下载为windows平台预编译的版本,可以在
ftp://ftp.zlatkovic.com/libxml/
上找到。你需要下载libxml, libxslt, 和iconv,它们都是zip格式,解压之后,在环境变量PATH中添加xsltproc.exe和.dll文件的路径。

如果你不想编辑环境变量,一个简单的办法是把下面这些文件复制到C:\Windows\System32:
libxslt.dll
libxml2.dll
libexslt.dll
iconv.dll
xsltproc.exe

这样在命令行就可以直接找到这些文件了。完成之后,运行
xsltproc -version
打印出版本号则表明完成安装。

*第二,在Cygwin下安装,这是我选择使用的方式。Cygwin是一个在Windows下模拟Linux Shell的应用程序。如果你喜欢以Linux命令的方式来使用xsltproc,可以到
http://www.cygwin.com/
下载Cygwin安装程序。Cygwin的是通过网络安装的,首先你从它提供的包列表中选择libxslt,然后安装程序会根据依赖关系自动选择libxml2,确定之后,安装程序下载并安装xsltproc。完成安装之后,你就可以运行
xsltproc -version
来检查是否安装成功。

*第三,如果使用Linux,很有可能系统已经安装了xsltproc。运行
xsltproc -version
检查一下是否已经安装。如果运行命令失败,或者版本太老,那么访问下面两个URL获取最新的RPM包:
http://rpmfind.net/linux/rpm2html/search.php?query=libxml2
http://rpmfind.net/linux/rpm2html/search.php?query=libxslt

然后切换到root权限,安装新的包:
rpm -Uv libxml2-2.6.17-2.i386.rpm
rpm -Uv libxslt-1.1.12-4.i386.rpm

完成之后,就可以运行
xsltproc -version
检查安装是否完成。

安装之后,就可以使用xsltproc来生成HTML或者XSL-FO文件。

譬如,下面是根据Docbook文档生成HTML的例子:
xsltproc --output myfile.html docbook-xsl/html/docbook.xsl myfile.xml

或者根据docbook文档生成XSL-FO文档的例子:
xsltproc --output myfile.fo docbook-xsl/fo/docbook.xsl myfile.xml

http://xmlsoft.org/XSLT/xsltproc2.html上列出了所有xsltproc的命令行参数,或者直接运行
xsltproc也会打印出参数列表。

如果你只要发布HTML文档,那么到此为止。如果你还想发布PDF或是PS文档,那么需要安装XSL-FO处理程序。

4. 安装XSL-FO处理程序

XSL-FO处理程序根据XSLT处理程序生成的XSL-FO文件生成PDF或者PS文件。目前可供选择的XSL-FO处理程序远不如XSLT处理程序那么多,这是因为:
a. XSL-FO标准比XSLT标准的制订晚两年;
b.XSL-FO标准及其庞大而复杂,该标准的作者也发现其实现上的难度,从而将该标准分为基本、扩展和完整三个级别。

现在可用的免费的XSL-FO处理程序有:

*FOP - 来自Apache XML项目(http://xml.apache.org/fop/)。目前最新的版本是0.20.5,还在开发当中,还有很多特性不支持,不过已经可以满足一般的使用。

*PassiveTeX - 来自Sebastian Rahtz (http://www.tei-c.org.uk/Software/passivetex/)一款基于TeX的XSL-FO处理程序。同样也在开发中,较FOP要复杂的多。

另外有一些商业产品可供选择,可能生成的文档质量要比开源代码好,譬如:

*XEP(http://www.renderx.com)

*XSL Formatter(http://www.antennahouse.com)

下面介绍如何安装FOP。

4.1.首先需要安装JDK,这个不必多说。

4.2. 到http://www.apache.org/dyn/closer.cgi/xml/fop/下载FOP,可以选择tar或者zip压缩包。下载之后解压到本地。

4.3. 下载图形代码库。FOP自己不支持PNG之类的图片,如果在你的文档里会涉及到图片,那么需要下载额外的代码库。可以选择JAI(http://java.sun.com/products/java-media/jai/current.html),或者Jimi(http://java.sun.com/products/jimi/)。0.20.5之前的版本只能使用Jimi。下载之后,将jai_core.jar和jai_codec.jar(JAI),或者JimiProClasses.jar(Jimi)复制到FOP安装目录的lib目录下,然后在fop.bat(Windows平台)中添加

set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_core.jar
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\jai_codec.jar
或是
set LOCALCLASSPATH=%LOCALCLASSPATH%;%LIBDIR%\JimiProClasses.zip

如果使用fop.sh(Linux平台),会自动搜索。

4.4. 添加扩展代码。如果Docbook XSL样式单有针对FOP的扩展代码(目前没有),像上面一样把它们添加到FOP安装目录下lib目录。

现在就可以使用FOP来生成PDF文档了。FOP提供两个脚本fop.bat(Windows平台)和fop.sh(Unix和Linux平台)以方便使用。生成PDF的命令行如下:
Linux或Unix:
fop.sh -xsl /docbook-xsl/fo/docbook.xsl -xml myfile.xml -pdf myfile.pdf

Windows:
fop.bat -xsl /docbook-xsl/fo/docbook.xsl -xml myfile.xml -pdf myfile.pdf

在处理过程中,可能会提示某些属性不支持或尚未实现,不用理会这些提示,因为FOP仍处于开发中,这并不影响生成PDF文档。

到此,一个Docbook发布系统配置完成,并可以用来发布文档了。你完全可以在Linux上编写任务,通过该系统自动发布技术文档。

参考文章:
Docbook简介:http://blog.csdn.net/mickeyrat/archive/2005/02/04/281050.aspx
DocBook XSL: The Complete Guide:http://www.sagehill.net/docbookxsl/index.html

分享到:
评论

相关推荐

    windows下配置docbook

    3. **安装 Docbook XSL 样式表**:这是实现 Docbook 文档转换的核心工具,可以在官方网站上获取。解压下载的文件,并将解压后的目录路径加入到系统 PATH 环境变量中。 4. **安装 XML 编辑器**:推荐使用 Oxygen XML...

    使用DocBook

    这个文件可能是Windows环境下配置DocBook环境的指南,可能涵盖了安装XML工具链、配置环境变量、设置批处理脚本等内容,以简化DocBook工作流程。 在实际应用中,学习并熟练使用DocBook需要理解XML的基本原理,熟悉...

    DocBook学习笔记

    ### DocBook知识点详解 #### 一、DocBook概述 ...通过合理的安装配置和细致的写作指导,用户可以轻松地利用DocBook创建高质量的技术文档,并实现多种格式的输出。随着技术的发展,DocBook的应用场景也将越来越广泛。

    docbook-style-xsl.zip

    1. 首先,需要解压“docbook-style-xsl.zip”并安装RPM包,以确保系统中有正确的XSL转换工具。 2. 使用DocBook XML格式编写或获取mosquitto的文档源文件。 3. 应用DocBook XSL样式表对源文件进行转换,生成HTML、PDF...

    DocBook的使用指南(English Version)

    - **获取工具包**:要开始使用DocBook,首先需要安装必要的工具包。这通常包括XML解析器、XSLT处理器、以及用于生成最终输出格式的工具,如**docbook2xxx utils**、**FOP**等。 - **输入XML文件示例**:了解如何...

    docbook使用心得

    这些工具的使用方法和配置可能在博文中有所介绍。 3. **版本控制**:由于 DocBook 文档是纯文本,可以方便地纳入版本控制系统(如 Git),便于多人协作和历史版本管理。 4. **自动化**:通过 XSLT(可扩展样式表...

    Docbook开发手记 v1.2

    - **下载并配置Docbook XSL样式表**:访问官方文档获取最新的样式表文件,并按照文档指示进行配置。 - **创建第一个Docbook文档**:编写一个简单的XML文件,包含基本的Docbook元素,如`<article>`、`<section>`等...

    docbook-ant-tools-guide

    **Docbook-Ant-Tools** 是一套旨在简化从 DocBook XML 源码生成文档过程的工具集。它解决了中文环境下使用 DocBook 的诸多痛点,使得用户能够更专注于撰写文档本身而非纠结于繁琐的技术细节。 #### 二、基础知识 - ...

    docbook向导书

    **XMLmind XML Editor** 是一款专为处理 XML 文件设计的强大编辑器,它支持多种 XML 语言,如 DocBook、DITA 等,并提供了一系列高效的功能来帮助用户创建、编辑和管理 XML 文档。 ##### 1.1 安装要求 在安装 ...

    docbook5 测试文件1.pdf

    通过搭建DocBook 5环境并创建测试文件,不仅可以验证环境配置的正确性,还可以熟悉DocBook的文档结构和语法,为进一步创建高质量的技术文档打下坚实的基础。随着对DocBook的深入了解和实践,用户可以更好地利用其...

    docbook英文版

    - **第3章**:提供了详细的步骤指导,帮助读者安装DocBook DTD、验证工具、XSLT/XSL-FO处理器以及创建Makefiles等。 - **第4章**:重点介绍了DocBook 5版本的新特性及其工具链,包括命名空间、模式验证、链接机制...

    Python库 | docbook2sla-0.0.6.tar.gz

    2. **setup.py**:这是Python项目的配置脚本,用于安装和打包库。 3. **LICENSE**:库的授权协议,规定了如何使用和分发该库的代码。 4. **src** 或 **lib** 目录:存放Python源代码的地方,包括docbook2sla的主要...

    KVM 安装配置和常见操作.docx

    接着,安装KVM及关联软件包,例如`yum install -y qemu-kvm libvirt virt-install bridge-utils docbook-utils.noarch virt-viewer`等。 ### 2. 禁用网络管理器 由于KVM使用桥接网络,与NetworkManager可能存在冲突...

    KVM 安装配置和常见操作 (2).pdf

    《KVM安装配置与常见操作详解》 KVM(Kernel-based Virtual Machine),即基于内核的虚拟机,是Linux环境下的一种开源虚拟化技术,它允许在单一的Linux操作系统上运行多个独立的虚拟机。KVM的安装和配置是使用虚拟...

    dbcookbook:DocBook和DocBook XSL样式表的食谱

    4. **教程和指南**:详细介绍如何使用DocBook和XSLT进行文档处理,包括安装、配置和调试过程。 5. **源码和配置文件**:如果这个项目是开源的,那么可能会包含项目的源代码,以及构建和测试系统的配置文件。 学习和...

    DocBook-开源

    5. 文档和示例:说明如何使用这些样式表,以及可能的配置选项。 DocBook的开源性质使得它在技术文档领域有着广泛的应用,特别是在开源软件项目中,因为这些项目往往需要清晰、一致且可跨平台发布的文档。开发者可以...

    docbook-utils

    3. **文档**:使用指南、API 文档或 README 文件,解释如何安装、配置和使用 docbook-utils。 4. **测试**:测试用例,确保工具的功能正确性和稳定性。 5. **依赖**:可能列出需要的外部库或工具,以及安装和配置...

    KVM 安装配置和常见操作 (2).docx

    **KVM 安装配置与常见操作** KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它允许Linux操作系统成为一个虚拟化平台。在这个文档中,我们将详细讲解如何在Linux环境中安装KVM,配置桥接网络,以及...

    DocBook ToolKit-开源

    3. **环境配置**:安装脚本会自动配置好所有必要的环境变量和路径,以便于用户直接使用DocBook Toolkit命令行工具进行文档处理。 在实际使用中,用户可以通过命令行调用DocBook Toolkit提供的工具,例如`db2x_...

    ant4docbook:ANT4DOCBOOK是DOCBOOK的ANT任务-开源

    ANT4DOCBOOK是一款基于Apache Ant构建工具的扩展,专门用于处理DOCBOOK文档的工具集。Ant是一个用Java编写的开源构建工具,它允许开发者通过XML脚本来定义构建过程,包括编译、打包、测试等任务。ANT4DOCBOOK将Ant的...

Global site tag (gtag.js) - Google Analytics