2013-07-20 18:44:50 +08:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<xsl:stylesheet
|
|
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
|
|
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
|
|
|
version="1.0">
|
|
|
|
|
|
|
|
<!-- Import the standard DocBook stylesheet that this one is based on.
|
|
|
|
We use a web URL, but the local XML catalog should resolve this to
|
|
|
|
the local copy of the stylesheet, if it exists. -->
|
|
|
|
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
|
|
|
|
|
|
|
|
<!-- Add page breaks before each sect1 -->
|
|
|
|
<xsl:attribute-set name="section.level1.properties">
|
|
|
|
<xsl:attribute name="break-before">page</xsl:attribute>
|
|
|
|
</xsl:attribute-set>
|
|
|
|
|
|
|
|
<!-- Rag-right lines -->
|
|
|
|
<xsl:attribute-set name="root.properties">
|
|
|
|
<xsl:attribute name="text-align">left</xsl:attribute>
|
|
|
|
</xsl:attribute-set>
|
|
|
|
|
|
|
|
<!-- Use a smaller font for code listings to increase the chances
|
|
|
|
that they can fit on a single sheet, to reduce FOP complaints
|
|
|
|
about being forced to split a listing across pages. -->
|
|
|
|
<xsl:attribute-set name="monospace.verbatim.properties">
|
|
|
|
<xsl:attribute name="font-size">85%</xsl:attribute>
|
|
|
|
</xsl:attribute-set>
|
|
|
|
|
|
|
|
<!-- Inform the DocBook stylesheets that it's safe to use FOP
|
|
|
|
specific extensions. -->
|
|
|
|
<xsl:param name="fop1.extensions" select="1"/>
|
2015-06-12 21:51:00 +08:00
|
|
|
|
|
|
|
<!-- autotoc.xsl customization to make refentry in sect1 appear in toc -->
|
|
|
|
<xsl:template match="sect1" mode="toc">
|
|
|
|
<xsl:param name="toc-context" select="."/>
|
|
|
|
|
|
|
|
<xsl:variable name="id">
|
|
|
|
<xsl:call-template name="object.id"/>
|
|
|
|
</xsl:variable>
|
|
|
|
|
|
|
|
<xsl:variable name="cid">
|
|
|
|
<xsl:call-template name="object.id">
|
|
|
|
<xsl:with-param name="object" select="$toc-context"/>
|
|
|
|
</xsl:call-template>
|
|
|
|
</xsl:variable>
|
|
|
|
|
|
|
|
<xsl:call-template name="toc.line">
|
|
|
|
<xsl:with-param name="toc-context" select="$toc-context"/>
|
|
|
|
</xsl:call-template>
|
|
|
|
|
|
|
|
<xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
|
|
|
|
|
|
|
|
<xsl:if test="$toc.section.depth > 1
|
|
|
|
and $toc.max.depth > $depth.from.context">
|
|
|
|
<fo:block id="toc.{$cid}.{$id}">
|
|
|
|
<xsl:attribute name="margin-{$direction.align.start}">
|
|
|
|
<xsl:call-template name="set.toc.indent"/>
|
|
|
|
</xsl:attribute>
|
|
|
|
|
|
|
|
<xsl:apply-templates select="refentry|sect2|qandaset[$qanda.in.toc != 0]"
|
|
|
|
mode="toc">
|
|
|
|
<xsl:with-param name="toc-context" select="$toc-context"/>
|
|
|
|
</xsl:apply-templates>
|
|
|
|
</fo:block>
|
|
|
|
</xsl:if>
|
|
|
|
</xsl:template>
|
|
|
|
|
2015-06-17 01:40:29 +08:00
|
|
|
<!-- generate ansi rather than k&r style function synopses -->
|
|
|
|
<xsl:param name="funcsynopsis.style" select="ansi" />
|
|
|
|
|
2013-07-20 18:44:50 +08:00
|
|
|
</xsl:stylesheet>
|