Home | Mirror | Search |
/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/param.xsl
預設HTML格式輸出檔案中的章內小節是沒有自動編號功能的,如果要實現小節自動編號需要設置HTML格式的兩個轉換參數。 section.autolabel參數為1代表章內小節可自動編號,為0表示不會自動編號; section.label.includes.component.label參數為1表示章內小節編號包含章節編號,為0表示不包含章節編號。 設置這兩個參數可通過命令行方式,也可通過修改XSL轉換檔案方法。下面分別介紹這兩種方法: 通過命令行方式: $ xsltproc --stringparam section.autolabel 1 \ --stringparam section.label.includes.component.label 1 \ docbook.xsl myfile.xml>myfile.htm 修改XSL轉換檔案方式: DocBook文檔的HTML格式轉換樣式檔案一般位於/usr/share/sgml/docbook/docbook-xsl-1.65.1/html/目錄下。通過查看docbook.xsl檔案可知,在docbook.xsl中引用param.xsl作為參數設置檔案,所有的參數都在這裡設置。我們打開param.xsl檔案,找到以下兩行,再把參數置成1就可以了。 <xsl:param name="section.autolabel" select="1"/> <xsl:param name="section.label.includes.component.label" select="1"/>
另一種方法
cat my_docbook.xsl <?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> <xsl:include href="/usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl"/> <xsl:output method="html" encoding="UTF-8" indent="no"/> </xsl:stylesheet> xsltproc -o docbook.html my_docbook.xsl docbook.xml
我們把docbook文檔轉換成html文檔時,可以轉換成一個大的html文檔,也可以轉換成多頁的html文檔。當轉換成多頁是,預設的檔案是以ch01.html、ch02.html方式命名的,較不直觀。我們可在docbook文檔中添加一個屬性,使它輸出時按我們指定的檔案名輸出。 方法一: <chapter><?dbhtml filename="first.html" ?> <title>Introduction</title> ...
方法二: <chapter id="first"> <title>Introduction</title> ... xsltproc --stringparam use.id.as.filename 1 chunk.xsl myfile.xml
預設轉換後的文檔是保存在當前目錄的,我們可在xsltproc命令行用-o選項指定轉換後文檔的輸出路徑,另外一種是在docbook中指定。 <book><?dbhtml dir="neo" ?> <title>Docbook Guide</title> ... <chapter id="first"><?dbhtml dir="technic" ?> ... <chapter id="second"> ... <appendix id="three"><?dbhtml dir="read" ?> ... 輸出後的路徑: jims/index.html jims/technic/first.html jims/second.html jims/read/three.html
base.dir parameter value Description Example chunk filename base.dir="htmlout/" Output directory only. htmlout/chap1.html base.dir="refbook-" Filename prefix only. refbook-chap1.html base.dir="htmlout/refbook-" Output directory and filename prefix. htmlout/refbook-chap1.html
base.dir parameter
xsltproc --stringparam base.dir /usr/apache/htdocs/ chunk.xsl myfile.xml