source: trunk/lib/docbook/custom-styles/docbook/plain/xsl/customized.chunked.xsl @ 3301

Last change on this file since 3301 was 3301, checked in by Nicklas Nordborg, 14 years ago

Added option to stop the chunking of each sect1 in chapters and to chunk each sect2 inside sect1.

  • Property svn:eol-style set to native
File size: 7.4 KB
Line 
1<?xml version='1.0'?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                xmlns:fo="http://www.w3.org/1999/XSL/Format"
4                xmlns:date="http://exslt.org/dates-and-times"
5                exclude-result-prefixes="date"
6                version='1.0'>
7
8<xsl:import href="../../../lib/docbook/docbook/xsl/html/chunk.xsl" />
9
10<!-- (MM20040315) xsl parameters moved from ant-build-docbook.xml to here -->
11<xsl:param name="table.borders.with.css" select="1"/>
12<xsl:param name="html.stylesheet">css/docbook.css</xsl:param>
13<xsl:param name="html.stylesheet.type">text/css</xsl:param>       
14<xsl:param name="section.label.includes.component.label" select="1" />         
15<xsl:param name="section.autolabel" select="1" />
16<xsl:param name="section.autolabel.max.depth" select="2" />
17<xsl:param name="chunk.first.sections" select="1" />
18<xsl:param name="chunk.section.depth" select="2" />
19<xsl:param name="chunk.fast" select="1" />
20<xsl:param name="toc.max.depth" select="4"/>
21<xsl:param name="toc.section.depth" select="3" />
22<xsl:param name="generate.section.toc.level" select="1" />
23<xsl:param name="generate.toc">
24appendix  toc,title
25article/appendix  nop
26article   toc,title
27book      toc,title
28chapter   toc,title
29part      toc,title
30preface   toc,title
31qandadiv  toc
32qandaset  toc
33reference toc,title
34sect1     toc
35sect2     toc
36sect3     toc
37sect4     toc
38sect5     toc
39section   toc
40set       toc,title
41</xsl:param>
42<xsl:param name="make.graphic.viewport" select="0"/>
43<xsl:param name="callout.graphics" select="1" />
44<xsl:param name="callout.graphics.path">gfx/admonitions/callouts/</xsl:param>
45<xsl:param name="callout.graphics.extension">.gif</xsl:param>
46<xsl:param name="admon.graphics" select="1"/>
47<xsl:param name="admon.graphics.path">gfx/admonitions/</xsl:param>
48<xsl:param name="admon.graphics.extension">.gif</xsl:param>
49<xsl:param name="admon.style">margin-left: 2em; margin-right: 2em;</xsl:param>
50<xsl:param name="admonition.title.properties">text-align: left</xsl:param>
51
52<xsl:param name="keep.relative.image.uris" select="false"/>
53
54<xsl:param name="use.id.as.filename" select="1"/>
55
56<xsl:param name="chunker.output.encoding">utf-8</xsl:param>
57<xsl:param name="chunker.output.indent">yes</xsl:param>
58
59<!-- (MM20040315) base.dir and root.filename are coming from the ant-build-docbook.xml -->
60<xsl:param name="base.dir">@base.dir@/</xsl:param>
61<xsl:param name="root.filename">@root.filename@</xsl:param>
62
63<!-- doc.revision and doc.last.modified -->
64<xsl:param name="doc.revision">@doc.revision@</xsl:param>
65<xsl:param name="doc.last.modified">@doc.last.modified@</xsl:param>
66<xsl:param name="base.version">@base.version@</xsl:param>
67
68<!-- convert url-only references to a format that is wrappable -->
69
70<xsl:template match="ulink" name="ulink">
71  <xsl:choose>
72  <xsl:when test="count(child::node())=0">
73  <a>
74      <xsl:if test="@id">
75        <xsl:attribute name="name">
76          <xsl:value-of select="@id"/>
77        </xsl:attribute>
78      </xsl:if>
79      <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
80      <xsl:if test="$ulink.target != ''">
81        <xsl:attribute name="target">
82          <xsl:value-of select="$ulink.target"/>
83        </xsl:attribute>
84      </xsl:if> 
85    <xsl:if test="count(child::node())=0">
86        <xsl:call-template name="insertInvisibleBreaks">
87            <xsl:with-param name="url" select="@url" />
88            <xsl:with-param name="breakat" select="translate(@url, '/-_:', '____')" />
89        </xsl:call-template>
90    </xsl:if>
91  </a>
92  </xsl:when>
93  <xsl:otherwise>
94  <xsl:apply-imports/>
95  </xsl:otherwise>
96  </xsl:choose>
97</xsl:template> 
98
99<xsl:template name="insertInvisibleBreaks">
100    <xsl:param name="url" />
101    <xsl:param name="breakat" />
102    <!-- <xsl:message><xsl:value-of select="concat('param:', $url, $breakat)" /></xsl:message> -->
103    <xsl:choose>
104        <xsl:when test="contains($breakat, '_')">
105            <xsl:value-of select="substring($url, 1, string-length(substring-before($breakat, '_'))+1)" /><wbr/>
106            <xsl:call-template name="insertInvisibleBreaks">
107                <xsl:with-param name="url" select="substring($url, string-length(substring-before($breakat, '_'))+2)"/>
108                <xsl:with-param name="breakat" select="substring($breakat, string-length(substring-before($breakat, '_'))+2)"/>
109            </xsl:call-template>
110        </xsl:when>
111        <xsl:otherwise>
112            <xsl:value-of select="$url" />
113        </xsl:otherwise>
114    </xsl:choose>
115</xsl:template>
116
117<!-- Base specific templates -->
118
119<xsl:template match="helptext">
120  <xsl:apply-templates />
121</xsl:template>
122
123<xsl:template match="seeother|other">
124</xsl:template>
125
126<xsl:template name="user.footer.navigation">
127  <div 
128    class="navfooter"
129    align="left">
130    <p>
131    <i>
132      <xsl:if test="$doc.revision" >
133        Version: <xsl:value-of select="$base.version"/> (build #<xsl:value-of select="$doc.revision"/>)<br/>
134      </xsl:if>
135      <xsl:if test="$doc.last.modified" >
136        Book last modified: <xsl:value-of select="$doc.last.modified" />
137      </xsl:if>
138    </i></p>
139  </div>
140</xsl:template>
141
142  <xsl:template name="convertpath">
143    <xsl:param name="path" select="''" />
144    <xsl:choose>
145      <xsl:when test="contains($path, '/')">
146        <xsl:text>../</xsl:text>
147        <xsl:call-template name="convertpath">
148          <xsl:with-param name="path" select="substring-after($path, '/')" />
149        </xsl:call-template>
150      </xsl:when>
151    </xsl:choose>
152  </xsl:template>
153
154  <xsl:template name="pathtorootdir">
155    <xsl:variable name="dir">
156      <xsl:call-template name="dbhtml-dir">
157        <xsl:with-param name="context" select="." />
158      </xsl:call-template>
159    </xsl:variable>
160    <xsl:call-template name="convertpath">
161      <xsl:with-param name="path" select="$dir" />
162    </xsl:call-template>
163  </xsl:template>
164
165  <xsl:template name="output.html.stylesheets">
166    <xsl:param name="stylesheets" select="''" />
167    <xsl:variable name="pathtorootdir">
168      <xsl:call-template name="pathtorootdir" />
169    </xsl:variable>
170    <xsl:choose>
171      <xsl:when test="contains($stylesheets, ' ')">
172        <link rel="stylesheet"
173          href="{substring-before(concat($pathtorootdir, $stylesheets), ' ')}">
174          <xsl:if test="$html.stylesheet.type != ''">
175            <xsl:attribute name="type">
176              <xsl:value-of select="$html.stylesheet.type" />
177            </xsl:attribute>
178          </xsl:if>
179        </link>
180        <xsl:call-template name="output.html.stylesheets">
181          <xsl:with-param name="stylesheets" select="substring-after($stylesheets, ' ')" />
182        </xsl:call-template>
183      </xsl:when>
184      <xsl:when test="$stylesheets != ''">
185        <link rel="stylesheet" href="{concat($pathtorootdir,$stylesheets)}">
186          <xsl:if test="$html.stylesheet.type != ''">
187            <xsl:attribute name="type">
188              <xsl:value-of select="$html.stylesheet.type" />
189            </xsl:attribute>
190          </xsl:if>
191        </link>
192      </xsl:when>
193    </xsl:choose>
194  </xsl:template>
195 
196  <xsl:template name="admon.graphic">
197    <xsl:param name="node" select="." />
198    <xsl:variable name="pathtorootdir">
199      <xsl:call-template name="pathtorootdir"/>
200    </xsl:variable>
201    <xsl:value-of select="concat($pathtorootdir, $admon.graphics.path)" />
202    <xsl:choose>
203      <xsl:when test="local-name($node)='note'">note</xsl:when>
204      <xsl:when test="local-name($node)='warning'">warning</xsl:when>
205      <xsl:when test="local-name($node)='caution'">caution</xsl:when>
206      <xsl:when test="local-name($node)='tip'">tip</xsl:when>
207      <xsl:when test="local-name($node)='important'">important</xsl:when>
208      <xsl:otherwise>note</xsl:otherwise>
209    </xsl:choose>
210    <xsl:value-of select="$admon.graphics.extension" />
211  </xsl:template>
212
213</xsl:stylesheet>
214
215
Note: See TracBrowser for help on using the repository browser.