今天试着用了一下Docbook这个东西。在网上也找到了一个国内的不知道谁写的介绍、使用入门之类的东西,还是国内互联网的特色,全部网站几乎都是在使用这一个版本的文章。好像是这篇文章有点旧了,我在对Docbook没有什么概念的时候看得有点没头绪。我把自己总结的一点东西写下来,免得自己忘了。
实际上自己用Docbook写文档的时候要写的之后那个和你的文章内容有关的xml文件就行了。其余要了解的就是标题用什么样的标记,段落用什么样的标记就行了,这个可以看参考,没有必要全部知道。在解析你的xml文件的时候程序会根据你的指示去找那个定义格式的xsl文件。在你的文章内容的基础上套用那个格式,生成你指定的html或pdf或其它格式的文件。
其中,xsl文件能在sf.net上下到,这个地址。好像还有个www.docbook.org的网站,但是我这里上不了,不知道是网站的原因还是GFW。
我用的是xml的那个。
比如写出文章是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<article>
<title>My Article</title>
<sect1>
<title>My Section</title>
<para>This is my first article.</para>
</sect1>
</article>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<article>
<title>My Article</title>
<sect1>
<title>My Section</title>
<para>This is my first article.</para>
</sect1>
</article>
这是个XML文件,要变成html的或者pdf的时候就要先解析这个xml文件。变成不同的格式用不同的工具:
html的可以用xsltproc,共有四个文件:libexslt.dll;libxml2.dll;libxslt.dll;xsltproc.exe。也有其他的xml解析器,我没有用过。
编译的时候用命令行:
xsltproc.exe --output xxx.html docbook5-xsl-1.72.0\html\docbook.xsl xxx.xml
就能在当前目录生成格式化的html文件。
xml文件中的<article> <title>等标记都是有参考可查的,都在sf.net的那个地址里面。
如果是生成pdf文件,可以用fop,同样是上面那个xml文件,用命令行:
fop.bat -xsl D:\cpp\docbook5-xsl-1.72.0\docbook5-xsl-1.72.0\fo\docbook.xsl -xml D:\cpp\libxslt-1.1.19.win32\libxslt-1.1.19.win32\bin\book.xml -pdf mybook.pdf
就能生成mybook.pdf文件
这个是java的,要安装jre
还没弄明白上面xml文件中的DOCTYPE节点有什么用途,用xsl就能定义格式,还要dtd干吗?反正注释掉一样能用,warning更少
还有就是上面两种方式对中文文档都不行,再找找资料。
没有评论:
发表评论