分享
 
 
 

安装和使用SGMLtools-Lite打开DocBook的钥匙

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

Joe "Zonker" Brockmeier

自由作家

2000 年 10 月

内容:

从源码进行安装

从 RPM 进行安装

安装疑难解答

产生 HTML 输出

产生 PostScript 输出

产生 RTF 输出

产生纯文本输出

将 linuxdoc 转换成 DocBook

参考资料

关于作者

开始将 DocBook 用于文档项目的读者需要一些使用 SGMLtools-Lite 产生有用输出的指南。本文将介绍 SGMLtools-Lite 的安装和使用。您还可以获得有关疑难解答和为联机以及打印媒体定制输出的技巧。

在我 上一篇有关 DocBook 的文章中,曾介绍过将 DocBook 标记用于文档项目的一些基本知识。然而,以 DocBook 标记文档只是过程的一半。有时候,您可能希望与其它人共享文档,这意味着需要将 DocBook 转换成另一种格式。该过程的第二步是让文档文件通过语法分析器后输出可读的文件格式,例如 HTML、PostScript 或 RTF。本文将指导您使用 SGMLtools-Lite 软件包来达到这一步。

SGMLtools-Lite 是 SGML 处理软件的 Python 前端。基本上,SGMLtools-Lite 简化了将 DocBook 文档转换成希望分发的一种或几种格式的过程。

如果您是 linux 用户,那么根据您使用的发行版和在安装期间选择的选项,可能系统上已安装了原始 SGMLtools 包。不过,原始 SGMLtools 项目没有维持多长时间,SGMLtools-Lite 项目成了该项目的接任者。

SGMLtools-Lite 的安装

SGMLtools-Lite 项目在 Sourceforge 上托管(请参阅本文稍后部分的参考资料)。根据您的需要,可以从那里下载 RPM 或 tar-gzip 压缩的源码。RPM 是针对 Red Hat 6.2 构建的,它也曾在 SuSE linux 上测试过。它们可能不能在其它发行版中正确工作,所以请小心使用。

安装 SGMLtools-Lite 之前

不幸的是,SGMLtools-Lite 没有包括您需要的所有文件。还需要安装其它三个包 - SGML ISO 实体声明以及 DocBook DTD 和 DSSSL 样式表。大多数发行版都具有带有这些文件的包;有关链接,请参阅参考资料。

从源码进行安装

要从源码安装 SGMLtools-Lite,将 sgmltools-lite-3.0.0.tar.gz 文件复制到一个空的目录中,在那里展开它,然后将目录更改到新的 sgmltools-lite-3.0.0 目录:

tar -zxvf sgmltools-lite-3.0.0.tar.gz

cd sgmltools-lite-3.0.0/

在执行任何其它操作之前,检查 sgmltools-lite-3.0.0 目录中是否有 "config.cache" 文件。如果有,在运行配置之前将它除去。如果文件在配置 make 时出现,可能会导致问题。

rm config.cache

../configure

make

make install

到目前为止应该就是这些。要查看是否安装了 SGMLtools-Lite,运行以下命令:

sgmltools --help

如果已正确安装和配置了 SGMLtools-Lite,您应该看到以下消息:

SGMLtools version 3.0.0

Usage:

sgmltools [OPTION...] [INPUT-FILE...]

Convert SGML files into various output formats.

Options:

-v --verbose Print verbose output

-d --debug Do not remove temporary files

-b: --backend= Backend to use

-j: --jade-opt= Options passed on to jade

-s: --dsssl-spec= DSSSL spec to use

-V --version Print version number and exit

-h --help Print usage and exit

-l --license Print license information

For help on a specific backend, use "--backend xyz --help".

从 RPM 进行安装

如果使用的是基于 RPM 的系统,可以使用 RPM 来安装 SGMLtools-Lite。需要下载最新的 sgmltools-lite 包和支持文件。下载了这两个 RPM 后,继续使用 -i 选项安装它们。您还是可以通过运行 sgmltools -- help 命令来测试安装,确保每个部分都安装成功。

安装疑难解答

要使 SGMLtools-Lite 能正确工作,您可能需要做的一件事就是设置 SGML_CATALOG_FILES 环境变量,以使 SGMLtools-Lite 知道在什么地方查找目录文件。可以通过手工发出设置正确环境变量的命令来做到。在我的系统上使用的就是这种方法(是的,输入工作可能有些繁重)。

export SGML_CATALOG_FILES=/usr/local/share/sgml/stylesheets/docbook/catalog:

/usr/local/share/sgml/entities/iso-entities-8879.1986/iso-entities.cat:

/usr/local/share/sgml/dtd/jade/dsssl.cat:

/usr/local/share/sgml/stylesheets/sgmltools/sgmltools.cat:

/usr/local/share/sgml/dtd/sgmltools/catalog:

/usr/local/share/sgml/dtd/docbook/3.1/docbook.cat

要避免在每次登录时都不得不执行这一步,您可能需要继续设置 .bash_profile 中的 SGML_CATALOG_FILES 环境变量。请注意,如果在一个 x-term 中设置环境变量,可能无法扩大到其它 x-term,因此如果收到错误,需要通过检查来确保正确设置环境。

使用 SGMLtools-Lite 产生输出文件

