以下工具用于处理文档。其中一些可能是可选的,具体见说明。
这是 DocBook 自身的定义。我们当前使用 4.5 版;不能使用更高或更低的版本。 你需要的是 DocBook DTD 的XML变体,而不是 SGML变体。
它们包含将 DocBook 源文件转换成其他格式(例如 HTML)的处理指令。
当前要求的最低版本是 1.77.0,但建议使用最新可用版本以获得最佳效果。
xmllint这个库及其所含的xmllint工具用于处理 XML。许多开发者可能已经安装了 Libxml2,因为构建 PostgreSQL 代码时也会用到它。不过请注意, xmllint可能需要通过单独的子包安装。
xsltprocxsltproc是一个 XSLT 处理器,也就是使用 XSLT 样式表把 XML 转换成其他格式的程序。
这是一个可将 XML 转换成 PDF 等格式的程序。只有在你希望构建 PDF 格式文档时才需要它。
我们已经记录了多种安装处理文档所需工具的方法,下面将加以介绍。 这些工具也可能还有其他打包发行形式。请将软件包状态报告到文档邮件列表, 我们会把这些信息补充到这里。
要安装所需软件包,请使用:
yum install docbook-dtds docbook-style-xsl libxslt fop
要安装所需软件包,可以使用pkg,命令如下:
pkg install docbook-xml docbook-xsl libxslt fop
从doc目录构建文档时,你需要使用gmake, 因为所提供的 makefile 不适用于 FreeBSD 的make。
完整的文档工具软件包也适用于Debian GNU/Linux。只需使用以下命令即可安装:
apt-get install docbook-xml docbook-xsl libxml2-utils xsltproc fop
如果使用 MacPorts,以下命令即可完成配置:
sudo port install docbook-xml docbook-xsl-nons libxslt fop
如果使用 Homebrew,请运行:
brew install docbook docbook-xsl libxslt fop
Homebrew 提供的程序要求设置下列环境变量。对于基于 Intel 的机器,请使用:
export XML_CATALOG_FILES=/usr/local/etc/xml/catalog
对于基于 Apple Silicon 的机器,请使用:
export XML_CATALOG_FILES=/opt/homebrew/etc/xml/catalog
否则,xsltproc会抛出如下错误:
I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd postgres.sgml:21: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" ...
虽然可以使用 Apple 提供的xmllint和xsltproc, 而不使用 MacPorts 或 Homebrew 提供的版本,但你仍然需要安装 DocBook DTD 和样式表, 并设置一个指向它们的 catalog 文件。
configure检测 #在构建文档之前,需要运行configure脚本,就像构建PostgreSQL程序本身时一样。检查运行结束附近的输出,应当类似于:
checking for xmllint... xmllint checking for xsltproc... xsltproc checking for fop... fop checking for dbtoepub... dbtoepub
如果找不到xmllint或xsltproc,就无法构建任何文档。fop仅在构建 PDF 格式文档时才需要。dbtoepub仅在构建 EPUB 格式文档时才需要。
如有必要,你可以告诉configure到哪里查找这些程序,例如:
./configure ... XMLLINT=/opt/local/bin/xmllint ...