| 知乎專欄 | 多維度架構 | | | 微信號 netkiller-ebook | | | QQ群:128659835 請註明“讀者” |
<?xml version='1.0' encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:import href="/usr/share/xml/docbook/stylesheet/nwalsh/xhtml/chunk.xsl"/>
<xsl:param name="admon.graphics" select="1"/>
<xsl:param name="admon.graphics.path">/graphics/</xsl:param>
<xsl:param name="admon.graphics.extension">.png</xsl:param>
<xsl:param name="html.stylesheet" select="'/docbook.css'"/>
<xsl:param name="css.decoration" select="1"/>
<xsl:param name="toc.max.depth">5</xsl:param>
<xsl:param name="toc.section.depth">4</xsl:param>
<xsl:param name="use.id.as.filename" select="1"/>
<xsl:param name="preface.autolabel" select="1"/>
<xsl:param name="chapter.autolabel" select="1" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="appendix.autolabel" select="1" />
<xsl:param name="section.autolabel.max.depth">8</xsl:param>
<xsl:param name="section.label.includes.component.label" select="1" />
<xsl:param name="generate.meta.abstract" select="1"></xsl:param>
<xsl:param name="highlight.source" select="1"/>
<xsl:param name="highlight.xslthl.config">/usr/share/xml/docbook/stylesheet/docbook-xsl/highlighting/xslthl-config.xml</xsl:param>
<!--
<xsl:param name="eclipse.autolabel" select="1"/>
<xsl:param name="use.extensions" select="1"/>
<xsl:param name="textinsert.extension" select="1"/>
<xsl:param name="xslthl.config" select="/usr/share/xml/docbook/stylesheet/docbook-xsl/highlighting/xslthl-config.xml"/>
<xsl:param name="highlight.xslthl.config">/usr/share/xml/docbook/stylesheet/docbook-xsl/highlighting/xslthl-config.xml</xsl:param>
-->
<xsl:template name="user.preroot">
</xsl:template>
<xsl:template name="user.head.content">
<!--
<xsl:copy-of select="document('myscriptfile.js',/)"/>
-->
</xsl:template>
<xsl:template name="user.header.navigation">
<a href="//www.netkiller.cn/">Home</a> |
<a href="//netkiller.github.io/">簡體中文</a> |
<a href="http://netkiller.sourceforge.net/">繁體中文</a> |
<a href="/journal/index.html">雜文</a> |
<a href="//www.netkiller.cn/home/donations.html">打賞(Donations)</a> |
<a href="http://netkiller-github-com.iteye.com/">ITEYE 博客</a> |
<a href="http://my.oschina.net/neochen/">OSChina 博客</a> |
<a href="https://www.facebook.com/bg7nyt">Facebook</a> |
<a href="http://cn.linkedin.com/in/netkiller/">Linkedin</a> |
<a href="https://zhuanlan.zhihu.com/netkiller">知乎專欄</a> |
<a href="/search.html">Search</a> |
<a href="mailto:netkiller@msn.com">Email</a>
<!--
<table width="100%" border="0">
<tr>
<td align="left" >
</td>
<td align="right">
-->
<!-- Google CSE Search Box Begins -->
<!--
<form id="searchbox_008589143145807374698:f5uprauilyy" action="/search.html">
<input type="hidden" name="cx" value="008589143145807374698:f5uprauilyy" />
<input type="hidden" name="cof" value="FORID:11" />
<input name="q" type="text" size="25" style="border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(126, 157, 185); border-right-color: rgb(126, 157, 185); border-bottom-color: rgb(126, 157, 185); border-left-color: rgb(126, 157, 185); padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; background-image: url(http://www.google.com/cse/intl/en/images/google_custom_search_watermark.gif); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); background-position: 0% 50%; background-repeat: no-repeat no-repeat; " />
<input type="submit" name="sa" value="Search" />
<input name="siteurl" type="hidden" value="http://netkiller.sourceforge.net/" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_008589143145807374698%3Af5uprauilyy"></script>
-->
<!-- Google CSE Search Box Ends -->
<!--
</td>
</tr>
</table>
-->
</xsl:template>
<xsl:template name="user.header.content">
<table><tr><td>
<iframe src="//ghbtns.com/github-btn.html?user=netkiller&repo=netkiller.github.io&type=watch&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe>
</td><td>
<iframe src="//ghbtns.com/github-btn.html?user=netkiller&repo=netkiller.github.io&type=fork&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe>
</td><td>
<iframe src="//ghbtns.com/github-btn.html?user=netkiller&type=follow&count=true&size=large" height="30" width="240" frameborder="0" scrolling="0" style="width:240px; height: 30px;" allowTransparency="true"></iframe>
</td></tr></table>
</xsl:template>
<xsl:template name="user.footer.content">
<div id="disqus_thread"></div>
<script>
var disqus_config = function () {
this.page.url = "http://www.netkiller.cn"; // Replace PAGE_URL with your page's canonical URL variable
this.page.identifier = 'netkiller'; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = '//netkiller.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<br />
<script type="text/javascript" id="clustrmaps" src="//cdn.clustrmaps.com/map_v2.js?u=r5HG&d=9mi5r_kkDC8uxG8HuY3p4-2qgeeVypAK9vMD-2P6BYM"></script>
</xsl:template>
<xsl:template name="user.footer.navigation">
<script >
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-11694057-1', 'auto');
ga('send', 'pageview');
</script>
<script async="async">
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?93967759a51cda79e49bf4e34d0b0f2c";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
<!-- 搜索自動收錄代碼 -->
<script async="async">
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
<script type="text/javascript" src="/js/q.js" async="async"></script>
</xsl:template>
</xsl:stylesheet>
/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
總深度 <xsl:param name="toc.max.depth">8</xsl:param> 章節深度 <xsl:param name="toc.section.depth">2</xsl:param>
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