版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2009/03/10/docbook-memo/以及本声明。
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'"/>
常用参数有:
使用catalog
catalog有很多作用,最重要的就是
下面是个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