一旦安装了 SGMLtools-Lite,使用起来就相当简单。SGMLtools-Lite 主要用来从 DocBook 文件中产生 HTML、PostScript、RTF 或纯文本文件。还可以使用 SGMLtools 来将 linuxdoc 文件转换成 DocBook 格式。

产生 HTML 文件

以下是如何使用 SGMLtools-Lite 来产生 HTML 输出的方法。如果所产生的文档带有图像,则需要引用不带有文件扩展名的图像名。例如,不是这样引用:

<screenshot>

<graphic fileref="..../misc/datebook1.gif"><graphic>

<screenshot>

而希望这样使用:

<screenshot>

<graphic fileref="..../misc/datebook1"><graphic>

<screenshot>

在处理 DocBook 文件时,如果产生的是 HTML 文件,SGMLtools-Lite 需要的是 gif,如果产生的是 PostScript 文件,需要的是 EPS 文件。在产生 HTML 时,SGMLtools-Lite 自动附加 .gif 扩展名,因此 HTML 文档可以正确使用。

要从名为 book.sgml 的 DocBook 文件中产生 HTML 输出,输入以下命令:

sgmltools -b html book.sgml

"-b" (后端)参数告诉 SGMLtools-Lite 产生 HTML 输出。

这将创建一个名为 "book" 的目录,并且 HTML 文件在其中。如果您的 DocBook 文档调用其它文件,SGMLtools-Lite 也将处理它们,并自动创建索引和“页面”之间的导航。

由 SGMLtools-Lite 产生的 HTML 标记过于花俏。在把文件上载到服务器之前,您需要对它们运行 "HTML Tidy" (请参阅参考资料)。HTML Tidy 不仅可以整理代码,它还会用 CSS 规则替换例如 <font> 和 <center> 这样的显示标记。

产生 PostScript 文件

要产生 PostScript 输出,使用以下命令:

sgmltools -b ps book.sgml

由 SGMLtools-Lite 产生的 PostScript 输出看上去很专业,适合于许多文档的使用,例如软件手册或公司报告;通常情况下,会使用排版程序来产生这些文档。SGMLtools-Lite 甚至还可以直接产生封面和目录表。

产生 RTF 文件

如果需要与使用 Word 的人共享文档,则需要输出多文本格式 (Rich Text Format),或 RTF 格式的文件。如果使用 SGMLtools-Lite,这一过程和产生任何其它输出类型的过程一样简单:

sgmltools -b rtf book.sgml

不幸的是,据我所知,Microsoft Word 没有导出到 DocBook 的选项。

产生纯文本文件

最后,如果需要,可以用 DocBook 创建纯文本文件。要使用 SGMLtools-Lite 产生纯文本,使用 "-b txt" 参数。

将 linuxdoc 转换成 DocBook

在某些情况下,也许要负责维护 linuxdoc 格式的文档。可能您所在公司是使用 Linuxdoc 来编写文档的,也可能您碰巧遇到一些以 Linuxdoc 编写的旧文档。幸运的是,SGMLtools-Lite 的一个特性是能够将文档从 Linuxdoc DTD 转换成 DocBook DTD。

要将名为 Howto.sgml 的 linuxdoc 文件转换成 DocBook 格式,使用以下命令:

sgmltools -b ld2db Howto.sgml

这将从 linuxdoc 文件中创建 DocBook SGML 文件。然后,可以使用新的 DocBook 文件来产生其它各种类型的文件。SGMLtools-Lite 不能从 Linuxdoc 文件中产生除 DocBook 以外的输出。

以上是 SGMLtools-Lite 安装和使用的简要概述。使用 DocBook 进行的出版工作可能非常复杂,但您现在应该已经具备了一些起步阶段所需的基本知识。

参考资料

* 请访问 DocBook.org,这是官方 DocBook 站点。

* 请参阅 RPM 格式的 SGML ISO 实体声明。

* 请参考 DocBook DTD RPM。

* 仔细查看 DocBook DSSSL 样式表 RPM。

* linux 文档项目包含了许多以 DocBook 编写的文档。LDP Author Guide 有一些 DocBook 入门方面的技巧。

* 从 SGML-tools Lite 上下载源码或 RPM,然后按照指令安装它们。该站点有许多将 DocBook 文档转换成 HTML、PDF、PostScript、RTF 或纯文本时所需的工具。

* 可以在 OASIS DocBook 页面上找到 DocBook 技术委员会主页。

* 有关开始使用 SGML DTD 的帮助,请参阅 SGML 资源 W3C 概述。

* 有关详细信息,请参阅常规 SGML/XML 应用,这是 SGML/XML 应用的 OASIS 指南。

* 尝试使用 HTML Tidy 来整理 HTML 输出,并使用 CSS 规则来替换显示标记。

关于作者

Joe "Zonker" Brockmeier 是 linux 杂志的撰稿编辑,为 Prima Publishing 著有 Install, Configure and Customize Slackware Linux 一书。他的第二本书是 DocBook Publishing,将由 Prima 于 2001 年初出版。Joe 欢迎您提出有关今后 DocBook 文章的问题、建议或意见,可以通过 jbrockmeier@earthlink.net 与他联系。

您对这篇文章的看法如何?

真棒! 好文章 一般,尚可 需提高 太差!

意见?

(c) Copyright IBM Corp. 2001, (c) Copyright IBM China 2001, All Right Reserved

隐私 法律 联系

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有