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

Last change on this file since 5971 was 5971, checked in by Nicklas Nordborg, 10 years ago

References #1655: GUI improvements

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