source: stylesheets/lfs-xsl/docbook-xsl-1.78.1/html/component.xsl@ c3ce17e

7.6-systemd 7.7-systemd 7.8-systemd 7.9-systemd
Last change on this file since c3ce17e 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: 16.7 KB
RevLine 
[b1a51ac1]1<?xml version='1.0'?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 version='1.0'>
[c873d807]4
5<!-- ********************************************************************
[b1a51ac1]6 $Id: component.xsl 9500 2012-07-15 23:24:21Z bobstayton $
[c873d807]7 ********************************************************************
8
9 This file is part of the XSL DocBook Stylesheet distribution.
10 See ../README or http://docbook.sf.net/release/xsl/current/ for
11 copyright and other information.
12
13 ******************************************************************** -->
14
15<!-- ==================================================================== -->
16
[b1a51ac1]17<!-- Set to 2 for backwards compatibility -->
18<xsl:param name="component.heading.level" select="2"/>
19
[c873d807]20<xsl:template name="component.title">
21 <xsl:param name="node" select="."/>
22
[b1a51ac1]23 <!-- This handles the case where a component (bibliography, for example)
24 occurs inside a section; will we need parameters for this? -->
25
26 <!-- This "level" is a section level. To compute <h> level, add 1. -->
[c873d807]27 <xsl:variable name="level">
28 <xsl:choose>
[b1a51ac1]29 <!-- chapters and other book children should get <h1> -->
30 <xsl:when test="$node/parent::book">0</xsl:when>
[c873d807]31 <xsl:when test="ancestor::section">
32 <xsl:value-of select="count(ancestor::section)+1"/>
33 </xsl:when>
34 <xsl:when test="ancestor::sect5">6</xsl:when>
35 <xsl:when test="ancestor::sect4">5</xsl:when>
36 <xsl:when test="ancestor::sect3">4</xsl:when>
37 <xsl:when test="ancestor::sect2">3</xsl:when>
38 <xsl:when test="ancestor::sect1">2</xsl:when>
39 <xsl:otherwise>1</xsl:otherwise>
40 </xsl:choose>
41 </xsl:variable>
42
[b1a51ac1]43 <xsl:element name="h{$level+1}">
[c873d807]44 <xsl:attribute name="class">title</xsl:attribute>
[b1a51ac1]45 <xsl:call-template name="anchor">
46 <xsl:with-param name="node" select="$node"/>
47 <xsl:with-param name="conditional" select="0"/>
48 </xsl:call-template>
49 <xsl:apply-templates select="$node" mode="object.title.markup">
[c873d807]50 <xsl:with-param name="allow-anchors" select="1"/>
51 </xsl:apply-templates>
52 </xsl:element>
53</xsl:template>
54
55<xsl:template name="component.subtitle">
56 <xsl:param name="node" select="."/>
[b1a51ac1]57 <xsl:variable name="subtitle"
58 select="($node/docinfo/subtitle
59 |$node/info/subtitle
60 |$node/prefaceinfo/subtitle
61 |$node/chapterinfo/subtitle
62 |$node/appendixinfo/subtitle
63 |$node/articleinfo/subtitle
64 |$node/artheader/subtitle
65 |$node/subtitle)[1]"/>
[c873d807]66
67 <xsl:if test="$subtitle">
68 <h3 class="subtitle">
[b1a51ac1]69 <xsl:call-template name="id.attribute"/>
[c873d807]70 <i>
71 <xsl:apply-templates select="$node" mode="object.subtitle.markup"/>
72 </i>
73 </h3>
74 </xsl:if>
75</xsl:template>
76
77<xsl:template name="component.separator">
78</xsl:template>
79
80<!-- ==================================================================== -->
81
82<xsl:template match="dedication" mode="dedication">
83 <xsl:call-template name="id.warning"/>
84
85 <div>
[b1a51ac1]86 <xsl:call-template name="common.html.attributes">
[c873d807]87 <xsl:with-param name="inherit" select="1"/>
88 </xsl:call-template>
[b1a51ac1]89 <xsl:call-template name="id.attribute">
90 <xsl:with-param name="conditional" select="0"/>
91 </xsl:call-template>
[c873d807]92 <xsl:call-template name="dedication.titlepage"/>
93 <xsl:apply-templates/>
94 <xsl:call-template name="process.footnotes"/>
95 </div>
96</xsl:template>
97
[b1a51ac1]98<xsl:template match="dedication/title|dedication/info/title"
99 mode="titlepage.mode" priority="2">
[c873d807]100 <xsl:call-template name="component.title">
101 <xsl:with-param name="node" select="ancestor::dedication[1]"/>
102 </xsl:call-template>
103</xsl:template>
104
[b1a51ac1]105<xsl:template match="dedication/subtitle|dedication/info/subtitle"
106 mode="titlepage.mode" priority="2">
[c873d807]107 <xsl:call-template name="component.subtitle">
108 <xsl:with-param name="node" select="ancestor::dedication[1]"/>
109 </xsl:call-template>
110</xsl:template>
111
[b1a51ac1]112<xsl:template match="dedication"></xsl:template> <!-- see mode="dedication" -->
113<xsl:template match="dedication/title"></xsl:template>
114<xsl:template match="dedication/subtitle"></xsl:template>
115<xsl:template match="dedication/titleabbrev"></xsl:template>
116
117<!-- ==================================================================== -->
118
119<xsl:template match="acknowledgements" mode="acknowledgements">
120 <xsl:call-template name="id.warning"/>
121
122 <div>
123 <xsl:call-template name="common.html.attributes">
124 <xsl:with-param name="inherit" select="1"/>
125 </xsl:call-template>
126 <xsl:call-template name="id.attribute">
127 <xsl:with-param name="conditional" select="0"/>
128 </xsl:call-template>
129 <xsl:call-template name="acknowledgements.titlepage"/>
130 <xsl:apply-templates/>
131 <xsl:call-template name="process.footnotes"/>
132 </div>
133</xsl:template>
134
135<xsl:template match="acknowledgements/title|acknowledgements/info/title"
136 mode="titlepage.mode" priority="2">
137 <xsl:call-template name="component.title">
138 <xsl:with-param name="node" select="ancestor::acknowledgements[1]"/>
139 </xsl:call-template>
140</xsl:template>
141
142<xsl:template match="acknowledgements/subtitle|acknowledgements/info/subtitle"
143 mode="titlepage.mode" priority="2">
144 <xsl:call-template name="component.subtitle">
145 <xsl:with-param name="node" select="ancestor::acknowledgements[1]"/>
146 </xsl:call-template>
147</xsl:template>
148
149<xsl:template match="acknowledgements"></xsl:template> <!-- see mode="acknowledgements" -->
150<xsl:template match="acknowledgements/title"></xsl:template>
151<xsl:template match="acknowledgements/subtitle"></xsl:template>
152<xsl:template match="acknowledgements/titleabbrev"></xsl:template>
[c873d807]153
154<!-- ==================================================================== -->
155
156<xsl:template match="colophon">
157 <xsl:call-template name="id.warning"/>
158
159 <div>
[b1a51ac1]160 <xsl:call-template name="common.html.attributes">
[c873d807]161 <xsl:with-param name="inherit" select="1"/>
162 </xsl:call-template>
[b1a51ac1]163 <xsl:call-template name="id.attribute">
164 <xsl:with-param name="conditional" select="0"/>
165 </xsl:call-template>
[c873d807]166
167 <xsl:call-template name="component.separator"/>
168 <xsl:call-template name="component.title"/>
169 <xsl:call-template name="component.subtitle"/>
170
171 <xsl:apply-templates/>
172 <xsl:call-template name="process.footnotes"/>
173 </div>
174</xsl:template>
175
[b1a51ac1]176<xsl:template match="colophon/title"></xsl:template>
177<xsl:template match="colophon/subtitle"></xsl:template>
178<xsl:template match="colophon/titleabbrev"></xsl:template>
[c873d807]179
180<!-- ==================================================================== -->
181
182<xsl:template match="preface">
183 <xsl:call-template name="id.warning"/>
184
[b1a51ac1]185 <xsl:element name="{$div.element}">
186 <xsl:call-template name="common.html.attributes">
[c873d807]187 <xsl:with-param name="inherit" select="1"/>
188 </xsl:call-template>
[b1a51ac1]189 <xsl:call-template name="id.attribute">
190 <xsl:with-param name="conditional" select="0"/>
191 </xsl:call-template>
[c873d807]192
193 <xsl:call-template name="component.separator"/>
194 <xsl:call-template name="preface.titlepage"/>
195
196 <xsl:variable name="toc.params">
197 <xsl:call-template name="find.path.params">
198 <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
199 </xsl:call-template>
200 </xsl:variable>
201
202 <xsl:if test="contains($toc.params, 'toc')">
203 <xsl:call-template name="component.toc">
204 <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
205 </xsl:call-template>
206 <xsl:call-template name="component.toc.separator"/>
207 </xsl:if>
208 <xsl:apply-templates/>
209 <xsl:call-template name="process.footnotes"/>
[b1a51ac1]210 </xsl:element>
[c873d807]211</xsl:template>
212
213<xsl:template match="preface/title" mode="titlepage.mode" priority="2">
214 <xsl:call-template name="component.title">
215 <xsl:with-param name="node" select="ancestor::preface[1]"/>
216 </xsl:call-template>
217</xsl:template>
218
[b1a51ac1]219<xsl:template match="preface/subtitle
220 |preface/prefaceinfo/subtitle
221 |preface/info/subtitle
222 |preface/docinfo/subtitle"
223 mode="titlepage.mode" priority="2">
[c873d807]224 <xsl:call-template name="component.subtitle">
225 <xsl:with-param name="node" select="ancestor::preface[1]"/>
226 </xsl:call-template>
227</xsl:template>
228
[b1a51ac1]229<xsl:template match="preface/docinfo|prefaceinfo"></xsl:template>
230<xsl:template match="preface/info"></xsl:template>
231<xsl:template match="preface/title"></xsl:template>
232<xsl:template match="preface/titleabbrev"></xsl:template>
233<xsl:template match="preface/subtitle"></xsl:template>
[c873d807]234
235<!-- ==================================================================== -->
236
237<xsl:template match="chapter">
238 <xsl:call-template name="id.warning"/>
239
[b1a51ac1]240 <xsl:element name="{$div.element}">
241 <xsl:call-template name="common.html.attributes">
[c873d807]242 <xsl:with-param name="inherit" select="1"/>
243 </xsl:call-template>
[b1a51ac1]244 <xsl:call-template name="id.attribute">
245 <xsl:with-param name="conditional" select="0"/>
246 </xsl:call-template>
[c873d807]247
248 <xsl:call-template name="component.separator"/>
249 <xsl:call-template name="chapter.titlepage"/>
250
251 <xsl:variable name="toc.params">
252 <xsl:call-template name="find.path.params">
253 <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
254 </xsl:call-template>
255 </xsl:variable>
256 <xsl:if test="contains($toc.params, 'toc')">
257 <xsl:call-template name="component.toc">
258 <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
259 </xsl:call-template>
260 <xsl:call-template name="component.toc.separator"/>
261 </xsl:if>
262 <xsl:apply-templates/>
263 <xsl:call-template name="process.footnotes"/>
[b1a51ac1]264 </xsl:element>
[c873d807]265</xsl:template>
266
[b1a51ac1]267<xsl:template match="chapter/title|chapter/chapterinfo/title|chapter/info/title"
268 mode="titlepage.mode" priority="2">
[c873d807]269 <xsl:call-template name="component.title">
270 <xsl:with-param name="node" select="ancestor::chapter[1]"/>
271 </xsl:call-template>
272</xsl:template>
273
[b1a51ac1]274<xsl:template match="chapter/subtitle
275 |chapter/chapterinfo/subtitle
276 |chapter/info/subtitle
277 |chapter/docinfo/subtitle"
278 mode="titlepage.mode" priority="2">
[c873d807]279 <xsl:call-template name="component.subtitle">
280 <xsl:with-param name="node" select="ancestor::chapter[1]"/>
281 </xsl:call-template>
282</xsl:template>
283
[b1a51ac1]284<xsl:template match="chapter/docinfo|chapterinfo"></xsl:template>
285<xsl:template match="chapter/info"></xsl:template>
286<xsl:template match="chapter/title"></xsl:template>
287<xsl:template match="chapter/titleabbrev"></xsl:template>
288<xsl:template match="chapter/subtitle"></xsl:template>
[c873d807]289
290<!-- ==================================================================== -->
291
292<xsl:template match="appendix">
293 <xsl:variable name="ischunk">
294 <xsl:call-template name="chunk"/>
295 </xsl:variable>
296
297 <xsl:call-template name="id.warning"/>
298
[b1a51ac1]299 <xsl:element name="{$div.element}">
300 <xsl:call-template name="common.html.attributes">
[c873d807]301 <xsl:with-param name="inherit" select="1"/>
302 </xsl:call-template>
[b1a51ac1]303 <xsl:call-template name="id.attribute">
304 <xsl:with-param name="conditional" select="0"/>
305 </xsl:call-template>
[c873d807]306
307 <xsl:choose>
308 <xsl:when test="parent::article and $ischunk = 0">
309 <xsl:call-template name="section.heading">
310 <xsl:with-param name="level" select="1"/>
311 <xsl:with-param name="title">
312 <xsl:apply-templates select="." mode="object.title.markup"/>
313 </xsl:with-param>
314 </xsl:call-template>
315 </xsl:when>
316 <xsl:otherwise>
317 <xsl:call-template name="component.separator"/>
318 <xsl:call-template name="appendix.titlepage"/>
319 </xsl:otherwise>
320 </xsl:choose>
321
322 <xsl:variable name="toc.params">
323 <xsl:call-template name="find.path.params">
324 <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
325 </xsl:call-template>
326 </xsl:variable>
327
328 <xsl:if test="contains($toc.params, 'toc')">
329 <xsl:call-template name="component.toc">
330 <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
331 </xsl:call-template>
332 <xsl:call-template name="component.toc.separator"/>
333 </xsl:if>
334
335 <xsl:apply-templates/>
336
337 <xsl:if test="not(parent::article) or $ischunk != 0">
338 <xsl:call-template name="process.footnotes"/>
339 </xsl:if>
[b1a51ac1]340 </xsl:element>
[c873d807]341</xsl:template>
342
[b1a51ac1]343<xsl:template match="appendix/title|appendix/appendixinfo/title"
344 mode="titlepage.mode" priority="2">
[c873d807]345 <xsl:call-template name="component.title">
346 <xsl:with-param name="node" select="ancestor::appendix[1]"/>
347 </xsl:call-template>
348</xsl:template>
349
[b1a51ac1]350<xsl:template match="appendix/subtitle
351 |appendix/appendixinfo/subtitle
352 |appendix/info/subtitle
353 |appendix/docinfo/subtitle"
354 mode="titlepage.mode" priority="2">
[c873d807]355 <xsl:call-template name="component.subtitle">
356 <xsl:with-param name="node" select="ancestor::appendix[1]"/>
357 </xsl:call-template>
358</xsl:template>
359
[b1a51ac1]360<xsl:template match="appendix/docinfo|appendixinfo"></xsl:template>
361<xsl:template match="appendix/info"></xsl:template>
362<xsl:template match="appendix/title"></xsl:template>
363<xsl:template match="appendix/titleabbrev"></xsl:template>
364<xsl:template match="appendix/subtitle"></xsl:template>
[c873d807]365
366<!-- ==================================================================== -->
367
368<xsl:template match="article">
369 <xsl:call-template name="id.warning"/>
370
[b1a51ac1]371 <xsl:element name="{$div.element}">
372 <xsl:call-template name="common.html.attributes">
[c873d807]373 <xsl:with-param name="inherit" select="1"/>
374 </xsl:call-template>
[b1a51ac1]375 <xsl:call-template name="id.attribute">
376 <xsl:with-param name="conditional" select="0"/>
377 </xsl:call-template>
[c873d807]378
379 <xsl:call-template name="article.titlepage"/>
380
381 <xsl:variable name="toc.params">
382 <xsl:call-template name="find.path.params">
383 <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
384 </xsl:call-template>
385 </xsl:variable>
386
387 <xsl:call-template name="make.lots">
388 <xsl:with-param name="toc.params" select="$toc.params"/>
389 <xsl:with-param name="toc">
390 <xsl:call-template name="component.toc">
391 <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
392 </xsl:call-template>
393 </xsl:with-param>
394 </xsl:call-template>
395
396 <xsl:apply-templates/>
397 <xsl:call-template name="process.footnotes"/>
[b1a51ac1]398 </xsl:element>
[c873d807]399</xsl:template>
400
[60a5a938]401<xsl:template match="article/title|article/articleinfo/title" mode="titlepage.mode" priority="2">
[c873d807]402 <xsl:call-template name="component.title">
403 <xsl:with-param name="node" select="ancestor::article[1]"/>
404 </xsl:call-template>
405</xsl:template>
406
[b1a51ac1]407<xsl:template match="article/subtitle
408 |article/articleinfo/subtitle
409 |article/info/subtitle
410 |article/artheader/subtitle"
411 mode="titlepage.mode" priority="2">
[c873d807]412 <xsl:call-template name="component.subtitle">
413 <xsl:with-param name="node" select="ancestor::article[1]"/>
414 </xsl:call-template>
415</xsl:template>
416
[b1a51ac1]417<xsl:template match="article/artheader|article/articleinfo"></xsl:template>
418<xsl:template match="article/info"></xsl:template>
419<xsl:template match="article/title"></xsl:template>
420<xsl:template match="article/titleabbrev"></xsl:template>
421<xsl:template match="article/subtitle"></xsl:template>
[c873d807]422
423<!-- ==================================================================== -->
424
[b1a51ac1]425<xsl:template match="topic">
426 <xsl:call-template name="id.warning"/>
427
428 <xsl:element name="{$div.element}">
429 <xsl:call-template name="common.html.attributes">
430 <xsl:with-param name="inherit" select="1"/>
431 </xsl:call-template>
432 <xsl:call-template name="id.attribute">
433 <xsl:with-param name="conditional" select="0"/>
434 </xsl:call-template>
435
436 <xsl:call-template name="topic.titlepage"/>
437
438 <xsl:variable name="toc.params">
439 <xsl:call-template name="find.path.params">
440 <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
441 </xsl:call-template>
442 </xsl:variable>
443
444 <xsl:apply-templates/>
445
446 <xsl:call-template name="process.footnotes"/>
447 </xsl:element>
448</xsl:template>
449
450<xsl:template match="topic/title|topic/info/title" mode="titlepage.mode" priority="2">
451 <xsl:call-template name="component.title">
452 <xsl:with-param name="node" select="ancestor::topic[1]"/>
453 </xsl:call-template>
454</xsl:template>
455
456<xsl:template match="topic/subtitle
457 |topic/info/subtitle"
458 mode="titlepage.mode" priority="2">
459 <xsl:call-template name="component.subtitle">
460 <xsl:with-param name="node" select="ancestor::topic[1]"/>
461 </xsl:call-template>
462</xsl:template>
463
464<xsl:template match="topic/info"></xsl:template>
465<xsl:template match="topic/title"></xsl:template>
466<xsl:template match="topic/titleabbrev"></xsl:template>
467<xsl:template match="topic/subtitle"></xsl:template>
468
[c873d807]469</xsl:stylesheet>
[b1a51ac1]470
Note: See TracBrowser for help on using the repository browser.