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

Last change on this file since 5676 was 5676, checked in by Nicklas Nordborg, 11 years ago

References #1590: Documentation cleanup

  • Fixed link to syntax highlighter
  • Changed color of left border used on code examples and <hr> tags
  • Changed date format to "yyyy-MM-dd" for last modified footer
  • Added last modified information to title page
  • Decreased vertical white space around some headers
  • Added more links/title information to navigation header and footer
  • Property svn:eol-style set to native
File size: 12.3 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<!-- Turn off image scaling when generating HTML output -->
43<xsl:param name="make.graphic.viewport" select="0"/>
44<xsl:param name="ignore.image.scaling" select="1"/>
45
46<xsl:param name="callout.graphics" select="1" />
47<xsl:param name="callout.graphics.path">gfx/admonitions/callouts/</xsl:param>
48<xsl:param name="callout.graphics.extension">.gif</xsl:param>
49<xsl:param name="admon.graphics" select="1"/>
50<xsl:param name="admon.graphics.path">gfx/admonitions/</xsl:param>
51<xsl:param name="admon.graphics.extension">.gif</xsl:param>
52<xsl:param name="admon.style"></xsl:param>
53<xsl:param name="admonition.title.properties">text-align: left</xsl:param>
54
55<xsl:param name="keep.relative.image.uris" select="false"/>
56<xsl:param name="use.id.as.filename" select="1"/>
57
58<!--  path to javadoc root as seen from docbook root -->
59<xsl:param name="javadoc.root.path">../api/</xsl:param>
60
61<xsl:param name="chunker.output.encoding">utf-8</xsl:param>
62<xsl:param name="chunker.output.indent">yes</xsl:param>
63<xsl:param name="chunker.message.nofilename">1</xsl:param>
64
65<!-- (MM20040315) base.dir and root.filename are coming from the ant-build-docbook.xml -->
66<xsl:param name="base.dir">@base.dir@/</xsl:param>
67<xsl:param name="root.filename">@root.filename@</xsl:param>
68
69<!-- doc.revision and doc.last.modified -->
70<xsl:param name="doc.revision">@doc.revision@</xsl:param>
71<xsl:param name="doc.last.modified">@doc.last.modified@</xsl:param>
72<xsl:param name="base.version">@base.version@</xsl:param>
73
74<!-- convert url-only references to a format that is wrappable -->
75
76<xsl:template match="ulink" name="ulink">
77  <xsl:choose>
78  <xsl:when test="count(child::node())=0">
79  <a>
80      <xsl:if test="@id">
81        <xsl:attribute name="name">
82          <xsl:value-of select="@id"/>
83        </xsl:attribute>
84      </xsl:if>
85      <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
86      <xsl:if test="$ulink.target != ''">
87        <xsl:attribute name="target">
88          <xsl:value-of select="$ulink.target"/>
89        </xsl:attribute>
90      </xsl:if> 
91    <xsl:if test="count(child::node())=0">
92        <xsl:call-template name="insertInvisibleBreaks">
93            <xsl:with-param name="url" select="@url" />
94            <xsl:with-param name="breakat" select="translate(@url, '/-_:', '____')" />
95        </xsl:call-template>
96    </xsl:if>
97  </a>
98  </xsl:when>
99  <xsl:otherwise>
100  <xsl:apply-imports/>
101  </xsl:otherwise>
102  </xsl:choose>
103</xsl:template> 
104
105<xsl:template name="insertInvisibleBreaks">
106    <xsl:param name="url" />
107    <xsl:param name="breakat" />
108    <!-- <xsl:message><xsl:value-of select="concat('param:', $url, $breakat)" /></xsl:message> -->
109    <xsl:choose>
110        <xsl:when test="contains($breakat, '_')">
111            <xsl:value-of select="substring($url, 1, string-length(substring-before($breakat, '_'))+1)" /><wbr/>
112            <xsl:call-template name="insertInvisibleBreaks">
113                <xsl:with-param name="url" select="substring($url, string-length(substring-before($breakat, '_'))+2)"/>
114                <xsl:with-param name="breakat" select="substring($breakat, string-length(substring-before($breakat, '_'))+2)"/>
115            </xsl:call-template>
116        </xsl:when>
117        <xsl:otherwise>
118            <xsl:value-of select="$url" />
119        </xsl:otherwise>
120    </xsl:choose>
121</xsl:template>
122
123<!-- Base specific templates -->
124
125<xsl:template match="helptext">
126  <xsl:choose>
127    <xsl:when test="@webonly = '0'"> 
128      <xsl:apply-templates />
129    </xsl:when>
130  </xsl:choose>
131</xsl:template>
132
133<xsl:template match="seeother|other">
134</xsl:template>
135
136<xsl:template match="nohelp">
137  <xsl:apply-templates />
138</xsl:template>
139
140<xsl:template match="command">
141  <xsl:call-template name="inline.monoseq"/>
142</xsl:template>
143
144<xsl:template name="script">
145  <xsl:param name="src"></xsl:param>
146  <script>
147    <xsl:attribute name="language">JavaScript</xsl:attribute>
148    <xsl:attribute name="type">text/javascript</xsl:attribute>
149    <xsl:attribute name="src"><xsl:value-of select="$src" /></xsl:attribute>
150  </script>
151</xsl:template>
152
153<xsl:template name="user.head.content">
154  <xsl:variable name="pathtorootdir">
155    <xsl:call-template name="pathtorootdir" />
156  </xsl:variable>
157  <link rel="stylesheet"
158    type="text/css"
159    href="{concat($pathtorootdir, 'css/SyntaxHighlighter.css')}">
160  </link>
161  <xsl:call-template name="script">
162    <xsl:with-param name="src" select="concat($pathtorootdir, 'script/shCore.js')" />
163  </xsl:call-template>
164  <xsl:call-template name="script">
165    <xsl:with-param name="src" select="concat($pathtorootdir, 'script/shBrushJava.js')" />
166  </xsl:call-template>
167  <xsl:call-template name="script">
168    <xsl:with-param name="src" select="concat($pathtorootdir, 'script/shBrushXml.js')" />
169  </xsl:call-template>
170  <xsl:call-template name="script">
171    <xsl:with-param name="src" select="concat($pathtorootdir, 'script/shBrushSql.js')" />
172  </xsl:call-template>
173</xsl:template>
174
175<xsl:template name="body.attributes">
176  <xsl:attribute name="onLoad">dp.SyntaxHighlighter.HighlightAll('pre', 'programlisting', null, false);</xsl:attribute>
177</xsl:template>
178
179<xsl:template name="user.footer.navigation">
180  <table width="100%" border="0" cellspacing="0" cellpadding="0">
181  <tr valign="bottom"><td>
182  <div 
183    class="navfooter"
184    align="left">
185    <i>
186      <xsl:if test="$doc.revision" >
187        Version: <xsl:value-of select="$base.version"/> (build #<xsl:value-of select="$doc.revision"/>);
188      </xsl:if>
189      <xsl:if test="$doc.last.modified" >
190        Last modified: <xsl:value-of select="$doc.last.modified" />;
191      </xsl:if>
192    </i>
193  </div>
194  </td>
195  <td>
196    <div class="navfooter" align="right">
197    <i>
198    Syntax coloring provided by <a href="http://alexgorbatchev.com/SyntaxHighlighter/">dp.SyntaxHighlighter</a>
199    </i>
200    </div>
201  </td>
202  </tr>
203  </table>
204</xsl:template>
205
206  <xsl:template name="convertpath">
207    <xsl:param name="path" select="''" />
208    <xsl:choose>
209      <xsl:when test="contains($path, '/')">
210        <xsl:text>../</xsl:text>
211        <xsl:call-template name="convertpath">
212          <xsl:with-param name="path" select="substring-after($path, '/')" />
213        </xsl:call-template>
214      </xsl:when>
215    </xsl:choose>
216  </xsl:template>
217
218  <xsl:template name="pathtorootdir">
219    <xsl:variable name="dir">
220      <xsl:call-template name="dbhtml-dir">
221        <xsl:with-param name="context" select="." />
222      </xsl:call-template>
223    </xsl:variable>
224    <xsl:call-template name="convertpath">
225      <xsl:with-param name="path" select="$dir" />
226    </xsl:call-template>
227  </xsl:template>
228
229  <xsl:template name="output.html.stylesheets">
230    <xsl:param name="stylesheets" select="''" />
231    <xsl:variable name="pathtorootdir">
232      <xsl:call-template name="pathtorootdir" />
233    </xsl:variable>
234    <xsl:choose>
235      <xsl:when test="contains($stylesheets, ' ')">
236        <link rel="stylesheet"
237          href="{substring-before(concat($pathtorootdir, $stylesheets), ' ')}">
238          <xsl:if test="$html.stylesheet.type != ''">
239            <xsl:attribute name="type">
240              <xsl:value-of select="$html.stylesheet.type" />
241            </xsl:attribute>
242          </xsl:if>
243        </link>
244        <xsl:call-template name="output.html.stylesheets">
245          <xsl:with-param name="stylesheets" select="substring-after($stylesheets, ' ')" />
246        </xsl:call-template>
247      </xsl:when>
248      <xsl:when test="$stylesheets != ''">
249        <link rel="stylesheet" href="{concat($pathtorootdir,$stylesheets)}">
250          <xsl:if test="$html.stylesheet.type != ''">
251            <xsl:attribute name="type">
252              <xsl:value-of select="$html.stylesheet.type" />
253            </xsl:attribute>
254          </xsl:if>
255        </link>
256      </xsl:when>
257    </xsl:choose>
258  </xsl:template>
259 
260  <xsl:template name="admon.graphic">
261    <xsl:param name="node" select="." />
262    <xsl:variable name="pathtorootdir">
263      <xsl:call-template name="pathtorootdir"/>
264    </xsl:variable>
265    <xsl:value-of select="concat($pathtorootdir, $admon.graphics.path)" />
266    <xsl:choose>
267      <xsl:when test="local-name($node)='note'">note</xsl:when>
268      <xsl:when test="local-name($node)='warning'">warning</xsl:when>
269      <xsl:when test="local-name($node)='caution'">caution</xsl:when>
270      <xsl:when test="local-name($node)='tip'">tip</xsl:when>
271      <xsl:when test="local-name($node)='important'">important</xsl:when>
272      <xsl:otherwise>note</xsl:otherwise>
273    </xsl:choose>
274    <xsl:value-of select="$admon.graphics.extension" />
275  </xsl:template>
276 
277  <xsl:template match="classname">
278    <xsl:call-template name="inline.monoseq"/>
279    <xsl:call-template name="linkToJavadoc" />
280  </xsl:template>
281 
282  <xsl:template match="interfacename">
283    <xsl:call-template name="inline.monoseq"/>
284    <xsl:call-template name="linkToJavadoc" />
285  </xsl:template>
286 
287  <xsl:template name="linkToJavadoc">
288    <xsl:if test = "@docapi != ''">
289        <xsl:variable name="cleanClassName">
290          <xsl:choose>
291            <xsl:when test="starts-with(., @docapi)">
292              <xsl:value-of select="substring-after(., concat(@docapi, '.'))" />
293            </xsl:when>
294            <xsl:otherwise>
295              <xsl:value-of select="." />
296            </xsl:otherwise>
297          </xsl:choose>                     
298        </xsl:variable>
299       
300        <xsl:variable name="fullClassName">
301            <xsl:value-of select="concat(@docapi, '.', $cleanClassName)"/>
302        </xsl:variable>
303
304      <xsl:variable name="classPath">
305        <xsl:call-template name="replaceCharsInString">
306          <xsl:with-param name="stringIn" select="$fullClassName"/>
307          <xsl:with-param name="charsIn" select="'.'" />
308          <xsl:with-param name="charsOut" select="'/'" />
309        </xsl:call-template>
310        </xsl:variable>
311       
312        <xsl:variable name="pathtorootdir">
313          <xsl:call-template name="pathtorootdir" />
314        </xsl:variable>
315       
316      <a>
317        <xsl:attribute name="href">
318          <xsl:value-of select="concat($pathtorootdir, $javadoc.root.path, $classPath, '.html')" />
319        </xsl:attribute>
320        <xsl:attribute name="title">
321          <xsl:value-of select="concat('Javadoc for ', $fullClassName)" />
322        </xsl:attribute>
323        <image>
324          <xsl:attribute name="src">
325          <xsl:value-of select="concat($pathtorootdir, $admon.graphics.path, 'docapi.gif')"/>
326          </xsl:attribute> 
327          <xsl:attribute name="style">padding-left: 4px;</xsl:attribute>
328          <xsl:attribute name="border">0</xsl:attribute>
329        </image>
330      </a>
331    </xsl:if> 
332  </xsl:template>
333 
334  <xsl:template name="replaceCharsInString">
335      <xsl:param name="stringIn"/>
336      <xsl:param name="charsIn"/>
337      <xsl:param name="charsOut"/>
338      <xsl:choose>
339      <xsl:when test="contains($stringIn,$charsIn)">
340          <xsl:value-of select="concat(substring-before($stringIn,$charsIn),$charsOut)"/>
341          <xsl:call-template name="replaceCharsInString">
342            <xsl:with-param name="stringIn" select="substring-after($stringIn,$charsIn)"/>
343            <xsl:with-param name="charsIn" select="$charsIn"/>
344            <xsl:with-param name="charsOut" select="$charsOut"/>
345          </xsl:call-template>
346      </xsl:when>
347      <xsl:otherwise>
348          <xsl:value-of select="$stringIn"/>
349        </xsl:otherwise>
350      </xsl:choose>
351  </xsl:template>
352
353  <xsl:template match="lastmodified">
354    <xsl:value-of select="$doc.last.modified"/> 
355  </xsl:template>
356 
357  <xsl:template match="baseversion">
358    <xsl:value-of select="$base.version"/> 
359  </xsl:template>
360
361</xsl:stylesheet>
362
363
Note: See TracBrowser for help on using the repository browser.