source: stylesheets/lfs-xsl/docbook-xsl-1.78.1/slides/xhtml/plain.xsl@ ef61d078

7.6-systemd 7.7-systemd 7.8-systemd 7.9-systemd
Last change on this file since ef61d078 was b1a51ac1, checked in by Krejzi <krejzi@…>, 11 years ago

Import new branch

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd/BOOK@10389 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 15.8 KB
RevLine 
[b1a51ac1]1<?xml version="1.0" encoding="ASCII"?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns="http://www.w3.org/1999/xhtml"
4 xmlns:xlink="http://www.w3.org/1999/xlink"
5 xmlns:db="http://docbook.org/ns/docbook"
6 xmlns:dbs="http://docbook.org/ns/docbook-slides"
7 xmlns:exsl="http://exslt.org/common"
8 exclude-result-prefixes="dbs db xlink"
9 extension-element-prefixes="exsl"
10 version="1.0">
11
12<xsl:import href="../../xhtml/chunk.xsl"/>
13<xsl:import href="../common/common.xsl"/>
14<xsl:import href="plain-titlepage.xsl"/>
15<xsl:import href="param.xsl"/>
16
17<xsl:param name="local.l10n.xml" select="document('')"/>
18<i18n xmlns="http://docbook.sourceforge.net/xmlns/l10n/1.0">
19 <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0" language="en">
20 <l:gentext key="Foilgroup" text="Foil Group"/>
21 <l:gentext key="Foil" text="Foil"/>
22 <l:gentext key="Speakernotes" text="Speaker Notes"/>
23 <l:gentext key="Handoutnotes" text="Handout Notes"/>
24 <l:gentext key="SVGImage" text="SVG image"/>
25 <l:gentext key="MathMLFormula" text="MathML formula"/>
26
27 <l:context name="title">
28 <l:gentext key="foil" text="Foil %n %t"/>
29 <l:gentext key="foilgroup" text="Foil %n %t"/>
30 </l:context>
31 </l:l10n>
32</i18n>
33
34<!-- Overrides from DocBook XSL -->
35<xsl:template name="process.qanda.toc"/>
36
37<!-- Main content starts here -->
38
39<xsl:template name="xhtml.head">
40 <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
41 <link rel="stylesheet" href="{$user.css}" type="text/css"/>
42</xsl:template>
43
44<xsl:template name="slideshow.head"/>
45
46<xsl:template name="slideshow.content">
47 <div class="presentation">
48 <xsl:if test="$generate.titlepage != 0">
49 <xsl:apply-templates select="/dbs:slides" mode="titlepage"/>
50 </xsl:if>
51
52 <xsl:apply-templates select="/dbs:slides/dbs:foil|dbs:slides/dbs:foilgroup"/>
53 </div>
54</xsl:template>
55
56<xsl:template match="/dbs:slides" mode="titlepage">
57 <xsl:call-template name="slides.titlepage"/>
58</xsl:template>
59
60<xsl:template name="slide.notes">
61 <xsl:if test="($generate.speakernotes != 0) and ./dbs:speakernotes">
62 <div class="notes">
63 <h2 class="notes">
64 <xsl:call-template name="gentext">
65 <xsl:with-param name="key" select="'Speakernotes'"/>
66 </xsl:call-template>
67 </h2>
68
69 <xsl:apply-templates select="dbs:speakernotes" mode="notes.mode"/>
70 </div>
71 </xsl:if>
72
73 <xsl:if test="($generate.handoutnotes != 0) and ./dbs:handoutnotes">
74 <div class="handout">
75 <h2 class="handout">
76 <xsl:call-template name="gentext">
77 <xsl:with-param name="key" select="'Handoutnotes'"/>
78 </xsl:call-template>
79 </h2>
80
81 <xsl:apply-templates select="dbs:handoutnotes" mode="notes.mode"/>
82 </div>
83 </xsl:if>
84</xsl:template>
85
86<xsl:template match="/">
87 <html>
88 <xsl:if test="/dbs:slides/@xml:lang">
89 <xsl:attribute name="xml:lang">
90 <xsl:value-of select="/dbs:slides/@xml:lang"/>
91 </xsl:attribute>
92 </xsl:if>
93
94 <head>
95 <title>
96 <xsl:call-template name="get.title">
97 <xsl:with-param name="ctx" select="/dbs:slides"/>
98 </xsl:call-template>
99 </title>
100
101 <xsl:call-template name="xhtml.head"/>
102 </head>
103
104 <body>
105 <xsl:call-template name="slideshow.head"/>
106
107 <xsl:call-template name="slideshow.content"/>
108 </body>
109 </html>
110</xsl:template>
111
112<xsl:template name="foilgroup.content">
113 <xsl:apply-templates select="*[not(self::dbs:foil)]"/>
114
115 <xsl:if test="($generate.foilgroup.toc != 0)">
116 <xsl:choose>
117 <xsl:when test="($generate.foilgroup.numbered.toc != 0)">
118 <ol>
119 <xsl:for-each select="dbs:foil">
120 <li><xsl:call-template name="get.title"/></li>
121 </xsl:for-each>
122 </ol>
123 </xsl:when>
124
125 <xsl:otherwise>
126 <ul>
127 <xsl:for-each select="dbs:foil">
128 <li><xsl:call-template name="get.title"/></li>
129 </xsl:for-each>
130 </ul>
131 </xsl:otherwise>
132 </xsl:choose>
133 </xsl:if>
134</xsl:template>
135
136<xsl:template name="foil.classes">
137 <xsl:variable name="classValue">
138 <xsl:call-template name="process.dbs.attributes">
139 <!-- Do not put incremental or collapsible on foils -->
140 <xsl:with-param name="attributeSet" select="self::*/@dbs:style"/>
141 <xsl:with-param name="stored">
142 <xsl:value-of select="'slide'"/>
143 <xsl:if test="@*[namespace-uri() = 'http://docbook.org/ns/docbook-slides']">
144 <xsl:text> </xsl:text>
145 </xsl:if>
146 </xsl:with-param>
147 </xsl:call-template>
148 </xsl:variable>
149
150 <xsl:attribute name="class">
151 <xsl:value-of select="$classValue"/>
152 </xsl:attribute>
153</xsl:template>
154
155<xsl:template match="dbs:foilgroup">
156 <xsl:call-template name="generate.anchor"/>
157 <div>
158 <xsl:call-template name="foil.classes"/>
159
160 <xsl:choose>
161 <xsl:when test="($wrap.slidecontent != 0)">
162 <div class="slidecontent">
163 <xsl:call-template name="foilgroup.content"/>
164 </div>
165 </xsl:when>
166
167 <xsl:otherwise>
168 <xsl:call-template name="foilgroup.content"/>
169 </xsl:otherwise>
170 </xsl:choose>
171
172 <xsl:call-template name="slide.notes"/>
173 </div>
174
175 <xsl:apply-templates select="dbs:foil"/>
176</xsl:template>
177
178<xsl:template match="dbs:foil">
179 <xsl:call-template name="generate.anchor"/>
180 <div>
181 <xsl:call-template name="foil.classes"/>
182
183 <xsl:choose>
184 <xsl:when test="($wrap.slidecontent != 0)">
185 <div class="slidecontent">
186 <xsl:apply-templates select="*"/>
187 </div>
188 </xsl:when>
189
190 <xsl:otherwise>
191 <xsl:apply-templates/>
192 </xsl:otherwise>
193 </xsl:choose>
194
195 <xsl:call-template name="process.footnotes"/>
196
197 <xsl:call-template name="slide.notes"/>
198 </div>
199</xsl:template>
200
201<xsl:template match="dbs:handoutnotes"/>
202
203<xsl:template match="dbs:speakernotes"/>
204
205<xsl:template match="dbs:handoutnotes" mode="notes.mode">
206 <div class="handoutnotes">
207 <xsl:apply-templates/>
208 </div>
209</xsl:template>
210
211<xsl:template match="dbs:speakernotes" mode="notes.mode">
212 <div class="speakernotes">
213 <xsl:apply-templates/>
214 </div>
215</xsl:template>
216
217<xsl:template name="process.dbs.attributes">
218 <xsl:param name="attributeSet"/>
219 <xsl:param name="stored" select="''"/>
220
221 <xsl:variable name="gotIncremental">
222 <xsl:if test="((local-name($attributeSet[1]) = 'incremental') and ($attributeSet[1] = '1'))">1</xsl:if>
223 </xsl:variable>
224
225 <xsl:variable name="enableIncremental">
226 <xsl:if test="($disable.incremental = '0') and ($gotIncremental = '1')">1</xsl:if>
227 </xsl:variable>
228
229 <xsl:variable name="gotCollapsible">
230 <xsl:if test="((local-name($attributeSet[1]) = 'collapsible') and ($attributeSet[1] = '1'))">1</xsl:if>
231 </xsl:variable>
232
233 <xsl:variable name="enableCollapsible">
234 <xsl:if test="($disable.collapsible = '0') and ($gotCollapsible = '1')">1</xsl:if>
235 </xsl:variable>
236
237 <xsl:variable name="append">
238 <xsl:choose>
239 <xsl:when test="local-name($attributeSet[1]) = 'style'">
240 <xsl:value-of select="$attributeSet[1]"/>
241 </xsl:when>
242
243 <xsl:when test="$enableCollapsible = '1'">
244 <xsl:value-of select="'outline'"/>
245 </xsl:when>
246
247 <xsl:when test="$enableIncremental = '1'">
248 <xsl:value-of select="'incremental'"/>
249 </xsl:when>
250 </xsl:choose>
251
252 <xsl:if test="count($attributeSet) &gt; 1">
253 <xsl:text> </xsl:text>
254 </xsl:if>
255 </xsl:variable>
256
257 <xsl:choose>
258 <xsl:when test="not($attributeSet)">
259 <xsl:value-of select="$stored"/>
260 </xsl:when>
261
262 <xsl:when test="count($attributeSet) &lt;= 1">
263 <xsl:value-of select="concat($stored, $append)"/>
264 </xsl:when>
265
266 <xsl:otherwise>
267 <xsl:call-template name="process.dbs.attributes">
268 <xsl:with-param name="attributeSet" select="$attributeSet[position() != 1]"/>
269 <xsl:with-param name="stored" select="concat($stored, $append)"/>
270 </xsl:call-template>
271 </xsl:otherwise>
272 </xsl:choose>
273</xsl:template>
274
275<xsl:template match="dbs:block">
276 <xsl:variable name="classValue">
277 <xsl:call-template name="process.dbs.attributes">
278 <xsl:with-param name="attributeSet" select="(ancestor-or-self::*/@dbs:incremental)[last()] | (ancestor-or-self::*/@dbs:collapsible)[last()] | self::*/@dbs:style"/>
279 </xsl:call-template>
280 </xsl:variable>
281
282 <div class="{$classValue}">
283 <xsl:apply-templates/>
284 </div>
285</xsl:template>
286
287<xsl:template match="db:info">
288 <xsl:apply-templates select="db:title|db:titleabbrev|db:subtitle|db:author|db:authorgroup/db:author"/>
289</xsl:template>
290
291<xsl:template match="db:title|db:titleabbrev">
292 <xsl:if test="not(self::db:title) or (not(preceding-sibling::db:titleabbrev) and not(following-sibling::db:titleabbrev))">
293 <h1 class="title"><xsl:value-of select="."/></h1>
294 </xsl:if>
295</xsl:template>
296
297<xsl:template match="db:subtitle">
298 <h1 class="subtitle"><xsl:value-of select="."/></h1>
299</xsl:template>
300
301<xsl:template match="db:author">
302 <h3 class="author"><xsl:apply-templates select="db:personname|db:orgname"/></h3>
303 <h4 class="email"><xsl:apply-templates select="db:email"/></h4>
304 <xsl:if test="db:affiliation">
305 <h4 class="affiliation"><xsl:value-of select="db:affiliation"/></h4>
306 </xsl:if>
307</xsl:template>
308
309<xsl:template match="db:email">
310 <a>
311 <xsl:attribute name="href">
312 <xsl:text>mailto:</xsl:text><xsl:value-of select="."/>
313 </xsl:attribute>
314
315 &lt;<xsl:value-of select="."/>&gt;
316 </a>
317</xsl:template>
318
319<xsl:template name="list.content">
320 <xsl:variable name="classValue">
321 <xsl:call-template name="process.dbs.attributes">
322 <xsl:with-param name="attributeSet" select="(ancestor-or-self::*/@dbs:incremental)[last()] | (ancestor-or-self::*/@dbs:collapsible)[last()] | self::*/@dbs:style"/>
323 </xsl:call-template>
324 </xsl:variable>
325
326 <xsl:attribute name="class">
327 <xsl:value-of select="$classValue"/>
328 </xsl:attribute>
329
330 <xsl:apply-templates select="*"/>
331</xsl:template>
332
333<xsl:template match="db:itemizedlist">
334 <ul>
335 <xsl:call-template name="list.content"/>
336 </ul>
337</xsl:template>
338
339<xsl:template match="db:orderedlist">
340 <ol>
341 <xsl:call-template name="list.content"/>
342 </ol>
343</xsl:template>
344
345<xsl:template match="db:mediaobject">
346 <xsl:variable name="classValue">
347 <xsl:call-template name="process.dbs.attributes">
348 <xsl:with-param name="attributeSet" select="(ancestor-or-self::*/@dbs:incremental)[last()] | (ancestor-or-self::*/@dbs:collapsible)[last()] | self::*/@dbs:style"/>
349 </xsl:call-template>
350 </xsl:variable>
351
352 <div class="{$classValue}">
353 <xsl:apply-templates select="db:imageobject[1]"/>
354 </div>
355</xsl:template>
356
357<xsl:template name="bibliography.titlepage"/>
358
359<xsl:template match="db:bibliosource" mode="bibliography.mode">
360 <span>
361 <xsl:call-template name="common.html.attributes"/>
362 <xsl:call-template name="id.attribute"/>
363 <xsl:choose>
364 <xsl:when test="@xlink:href">
365 <a href="{@xlink:href}">
366 <xsl:apply-templates mode="bibliography.mode"/>
367 </a>
368 </xsl:when>
369
370 <xsl:otherwise>
371 <xsl:apply-templates mode="bibliomixed.mode"/>
372 </xsl:otherwise>
373 </xsl:choose>
374 </span>
375</xsl:template>
376
377<xsl:template name="href.target.uri">
378 <xsl:param name="object" select="."/>
379 <xsl:variable name="ischunk">
380 <xsl:call-template name="chunk">
381 <xsl:with-param name="node" select="$object"/>
382 </xsl:call-template>
383 </xsl:variable>
384
385 <xsl:if test="$ischunk='0'">
386 <xsl:text>#</xsl:text>
387 <xsl:call-template name="object.id">
388 <xsl:with-param name="object" select="$object"/>
389 </xsl:call-template>
390 </xsl:if>
391</xsl:template>
392
393<xsl:template match="dbs:foil|dbs:foilgroup" mode="xref-to">
394 <xsl:call-template name="gentext">
395 <xsl:with-param name="key" select="'Foil'"/>
396 </xsl:call-template>
397 <xsl:call-template name="gentext.space"/>
398 <xsl:value-of select="count(preceding::dbs:foil|preceding::dbs:foilgroup) + 1"/>
399 <xsl:text>: </xsl:text>
400 <xsl:call-template name="get.title"/>
401</xsl:template>
402
403<xsl:template name="extension.process.image.attributes">
404 <xsl:variable name="classValue">
405 <xsl:call-template name="process.dbs.attributes">
406 <xsl:with-param name="attributeSet" select="(ancestor-or-self::*/@dbs:incremental)[last()] | (ancestor-or-self::*/@dbs:collapsible)[last()] | self::*/@dbs:style"/>
407 </xsl:call-template>
408 </xsl:variable>
409
410 <xsl:if test="./@*[namespace-uri() = 'http://docbook.org/ns/docbook-slides']">
411 <xsl:attribute name="class">
412 <xsl:value-of select="$classValue"/>
413 </xsl:attribute>
414 </xsl:if>
415</xsl:template>
416
417<xsl:template match="*[namespace-uri() = 'http://www.w3.org/2000/svg']">
418 <xsl:call-template name="handle.embedded">
419 <xsl:with-param name="modeParam" select="$svg.embedding.mode"/>
420 <xsl:with-param name="fileExt" select="'.svg'"/>
421 <xsl:with-param name="mimeType" select="'image/svg+xml'"/>
422 <xsl:with-param name="gentextKey" select="'SVGImage'"/>
423 </xsl:call-template>
424</xsl:template>
425
426<xsl:template match="*[namespace-uri() = 'http://www.w3.org/1998/Math/MathML']">
427 <xsl:call-template name="handle.embedded">
428 <xsl:with-param name="modeParam" select="$mml.embedding.mode"/>
429 <xsl:with-param name="fileExt" select="'.mml'"/>
430 <xsl:with-param name="mimeType" select="'application/mathml-presentation+xml'"/>
431 <xsl:with-param name="gentextKey" select="'MathMLFormula'"/>
432 </xsl:call-template>
433</xsl:template>
434
435<xsl:template name="handle.embedded">
436 <xsl:param name="modeParam">inline</xsl:param>
437 <xsl:param name="fileExt"/>
438 <xsl:param name="mimeType"/>
439 <xsl:param name="gentextKey"/>
440
441 <xsl:choose>
442 <xsl:when test="$modeParam = 'inline'">
443 <xsl:copy-of select="."/>
444 </xsl:when>
445
446 <xsl:otherwise>
447 <xsl:variable name="id">
448 <xsl:call-template name="object.id"/>
449 </xsl:variable>
450 <xsl:variable name="fname">
451 <xsl:value-of select="concat($id, $fileExt)"/>
452 </xsl:variable>
453
454 <exsl:document href="{$fname}">
455 <xsl:copy-of select="."/>
456 </exsl:document>
457
458 <xsl:choose>
459 <xsl:when test="$modeParam = 'object'">
460 <object data="{$fname}" type="{$mimeType}"/>
461 </xsl:when>
462
463 <xsl:when test="$modeParam = 'image'">
464 <img alt="{$mimeType} object" src="{$fname}"/>
465 </xsl:when>
466
467 <xsl:when test="$modeParam = 'link'">
468 <a href="{$fname}">
469 <xsl:call-template name="gentext">
470 <xsl:with-param name="key" select="$gentextKey"/>
471 </xsl:call-template>
472 </a>
473 </xsl:when>
474
475 <xsl:when test="$modeParam = 'iframe'">
476 <iframe src="{$fname}"/>
477 </xsl:when>
478
479 <xsl:when test="$modeParam = 'embed'">
480 <embed src="{$fname}" type="{$mimeType}" />
481 </xsl:when>
482
483 <xsl:otherwise>
484 <xsl:message terminate="yes">
485 Unknown processing mode <xsl:value-of select="$modeParam"/>.
486 </xsl:message>
487 </xsl:otherwise>
488 </xsl:choose>
489 </xsl:otherwise>
490 </xsl:choose>
491</xsl:template>
492
493<xsl:template name="generate.anchor">
494 <a>
495 <xsl:attribute name="name">
496 <xsl:call-template name="object.id"/>
497 </xsl:attribute>
498 </a>
499</xsl:template>
500
501<xsl:template name="slide.copyright">
502 <div class="copyright">
503 <xsl:call-template name="gentext">
504 <xsl:with-param name="key" select="'Copyright'"/>
505 </xsl:call-template>
506 <xsl:call-template name="gentext.space"/>
507 <xsl:text>&#xa9;</xsl:text>
508 <xsl:call-template name="gentext.space"/>
509 <xsl:value-of select="/dbs:slides/db:info/db:copyright/db:year"/>
510 <xsl:call-template name="gentext.space"/>
511 <xsl:value-of select="/dbs:slides/db:info/db:copyright/db:holder"/>
512 </div>
513</xsl:template>
514
515<xsl:template name="slide.pubdate">
516 <div class="pubdate">
517 <xsl:call-template name="gentext">
518 <xsl:with-param name="key" select="'Published'"/>
519 </xsl:call-template>
520 <xsl:text>: </xsl:text>
521 <xsl:value-of select="/dbs:slides/db:info/db:pubdate"/>
522 </div>
523</xsl:template>
524
525<xsl:template match="/" mode="slide.header.mode"/>
526
527<xsl:template match="/" mode="slide.footer.mode">
528 <xsl:if test="($generate.copyright != 0) and /dbs:slides/db:info/db:copyright">
529 <xsl:call-template name="slide.copyright"/>
530 </xsl:if>
531 <xsl:if test="($generate.pubdate != 0) and /dbs:slides/db:info/db:pubdate">
532 <xsl:call-template name="slide.pubdate"/>
533 </xsl:if>
534</xsl:template>
535</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.