DocBook使用笔记 转自:http://tech.idv2.com/2009/03/10/docbook-memo/
2011-12-02 16:40
274 查看
版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2009/03/10/docbook-memo/以及本声明。
xsltproc的常用参数
xsltproc有许多实用的参数。有两种方法指定参数。一是在执行xsltproc时通过--stringparam参数来设置,如:
另外一种方法就是写到XSL文件中,格式如下:
常用参数有:
html.stylesheet,设置生成的网页所用的CSS样式表。
section.autolabel,设置为1可以对章节标题自动编号
section.label.includes.component.label,默认情况下节的编号中不包括章的编号,如“第二章->1->1.1”,将此项设置为1,即可让节编号中包含章编号,如“第二章->2.1->2.1.1”。
section.autolabel.max.depth,设置章节标题自动编号的深度
chunker.output.encoding,设置chunk输出时使用的字符编码
使用catalog
catalog有很多作用,最重要的就是
可以给引用的xsl设置缩略名称
可以指定DTD在本地的位置
下面是个catalog.xml的例子:
这里首先将 "-//OASIS//DTD DocBook XML V4.1.2//EN" 这个id定义到了本地, 这样在xsl中引用这个id所指的DTD时,xsltproc就会使用这里指定的本地DTD,而不用去Internet上去获取。
接下来定义了两个xsl别名:html/docbook.xsl指向 /usr/share/..../docbook.xsl, html/chunk.xsl 指向 /usr/share/..../chunk.xsl。 这样在我们自定义的xsl文件中要包含上述xsl时,只需这样写:
而不用写成繁琐的
这样做的好处是,可以将样式表的安装路径统一在catalog.xml中规定,不用在每个xsl中重复书写完整路径了。 以后万一要升级样式表,也只需修改catalog.xml中的定义即可,不用去每个xsl中修改。
那么如何使用catalog呢?只需将它设置到环境变量 XML_CATALOG_FILES 中即可。 或者也可以这样:
xsltproc的常用参数
xsltproc有许多实用的参数。有两种方法指定参数。一是在执行xsltproc时通过--stringparam参数来设置,如:
xsltproc --stringparam html.stylesheet "style.css" -o index.html chunk.xsl index.xml
另外一种方法就是写到XSL文件中,格式如下:
<xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
常用参数有:
html.stylesheet,设置生成的网页所用的CSS样式表。
section.autolabel,设置为1可以对章节标题自动编号
section.label.includes.component.label,默认情况下节的编号中不包括章的编号,如“第二章->1->1.1”,将此项设置为1,即可让节编号中包含章编号,如“第二章->2.1->2.1.1”。
section.autolabel.max.depth,设置章节标题自动编号的深度
chunker.output.encoding,设置chunk输出时使用的字符编码
使用catalog
catalog有很多作用,最重要的就是
可以给引用的xsl设置缩略名称
可以指定DTD在本地的位置
下面是个catalog.xml的例子:
<?xml version="1.0"?> <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> <!-- define public DTD --> <public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN" uri="file:///usr/share/sgml/docbook/xml-dtd-4.1.2-1.0-30.1/docbookx.dtd" /> <!-- XSL location --> <uri name="html/docbook.xsl" uri="/usr/share/sgml/docbook/xsl-stylesheets-1.69.1-5.1/html/docbook.xsl" /> <uri name="html/chunk.xsl" uri="/usr/share/sgml/docbook/xsl-stylesheets-1.69.1-5.1/html/chunk.xsl" /> </catalog>
这里首先将 "-//OASIS//DTD DocBook XML V4.1.2//EN" 这个id定义到了本地, 这样在xsl中引用这个id所指的DTD时,xsltproc就会使用这里指定的本地DTD,而不用去Internet上去获取。
接下来定义了两个xsl别名:html/docbook.xsl指向 /usr/share/..../docbook.xsl, html/chunk.xsl 指向 /usr/share/..../chunk.xsl。 这样在我们自定义的xsl文件中要包含上述xsl时,只需这样写:
<xsl:import href="html/chunk.xsl"/>
而不用写成繁琐的
<xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets-1.69.1-5.1/html/chunk.xsl"/>
这样做的好处是,可以将样式表的安装路径统一在catalog.xml中规定,不用在每个xsl中重复书写完整路径了。 以后万一要升级样式表,也只需修改catalog.xml中的定义即可,不用去每个xsl中修改。
那么如何使用catalog呢?只需将它设置到环境变量 XML_CATALOG_FILES 中即可。 或者也可以这样:
XML_CATALOG_FILES=catalog.xml xsltproc -o index.html chunk.xsl index.xml
相关文章推荐
- android菜鸟学习笔记24----与服务器端交互(一)使用HttpURLConnection和HttpClient请求服务端数据
- rand与srand函数的使用 http://blog.chinaunix.net/uid-25906157-id-3165140.html
- https 学习笔记以及在 retrofit/okhttp 中的使用 (超多图, 爪机慎入)
- android 学习笔记 使用HttpClient
- node.js学习笔记——学生信息管理的实现(把功能模块化)使用官方提供的http模块实现
- Java基础知识强化之网络编程笔记16:Android网络通信之 使用Http的Get方式读取网络数据(基于HTTP通信技术)
- 用CornerStone配置SVN,HTTP及svn简单使用说明 (以前用versions感觉很难用的样子所以有个笔记)
- 【Tech】mac下svn和scp使用笔记
- IDHTTP,IdCookieManager,webbrowsers的使用方法
- dubbo使用过程中报错:Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd',
- Android 使用HttpURLConnection实现多线程下载 笔记
- 【MySQL笔记】last_insert_id()函数使用的注意事项
- 学习笔记---使用prototype.js扩展struts标签实现xmlhttprequest
- Java基础知识强化之网络编程笔记17:Android网络通信之 使用Http的Post方式读取网络数据(基于HTTP通信技术)
- 在C#中使用MSHTML的高级支持接口(引自http://www.vckbase.com/document/viewdoc.asp?id=1018)
- 小透明的Jmeter测试工具使用部分笔记 详情请看:http://jmeter.apache.org
- VS .NET 2005中水晶报表的使用 http://www.tianyablog.com/blogger/post_show.asp?BlogID=116800&PostID=9731765
- 安卓入门笔记之HttpURLConnection的使用
- angular学习笔记(二十八)-$http(6)-使用ngResource模块构建RESTful架构
- 快速使用http方式共享目录(利用python)--Ubuntu小笔记