DocBook文件转换环境设定
发表于:2007-07-01来源:作者:点击数:
标签:
前言 在撰写一份文件的时候,除了文件的架构和内容之外,常常要分 心去处理排版工作,如调整字体的大
前言
在撰写一份文件的时候,除了文件的架构和内容之外,常常要分 心去处理排版工作,如调整字体的大小、行距、段落缩排、版面大
小等。如果文件要以许多不同格式出版时(如HTML、PDF、Postscript 等格式),还要依据该格式的呈现方式做一番修改。这些额外的修
改工作,往往使撰写文件成为一件 旷日费时的工作。
DocBook是一套由Norman Walsh所发展的技术文件撰写环境,其中 包含了一组XML D
TD定义,用来规范文件的结构,以及一组XSL
stylesheet文件格式转换的stylesheet。Docbook提供了一个撰写结 构化文件的环境,编辑文件时只要考虑文件的结构与内容,而不必
理会文件呈现的版面与文字编排。只有当文件要出版时,才套用 DocBook所提供的stylesheet,将文件转换成各式各样的出版格式,
例如HTML、PDF、PostScript等。文件转换之后的格式与排版方式, 完全视所套用的stylesheet而定。一个完整的文件转换环境,除了
要有stylesheet之外,还要安装stylesheet proces
本文将介绍如何在
Linux系统上安装DocBook文件转换环境,包括 stylesheet安装、stylesheet processor安装、stylesheet及
stylesheet processor的中文化等等。目前DocBook所提供的stylesheet 有两种,分别由DSSSL(Document Style Sem
antics and Specification Language)及XSL(eXtensibleStylesheet Language)语言所定义。由于DSSSL部份在中文文件的 转换上尚有困难,故本文只拟说明XSL的部份。在使用上,XSL stylesheet processor被分成两个部份,一为XSLT processor(XSL Transformations processor)--负责将文件转换到form atting objects格式;另一为formatter--负责将formatting objects转换 成可打印格式。本文所使用的XSLT processor及formatter为Apache 计画所发展的xalan 2.2版及FOP 0.20.3版。
设定DocBook文件转换环境大致可以分成:安装DocBook XSL Stylesheet、安装XSLT Processor(XSL Transformations Processor)、
安装Formatter、以及设定中文化环境等步骤,分别说明如下:
安装DocBook XSL Stylesheet
stylesheet决定了文件的输出格式(如:HTML、PDF等)以及呈现 样式(如:字形、字体大小、页面编排等)。DocBook所提供的
stylesheet可以输出HTML、HTMLHELP XHTML、JAVAHELP、Formating Object等格式。其中,Formatting Object格式是转成PDF及其它出
版格式的媒介。
安装DocBook XSL Stylesheet的步骤只要将整个套件下载之后, 解压缩并置放在适当的目录下即可。以docbook XSL Stylesheet
1.48版为例,其安装步骤如下:
1.从sourceforge下载docbook-xsl-1.48.tar.gz:
$ wget http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.48.tar.gz
2.解开档案到适当的目录,假设解开到/usr/share/sgml/docbook:
$ tar zxvf docbook-xsl-1.48.tar.gz -C /usr/share/sgml/docbook
当解开压缩档以后,在您的/usr/share/sgml/docbook路径下会出 现一个docbook-xsl-1.48的目录,该目录即为DocBook XSL Stylesheet
存放的目录,读者亦可自行决定将其置放在其它路径。
安装XSLT Processor(XSL Transformations Processor)
XSLT Processor是XML文件的格式转换器,可以依据XSL stylesheet 的定义将XML文件转换至其它格式。XSLT Processor在转换文件时,
没有预定的格式,完全依据XSL Stylesheet的描述来决定输出的档 案格式及内容编排,在文件转换中扮演一个引擎的角色。目前有许
多的计画在发展XSLT Processor,其中,xalan是Apache计画所发 展的一个XSLT processor,目前有两个分支,一个是由
Java语言实
做出来的;另一个则是C++语言实做出来的。下面就以Java实做的 xalan 2.2版来说明安装程序。
执行xalan必须要有Java执行环境,在安装xalan之前,请先安装 好Java的执行环境。然后依据下列步骤安装xalan:
1.请至http://xml.apache.org网站下载xalan-j 2.2版套件:
$ wget http://xml.apache.org/dist/xalan-j/xalan-j_2_2-bin.tar.gz
2.将xalan-j套件解开:
$ tar zxvf xalan-j_2_2-bin.tar.gz
3.把bin目录下所有以jar为附文件名的档案拷贝到Java的library目录:
$ cp xalan-j_2_2_0/bin/*.jar /usr/
java/jdk1.3.1/lib
安装好xalan之后,就可以做DocBook对HTML的转换了。举例来说, 编辑一个简单的DocBook文件hello.xml,其内容如下:
“http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.d
td”>
Hello world!
存盘之后,就可以做文件转换了。但由于xalan在执行时,必须包 含许多个class path,下指令时不容易记忆,所以最好是写成
shell script。下列为执行xalan的shell script例子:
#!/bin/sh
# JAVA interpreter 的安装路径
JAVA=/usr/java/jdk1.3.1/bin/java
# JAVA library 的安装路径
JAVA_LIB=/usr/java/jdk1.3.1/lib
# 所有的类别路径
CLASSPATH=”$JAVA_LIB/xalan.jar:$JAVA_LIB/xerces.jar”
export CLASSPATH
# 执行
$JAVA org.apache.xalan.xslt.Process “$@”
将shell script存成xalan.sh,可以放在/usr/local/bin目录下
或任何$PATH变量定义的路径下以便执行。存盘后就可以用xalan.sh
指令来转换DocBook文件成为HTML文件了:
xalan.sh -in sample.xml -xsl /usr/share/sgml/docbook/docbook-xsl-1.48/html/docbook.xsl-out sample.html
程序执行完之后产生sample.html檔,使用mozilla浏览看看结果 是否正确。
如前所述,XSL Stylesheet决定文件转换的格式。因此,只要使 用不同的stylesheet,就会产生不同格式的输出档。xalan使用FO
stylesheet亦可将DocBook文件转换成FO檔:
xalan.sh -in sample.xml -xsl /usr/share/sgml/docbook/docbook-xsl-1.48/fo/docbook.xsl-out sample.fo
程序执行完后产生sample.fo檔。然FO格式的输出文件只是一种媒介 格式而已,如要打印出来,还需经过formatter处理,才能转换成PDF
或PostScript等格式文件。有关formatter的安装介绍,另刊载于下
原文转自:http://www.ltesting.net