因为自己用的DEBINA系统,而DEBIAN的APT比较强大,于是想着用系统自己的包来装好了,结果还真搞好了,由于我看别人都用XML来写,而不是SGML,于是我也就只安装了XML相关的,XGML同理。语句如下
#aptitude install xsltproc docbook-xml docbook-xsl ldp-docbook-xsl以上语句即安装相关环境。然后写一个简单的temp.xml文件,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<article id="html">
<articleinfo id="head">
<title>测试文件</title>
<subtitle>test</subtitle>
<author><firstname>.Victor</firstname><surname>star</surname></author>
<abstract>
<para>
这是一个测试文件
</para>
</abstract>
</articleinfo>
<sect1 id="body"><title>第一个docbook文件</title>
下面我们就来测试一下了。
</sect1>
</article>然后执行如下命令
$xsltproc /usr/share/xml/docbook/stylesheet/ldp/html/tldp-sections.xsl temp.xml其中
/usr/share/xml/docbook/stylesheet/ldp/html/tldp-sections.xsl为样式所在URI,这样就会生成两个html文件了,打开看一下,是不是格式比较cool!!:D虽然有一点不十分美观,但这个东西可以通过样式表来调整地。这时我们要输入的生成命令太长了,另外,生成的HTML和我们的xml文件在一起,看着不大方便,我们可以用更简单的方式来做
建立文件(MakeFile),内容如下:
OBJECT = all
SOURCE = temp.xml
PARAM = param.xsl
COMPILER = xsltproc
$(OBJECT):$(SOURCE) $(PARAM)
$(COMPILER) $(PARAM) $(SOURCE)
clean:
rm -rf *.html然后执行下
$make clean清除下生成的HTML再建立文件(param.xsl),内容如下
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<!--调用样式表-->
<xsl:import href="/usr/share/xml/docbook/stylesheet/ldp/html/tldp-sections.xsl"/>
<xsl:param name="chunker.output.encoding" select="'utf-8'"/>
<!--标准信息所使用的语言-->
<xsl:param name="l10n.gentext.language" select="'zh_cn'"/>
<!--指定样式表-->
<xsl:param name="html.stylesheet" select="'style.css'"/>
<!--对于警告类信息是否使用图形 0 1-->
<xsl:param name="admon.graphics" select="1"/>
<!--生成的HTML文件存放的起始目录-->
<xsl:param name="base.dir" select="'./html/'"/>
<!--生成的HTML文件内容是否进行缩排 yes no-->
<xsl:param name="chunker.output.indent" select="'yes'"/>
<!--给节编号 0 1-->
<xsl:param name="section.autolabel" select="1"/>
<!--节的编号是否包含章的编号 0 1-->
<xsl:param name="section.label.includes.component.label" select="1"/>
<!--表格边框的属性是否使用预设CSS来指定-->
<xsl:param name="table.borders.with.css" select="0"/>
<!--参考书目是否进行编号-->
<xsl:param name="bibliography.numbered" select="1"></xsl:param>
<!--目录深度-->
<xsl:param name="toc.max.depth" select="2"/>
<!--sect#页面上显示目录-->
<xsl:param name="generate.section.toc.level" select="0"/>
<!--sect#可以生成目录条目-->
<xsl:param name="toc.section.depth" select="2"/>
<xsl:param name="generate.toc">
appendix toc
article/appendix nop
article toc,title
book toc,title
chapter toc,title
part toc,title
preface toc,title
qandadiv toc
qandaset toc
reference toc,title
sect1 toc
sect2 toc
sect3 toc
sect4 toc
sect5 toc
section toc
set toc,title
</xsl:param>
<!--在源码中插入 <?linebreak?> 标签,生成Html时替换为<br> -->
<xsl:template match="processing-instruction('linebreak')">
<br/>
</xsl:template>
</xsl:stylesheet>然后输入
$make,是不是直接开始编译了呵呵,自己也是初学,大家多多交流!以后学得更多了再慢慢写。
