OLD | NEW |
| (Empty) |
1 <?xml version="1.0" encoding="US-ASCII"?> | |
2 <!--This file was created automatically by xsl2profile--> | |
3 <!--from the DocBook XSL stylesheets.--> | |
4 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ng="http:
//docbook.org/docbook-ng" xmlns:db="http://docbook.org/ns/docbook" xmlns:exsl="h
ttp://exslt.org/common" xmlns:exslt="http://exslt.org/common" exslt:dummy="dummy
" ng:dummy="dummy" db:dummy="dummy" extension-element-prefixes="exslt" exclude-r
esult-prefixes="db ng exsl exslt exslt" version="1.0"> | |
5 | |
6 <xsl:output method="html" encoding="ISO-8859-1" indent="no"/> | |
7 | |
8 <!-- ******************************************************************** | |
9 $Id: docbook.xsl 9605 2012-09-18 10:48:54Z tom_schr $ | |
10 ******************************************************************** | |
11 | |
12 This file is part of the XSL DocBook Stylesheet distribution. | |
13 See ../README or http://docbook.sf.net/release/xsl/current/ for | |
14 copyright and other information. | |
15 | |
16 ******************************************************************** --> | |
17 | |
18 <!-- ==================================================================== --> | |
19 | |
20 <xsl:include href="../VERSION.xsl"/> | |
21 <xsl:include href="param.xsl"/> | |
22 <xsl:include href="../lib/lib.xsl"/> | |
23 <xsl:include href="../common/l10n.xsl"/> | |
24 <xsl:include href="../common/common.xsl"/> | |
25 <xsl:include href="../common/utility.xsl"/> | |
26 <xsl:include href="../common/labels.xsl"/> | |
27 <xsl:include href="../common/titles.xsl"/> | |
28 <xsl:include href="../common/subtitles.xsl"/> | |
29 <xsl:include href="../common/gentext.xsl"/> | |
30 <xsl:include href="../common/targets.xsl"/> | |
31 <xsl:include href="../common/olink.xsl"/> | |
32 <xsl:include href="../common/pi.xsl"/> | |
33 <xsl:include href="autotoc.xsl"/> | |
34 <xsl:include href="autoidx.xsl"/> | |
35 <xsl:include href="lists.xsl"/> | |
36 <xsl:include href="callout.xsl"/> | |
37 <xsl:include href="verbatim.xsl"/> | |
38 <xsl:include href="graphics.xsl"/> | |
39 <xsl:include href="xref.xsl"/> | |
40 <xsl:include href="formal.xsl"/> | |
41 <xsl:include href="table.xsl"/> | |
42 <xsl:include href="htmltbl.xsl"/> | |
43 <xsl:include href="sections.xsl"/> | |
44 <xsl:include href="inline.xsl"/> | |
45 <xsl:include href="footnote.xsl"/> | |
46 <xsl:include href="html.xsl"/> | |
47 <xsl:include href="info.xsl"/> | |
48 <xsl:include href="keywords.xsl"/> | |
49 <xsl:include href="division.xsl"/> | |
50 <xsl:include href="toc.xsl"/> | |
51 <xsl:include href="index.xsl"/> | |
52 <xsl:include href="refentry.xsl"/> | |
53 <xsl:include href="math.xsl"/> | |
54 <xsl:include href="admon.xsl"/> | |
55 <xsl:include href="component.xsl"/> | |
56 <xsl:include href="biblio.xsl"/> | |
57 <xsl:include href="biblio-iso690.xsl"/> | |
58 <xsl:include href="glossary.xsl"/> | |
59 <xsl:include href="block.xsl"/> | |
60 <xsl:include href="task.xsl"/> | |
61 <xsl:include href="qandaset.xsl"/> | |
62 <xsl:include href="synop.xsl"/> | |
63 <xsl:include href="titlepage.xsl"/> | |
64 <xsl:include href="titlepage.templates.xsl"/> | |
65 <xsl:include href="pi.xsl"/> | |
66 <xsl:include href="ebnf.xsl"/> | |
67 <xsl:include href="chunker.xsl"/> | |
68 <xsl:include href="html-rtf.xsl"/> | |
69 <xsl:include href="annotations.xsl"/> | |
70 <xsl:include href="../common/stripns.xsl"/> | |
71 | |
72 <xsl:param name="stylesheet.result.type" select="'html'"/> | |
73 <xsl:param name="htmlhelp.output" select="0"/> | |
74 | |
75 <!-- ==================================================================== --> | |
76 | |
77 <xsl:key name="id" match="*" use="@id|@xml:id"/> | |
78 <xsl:key name="gid" match="*" use="generate-id()"/> | |
79 | |
80 <!-- ==================================================================== --> | |
81 | |
82 <xsl:template match="*"> | |
83 <xsl:message> | |
84 <xsl:text>Element </xsl:text> | |
85 <xsl:value-of select="local-name(.)"/> | |
86 <xsl:text> in namespace '</xsl:text> | |
87 <xsl:value-of select="namespace-uri(.)"/> | |
88 <xsl:text>' encountered</xsl:text> | |
89 <xsl:if test="parent::*"> | |
90 <xsl:text> in </xsl:text> | |
91 <xsl:value-of select="name(parent::*)"/> | |
92 </xsl:if> | |
93 <xsl:text>, but no template matches.</xsl:text> | |
94 </xsl:message> | |
95 | |
96 <span style="color: red"> | |
97 <xsl:text><</xsl:text> | |
98 <xsl:value-of select="name(.)"/> | |
99 <xsl:text>></xsl:text> | |
100 <xsl:apply-templates/> | |
101 <xsl:text></</xsl:text> | |
102 <xsl:value-of select="name(.)"/> | |
103 <xsl:text>></xsl:text> | |
104 </span> | |
105 </xsl:template> | |
106 | |
107 <xsl:template match="text()"> | |
108 <xsl:value-of select="."/> | |
109 </xsl:template> | |
110 | |
111 <xsl:template name="body.attributes"> | |
112 <xsl:attribute name="bgcolor">white</xsl:attribute> | |
113 <xsl:attribute name="text">black</xsl:attribute> | |
114 <xsl:attribute name="link">#0000FF</xsl:attribute> | |
115 <xsl:attribute name="vlink">#840084</xsl:attribute> | |
116 <xsl:attribute name="alink">#0000FF</xsl:attribute> | |
117 <xsl:if test="starts-with($writing.mode, 'rl')"> | |
118 <xsl:attribute name="dir">rtl</xsl:attribute> | |
119 </xsl:if> | |
120 </xsl:template> | |
121 | |
122 <xsl:template name="head.content.base"> | |
123 <xsl:param name="node" select="."/> | |
124 <base href="{$html.base}"/> | |
125 </xsl:template> | |
126 | |
127 <xsl:template name="head.content.abstract"> | |
128 <xsl:param name="node" select="."/> | |
129 <xsl:variable name="info" select="(articleinfo |bookinfo |prefaceinfo
|chapterinfo |appendixinfo |sectioninfo |sect1info |sect2inf
o |sect3info |sect4info |sect5info |referenceinfo |refentryi
nfo |partinfo |info |docinfo)[1]"/> | |
130 <xsl:if test="$info and $info/abstract"> | |
131 <meta name="description"> | |
132 <xsl:attribute name="content"> | |
133 <xsl:for-each select="$info/abstract[1]/*"> | |
134 <xsl:value-of select="normalize-space(.)"/> | |
135 <xsl:if test="position() < last()"> | |
136 <xsl:text> </xsl:text> | |
137 </xsl:if> | |
138 </xsl:for-each> | |
139 </xsl:attribute> | |
140 </meta> | |
141 </xsl:if> | |
142 </xsl:template> | |
143 | |
144 <xsl:template name="head.content.link.made"> | |
145 <xsl:param name="node" select="."/> | |
146 | |
147 <link rev="made" href="{$link.mailto.url}"/> | |
148 </xsl:template> | |
149 | |
150 <xsl:template name="head.content.generator"> | |
151 <xsl:param name="node" select="."/> | |
152 <meta name="generator" content="DocBook {$DistroTitle} V{$VERSION}"/> | |
153 </xsl:template> | |
154 | |
155 <xsl:template name="head.content.style"> | |
156 <xsl:param name="node" select="."/> | |
157 <style type="text/css"><xsl:text> | |
158 body { background-image: url('</xsl:text> | |
159 <xsl:value-of select="$draft.watermark.image"/><xsl:text>'); | |
160 background-repeat: no-repeat; | |
161 background-position: top left; | |
162 /* The following properties make the watermark "fixed" on the page. */ | |
163 /* I think that's just a bit too distracting for the reader... */ | |
164 /* background-attachment: fixed; */ | |
165 /* background-position: center center; */ | |
166 }</xsl:text> | |
167 </style> | |
168 </xsl:template> | |
169 | |
170 <xsl:template name="head.content"> | |
171 <xsl:param name="node" select="."/> | |
172 <xsl:param name="title"> | |
173 <xsl:apply-templates select="$node" mode="object.title.markup.textonly"/> | |
174 </xsl:param> | |
175 | |
176 <xsl:call-template name="user.head.title"> | |
177 <xsl:with-param name="title" select="$title"/> | |
178 <xsl:with-param name="node" select="$node"/> | |
179 </xsl:call-template> | |
180 | |
181 <xsl:if test="$html.base != ''"> | |
182 <xsl:call-template name="head.content.base"> | |
183 <xsl:with-param name="node" select="$node"/> | |
184 </xsl:call-template> | |
185 </xsl:if> | |
186 | |
187 <!-- Insert links to CSS files or insert literal style elements --> | |
188 <xsl:call-template name="generate.css"/> | |
189 | |
190 <xsl:if test="$html.stylesheet != ''"> | |
191 <xsl:call-template name="output.html.stylesheets"> | |
192 <xsl:with-param name="stylesheets" select="normalize-space($html.styleshee
t)"/> | |
193 </xsl:call-template> | |
194 </xsl:if> | |
195 | |
196 <xsl:if test="$html.script != ''"> | |
197 <xsl:call-template name="output.html.scripts"> | |
198 <xsl:with-param name="scripts" select="normalize-space($html.script)"/> | |
199 </xsl:call-template> | |
200 </xsl:if> | |
201 | |
202 <xsl:if test="$link.mailto.url != ''"> | |
203 <xsl:call-template name="head.content.link.made"> | |
204 <xsl:with-param name="node" select="$node"/> | |
205 </xsl:call-template> | |
206 </xsl:if> | |
207 | |
208 <xsl:call-template name="head.content.generator"> | |
209 <xsl:with-param name="node" select="$node"/> | |
210 </xsl:call-template> | |
211 | |
212 <xsl:if test="$generate.meta.abstract != 0"> | |
213 <xsl:call-template name="head.content.abstract"> | |
214 <xsl:with-param name="node" select="$node"/> | |
215 </xsl:call-template> | |
216 </xsl:if> | |
217 | |
218 <xsl:if test="($draft.mode = 'yes' or ($draft.mode = 'maybe' a
nd ancestor-or-self::*[@status][1]/@status = 'draft'))
and $draft.watermark.image != ''"> | |
219 <xsl:call-template name="head.content.style"> | |
220 <xsl:with-param name="node" select="$node"/> | |
221 </xsl:call-template> | |
222 </xsl:if> | |
223 <xsl:apply-templates select="." mode="head.keywords.content"/> | |
224 </xsl:template> | |
225 | |
226 <xsl:template name="output.html.stylesheets"> | |
227 <xsl:param name="stylesheets" select="''"/> | |
228 | |
229 <xsl:choose> | |
230 <xsl:when test="contains($stylesheets, ' ')"> | |
231 <xsl:variable name="css.filename" select="substring-before($stylesheets, '
')"/> | |
232 | |
233 <xsl:call-template name="make.css.link"> | |
234 <xsl:with-param name="css.filename" select="$css.filename"/> | |
235 </xsl:call-template> | |
236 | |
237 <xsl:call-template name="output.html.stylesheets"> | |
238 <xsl:with-param name="stylesheets" select="substring-after($stylesheets,
' ')"/> | |
239 </xsl:call-template> | |
240 </xsl:when> | |
241 <xsl:when test="$stylesheets != ''"> | |
242 <xsl:call-template name="make.css.link"> | |
243 <xsl:with-param name="css.filename" select="$stylesheets"/> | |
244 </xsl:call-template> | |
245 </xsl:when> | |
246 </xsl:choose> | |
247 </xsl:template> | |
248 | |
249 <xsl:template name="output.html.scripts"> | |
250 <xsl:param name="scripts" select="''"/> | |
251 | |
252 <xsl:choose> | |
253 <xsl:when test="contains($scripts, ' ')"> | |
254 <xsl:variable name="script.filename" select="substring-before($scripts, '
')"/> | |
255 | |
256 <xsl:call-template name="make.script.link"> | |
257 <xsl:with-param name="script.filename" select="$script.filename"/> | |
258 </xsl:call-template> | |
259 | |
260 <xsl:call-template name="output.html.scripts"> | |
261 <xsl:with-param name="scripts" select="substring-after($scripts, ' ')"/> | |
262 </xsl:call-template> | |
263 </xsl:when> | |
264 <xsl:when test="$scripts != ''"> | |
265 <xsl:call-template name="make.script.link"> | |
266 <xsl:with-param name="script.filename" select="$scripts"/> | |
267 </xsl:call-template> | |
268 </xsl:when> | |
269 </xsl:choose> | |
270 </xsl:template> | |
271 | |
272 <!-- ============================================================ --> | |
273 | |
274 <xsl:template match="*" mode="head.keywords.content"> | |
275 <xsl:apply-templates select="chapterinfo/keywordset" mode="html.header"/> | |
276 <xsl:apply-templates select="appendixinfo/keywordset" mode="html.header"/> | |
277 <xsl:apply-templates select="prefaceinfo/keywordset" mode="html.header"/> | |
278 <xsl:apply-templates select="bookinfo/keywordset" mode="html.header"/> | |
279 <xsl:apply-templates select="setinfo/keywordset" mode="html.header"/> | |
280 <xsl:apply-templates select="articleinfo/keywordset" mode="html.header"/> | |
281 <xsl:apply-templates select="artheader/keywordset" mode="html.header"/> | |
282 <xsl:apply-templates select="sect1info/keywordset" mode="html.header"/> | |
283 <xsl:apply-templates select="sect2info/keywordset" mode="html.header"/> | |
284 <xsl:apply-templates select="sect3info/keywordset" mode="html.header"/> | |
285 <xsl:apply-templates select="sect4info/keywordset" mode="html.header"/> | |
286 <xsl:apply-templates select="sect5info/keywordset" mode="html.header"/> | |
287 <xsl:apply-templates select="sectioninfo/keywordset" mode="html.header"/> | |
288 <xsl:apply-templates select="refsect1info/keywordset" mode="html.header"/> | |
289 <xsl:apply-templates select="refsect2info/keywordset" mode="html.header"/> | |
290 <xsl:apply-templates select="refsect3info/keywordset" mode="html.header"/> | |
291 <xsl:apply-templates select="bibliographyinfo/keywordset" mode="html.header"/> | |
292 <xsl:apply-templates select="glossaryinfo/keywordset" mode="html.header"/> | |
293 <xsl:apply-templates select="indexinfo/keywordset" mode="html.header"/> | |
294 <xsl:apply-templates select="refentryinfo/keywordset" mode="html.header"/> | |
295 <xsl:apply-templates select="partinfo/keywordset" mode="html.header"/> | |
296 <xsl:apply-templates select="referenceinfo/keywordset" mode="html.header"/> | |
297 <xsl:apply-templates select="docinfo/keywordset" mode="html.header"/> | |
298 <xsl:apply-templates select="info/keywordset" mode="html.header"/> | |
299 | |
300 <xsl:if test="$inherit.keywords != 0 and parent::*"> | |
301 <xsl:apply-templates select="parent::*" mode="head.keywords.content"/> | |
302 </xsl:if> | |
303 </xsl:template> | |
304 | |
305 <!-- ============================================================ --> | |
306 | |
307 <xsl:template name="system.head.content"> | |
308 <xsl:param name="node" select="."/> | |
309 | |
310 <!-- FIXME: When chunking, only the annotations actually used | |
311 in this chunk should be referenced. I don't think it | |
312 does any harm to reference them all, but it adds | |
313 unnecessary bloat to each chunk. --> | |
314 <xsl:if test="$annotation.support != 0 and //annotation"> | |
315 <xsl:call-template name="add.annotation.links"/> | |
316 <script type="text/javascript"> | |
317 <xsl:text> | |
318 // Create PopupWindow objects</xsl:text> | |
319 <xsl:for-each select="//annotation"> | |
320 <xsl:text> | |
321 var popup_</xsl:text> | |
322 <xsl:value-of select="generate-id(.)"/> | |
323 <xsl:text> = new PopupWindow("popup-</xsl:text> | |
324 <xsl:value-of select="generate-id(.)"/> | |
325 <xsl:text>"); | |
326 </xsl:text> | |
327 <xsl:text>popup_</xsl:text> | |
328 <xsl:value-of select="generate-id(.)"/> | |
329 <xsl:text>.offsetY = 15; | |
330 </xsl:text> | |
331 <xsl:text>popup_</xsl:text> | |
332 <xsl:value-of select="generate-id(.)"/> | |
333 <xsl:text>.autoHide(); | |
334 </xsl:text> | |
335 </xsl:for-each> | |
336 </script> | |
337 | |
338 <style type="text/css"> | |
339 <xsl:value-of select="$annotation.css"/> | |
340 </style> | |
341 </xsl:if> | |
342 | |
343 <!-- system.head.content is like user.head.content, except that | |
344 it is called before head.content. This is important because it | |
345 means, for example, that <style> elements output by system.head.content | |
346 have a lower CSS precedence than the users stylesheet. --> | |
347 </xsl:template> | |
348 | |
349 <!-- ============================================================ --> | |
350 | |
351 <xsl:template name="user.preroot"> | |
352 <!-- Pre-root output, can be used to output comments and PIs. --> | |
353 <!-- This must not output any element content! --> | |
354 </xsl:template> | |
355 | |
356 <xsl:template name="user.head.title"> | |
357 <xsl:param name="node" select="."/> | |
358 <xsl:param name="title"/> | |
359 | |
360 <title> | |
361 <xsl:copy-of select="$title"/> | |
362 </title> | |
363 </xsl:template> | |
364 | |
365 <xsl:template name="user.head.content"> | |
366 <xsl:param name="node" select="."/> | |
367 </xsl:template> | |
368 | |
369 <xsl:template name="user.header.navigation"> | |
370 <xsl:param name="node" select="."/> | |
371 <xsl:param name="prev" select="/foo"/> | |
372 <xsl:param name="next" select="/foo"/> | |
373 <xsl:param name="nav.context"/> | |
374 </xsl:template> | |
375 | |
376 <xsl:template name="user.header.content"> | |
377 <xsl:param name="node" select="."/> | |
378 </xsl:template> | |
379 | |
380 <xsl:template name="user.footer.content"> | |
381 <xsl:param name="node" select="."/> | |
382 </xsl:template> | |
383 | |
384 <xsl:template name="user.footer.navigation"> | |
385 <xsl:param name="node" select="."/> | |
386 <xsl:param name="prev" select="/foo"/> | |
387 <xsl:param name="next" select="/foo"/> | |
388 <xsl:param name="nav.context"/> | |
389 </xsl:template> | |
390 | |
391 <!-- To use the same stripped nodeset everywhere, it should | |
392 be created as a global variable here. | |
393 Used by docbook.xsl, chunk-code.xsl and chunkfast.xsl --> | |
394 <xsl:variable name="no.namespace"> | |
395 <xsl:if test="$exsl.node.set.available != 0 and (*/self::n
g:* or */self::db:*)"> | |
396 <xsl:apply-templates select="/*" mode="stripNS"/> | |
397 </xsl:if> | |
398 </xsl:variable> | |
399 | |
400 <xslo:include xmlns:xslo="http://www.w3.org/1999/XSL/Transform" href="../profili
ng/profile-mode.xsl"/><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Tran
sform" name="profiled-content"><xslo:choose><xslo:when test="*/self::ng:* or */s
elf::db:*"><xslo:message>Note: namesp. cut : stripped namespace before processin
g</xslo:message><xslo:variable name="stripped-content"><xslo:apply-templates sel
ect="/" mode="stripNS"/></xslo:variable><xslo:message>Note: namesp. cut : proces
sing stripped document</xslo:message><xslo:apply-templates select="exslt:node-se
t($stripped-content)" mode="profile"/></xslo:when><xslo:otherwise><xslo:apply-te
mplates select="/" mode="profile"/></xslo:otherwise></xslo:choose></xslo:variabl
e><xslo:variable xmlns:xslo="http://www.w3.org/1999/XSL/Transform" name="profile
d-nodes" select="exslt:node-set($profiled-content)"/><xsl:template match="/"> | |
401 <!-- * Get a title for current doc so that we let the user --> | |
402 <!-- * know what document we are processing at this point. --> | |
403 <xsl:variable name="doc.title"> | |
404 <xsl:call-template name="get.doc.title"/> | |
405 </xsl:variable> | |
406 <xsl:choose> | |
407 <!-- Hack! If someone hands us a DocBook V5.x or DocBook NG document, | |
408 toss the namespace and continue. Use the docbook5 namespaced | |
409 stylesheets for DocBook5 if you don't want to use this feature.--> | |
410 <!-- include extra test for Xalan quirk --> | |
411 <xsl:when test="false()"/> | |
412 <!-- Can't process unless namespace removed --> | |
413 <xsl:when test="false()"/> | |
414 <xsl:otherwise> | |
415 <xsl:choose> | |
416 <xsl:when test="$rootid != ''"> | |
417 <xsl:choose> | |
418 <xsl:when test="count($profiled-nodes//*[@id=$rootid or @xml:id=$roo
tid]) = 0"> | |
419 <xsl:message terminate="yes"> | |
420 <xsl:text>ID '</xsl:text> | |
421 <xsl:value-of select="$rootid"/> | |
422 <xsl:text>' not found in document.</xsl:text> | |
423 </xsl:message> | |
424 </xsl:when> | |
425 <xsl:otherwise> | |
426 <xsl:if test="$collect.xref.targets = 'yes' or
$collect.xref.targets = 'only'"> | |
427 <xsl:apply-templates select="key('id', $rootid)" mode="collect.t
argets"/> | |
428 </xsl:if> | |
429 <xsl:if test="$collect.xref.targets != 'only'"> | |
430 <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid or @
xml:id=$rootid]" mode="process.root"/> | |
431 <xsl:if test="$tex.math.in.alt != ''"> | |
432 <xsl:apply-templates select="$profiled-nodes//*[@id=$rootid or
@xml:id=$rootid]" mode="collect.tex.math"/> | |
433 </xsl:if> | |
434 </xsl:if> | |
435 </xsl:otherwise> | |
436 </xsl:choose> | |
437 </xsl:when> | |
438 <xsl:otherwise> | |
439 <xsl:if test="$collect.xref.targets = 'yes' or
$collect.xref.targets = 'only'"> | |
440 <xsl:apply-templates select="$profiled-nodes" mode="collect.targets"
/> | |
441 </xsl:if> | |
442 <xsl:if test="$collect.xref.targets != 'only'"> | |
443 <xsl:apply-templates select="$profiled-nodes" mode="process.root"/> | |
444 <xsl:if test="$tex.math.in.alt != ''"> | |
445 <xsl:apply-templates select="$profiled-nodes" mode="collect.tex.ma
th"/> | |
446 </xsl:if> | |
447 </xsl:if> | |
448 </xsl:otherwise> | |
449 </xsl:choose> | |
450 </xsl:otherwise> | |
451 </xsl:choose> | |
452 </xsl:template> | |
453 | |
454 <xsl:template match="*" mode="process.root"> | |
455 <xsl:variable name="doc" select="self::*"/> | |
456 | |
457 <xsl:call-template name="user.preroot"/> | |
458 <xsl:call-template name="root.messages"/> | |
459 | |
460 <html> | |
461 <xsl:call-template name="root.attributes"/> | |
462 <head> | |
463 <xsl:call-template name="system.head.content"> | |
464 <xsl:with-param name="node" select="$doc"/> | |
465 </xsl:call-template> | |
466 <xsl:call-template name="head.content"> | |
467 <xsl:with-param name="node" select="$doc"/> | |
468 </xsl:call-template> | |
469 <xsl:call-template name="user.head.content"> | |
470 <xsl:with-param name="node" select="$doc"/> | |
471 </xsl:call-template> | |
472 </head> | |
473 <body> | |
474 <xsl:call-template name="body.attributes"/> | |
475 <xsl:call-template name="user.header.content"> | |
476 <xsl:with-param name="node" select="$doc"/> | |
477 </xsl:call-template> | |
478 <xsl:apply-templates select="."/> | |
479 <xsl:call-template name="user.footer.content"> | |
480 <xsl:with-param name="node" select="$doc"/> | |
481 </xsl:call-template> | |
482 </body> | |
483 </html> | |
484 <xsl:value-of select="$html.append"/> | |
485 | |
486 <!-- Generate any css files only once, not once per chunk --> | |
487 <xsl:call-template name="generate.css.files"/> | |
488 </xsl:template> | |
489 | |
490 <xsl:template name="root.attributes"> | |
491 <!-- customize to add attributes to <html> element --> | |
492 </xsl:template> | |
493 | |
494 <xsl:template name="root.messages"> | |
495 <!-- redefine this any way you'd like to output messages --> | |
496 <!-- DO NOT OUTPUT ANYTHING FROM THIS TEMPLATE --> | |
497 </xsl:template> | |
498 | |
499 <!-- ==================================================================== --> | |
500 | |
501 <xsl:template name="chunk"> | |
502 <xsl:param name="node" select="."/> | |
503 | |
504 <!-- The default is that we are not chunking... --> | |
505 <xsl:text>0</xsl:text> | |
506 </xsl:template> | |
507 | |
508 </xsl:stylesheet> | |
OLD | NEW |