]> git.stg.codes - stg.git/blob - doc/xslt/slides/xhtml/frames.xsl
Fixed tests.
[stg.git] / doc / xslt / slides / xhtml / frames.xsl
1 <?xml version="1.0" encoding="ASCII"?>
2 <!--This file was created automatically by html2xhtml-->
3 <!--from the HTML stylesheets.-->
4 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0">
5
6 <xsl:import href="slides-common.xsl"/>
7
8 <xsl:param name="titlefoil.html" select="concat('titlepg', $html.ext)"/>
9
10 <xsl:param name="css.stylesheet" select="'slides-frames.css'"/>
11
12 <!-- ====================================================================== -->
13
14 <xsl:template name="doctype-public">
15   <xsl:param name="frameset" select="0"/> 
16   <xsl:choose>
17     <xsl:when test="$stylesheet.result.type='html'"> 
18       <xsl:choose>
19         <!-- Assume when chunker.output.doctype-public is set the user
20              wants to have doctypes written out. If frameset is set
21              then overide with a frameset public identifier. -->
22         <xsl:when test="$chunker.output.doctype-public != '' and $frameset != 0"> 
23           <xsl:text>-//W3C//DTD HTML 4.01 Frameset//EN</xsl:text>
24         </xsl:when>
25         <xsl:otherwise>
26           <xsl:value-of select="$chunker.output.doctype-public"/>
27         </xsl:otherwise>
28       </xsl:choose>
29     </xsl:when>
30     <xsl:when test="$stylesheet.result.type='xhtml'"> 
31       <xsl:choose>
32         <xsl:when test="$frameset != 0">
33           <xsl:text>-//W3C//DTD XHTML 1.0 Frameset//EN</xsl:text>
34         </xsl:when>
35         <xsl:otherwise>
36           <xsl:text>-//W3C//DTD XHTML 1.0 Transitional//EN</xsl:text>
37         </xsl:otherwise>
38       </xsl:choose>
39     </xsl:when>
40   </xsl:choose>
41 </xsl:template>
42
43 <xsl:template name="doctype-system">
44   <xsl:param name="frameset" select="0"/>
45   <xsl:choose>
46     <xsl:when test="$stylesheet.result.type='html'"> 
47       <xsl:choose>
48         <!-- Assume when chunker.output.doctype-system is set the user
49              wants to have doctypes written out. If frameset is set
50              then overide with a frameset system identifier. -->
51         <xsl:when test="$chunker.output.doctype-system != '' and $frameset != 0">
52           <xsl:text>http://www.w3.org/TR/html4/loose.dtd</xsl:text>
53         </xsl:when>
54         <xsl:otherwise>
55           <xsl:value-of select="$chunker.output.doctype-system"/>
56         </xsl:otherwise>
57       </xsl:choose>
58     </xsl:when>
59     <xsl:when test="$stylesheet.result.type='xhtml'"> 
60       <xsl:choose>
61         <xsl:when test="$frameset != 0">
62           <xsl:text>http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd</xsl:text>
63         </xsl:when>
64         <xsl:otherwise>
65           <xsl:text>http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</xsl:text>
66         </xsl:otherwise>
67       </xsl:choose>
68     </xsl:when>
69   </xsl:choose>
70 </xsl:template>
71
72 <!-- ====================================================================== -->
73
74 <xsl:template match="slides">
75   <xsl:variable name="title">
76     <xsl:choose>
77       <xsl:when test="(slidesinfo/titleabbrev|titleabbrev)">
78         <xsl:value-of select="(slidesinfo/titleabbrev|titleabbrev)[1]"/>
79       </xsl:when>
80       <xsl:otherwise>
81         <xsl:value-of select="(slidesinfo/title|title)[1]"/>
82       </xsl:otherwise>
83     </xsl:choose>
84   </xsl:variable>
85   <xsl:variable name="toc.rows" select="1+count(//foilgroup)+count(//foil)"/>
86   <xsl:variable name="toc.height" select="$toc.rows * $toc.row.height"/>
87
88   <xsl:if test="$overlay != 0 and $multiframe != 0">
89     <xsl:message terminate="yes">
90       <xsl:text>Multiframe and overlay are mutually exclusive.</xsl:text>
91     </xsl:message>
92   </xsl:if>
93
94   <xsl:variable name="doctype-public">
95     <xsl:call-template name="doctype-public">
96       <xsl:with-param name="frameset" select="1"/>
97     </xsl:call-template>
98   </xsl:variable>
99   <xsl:variable name="doctype-system">
100     <xsl:call-template name="doctype-system">
101       <xsl:with-param name="frameset" select="1"/>
102     </xsl:call-template>
103   </xsl:variable>
104
105   <xsl:call-template name="write.chunk">
106     <xsl:with-param name="indent" select="$output.indent"/>
107     <xsl:with-param name="doctype-public" select="$doctype-public"/>
108     <xsl:with-param name="doctype-system" select="$doctype-system"/>
109     <xsl:with-param name="filename" select="concat($base.dir,'frames', $html.ext)"/>
110     <xsl:with-param name="content">
111       <html>
112         <head>
113           <title><xsl:value-of select="$title"/></title>
114         </head>
115         <frameset cols="{$toc.width},*" id="topframe">
116           <frame src="{concat('toc', $html.ext)}" name="toc" id="toc" frameborder="1"/>
117           <frame src="{$titlefoil.html}" name="foil" id="foil"/>
118           <noframes>
119             <body class="frameset">
120               <xsl:call-template name="body.attributes"/>
121               <a href="{concat('titleframe', $html.ext)}">
122                 <xsl:text>Your browser doesn't support frames.</xsl:text>
123               </a>
124             </body>
125           </noframes>
126         </frameset>
127       </html>
128     </xsl:with-param>
129   </xsl:call-template>
130
131   <xsl:call-template name="write.chunk">
132     <xsl:with-param name="indent" select="$output.indent"/>
133     <xsl:with-param name="filename" select="concat($base.dir,'toc',$html.ext)"/>
134     <xsl:with-param name="content">
135       <html>
136         <head>
137           <title>TOC - <xsl:value-of select="$title"/></title>
138           <xsl:call-template name="system.head.content"/>
139           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
140           <xsl:if test="$css.stylesheet != ''">
141             <link type="text/css" rel="stylesheet">
142               <xsl:attribute name="href">
143                 <xsl:call-template name="css.stylesheet"/>
144               </xsl:attribute>
145             </link>
146           </xsl:if>
147           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
148
149           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0                         or $overlay.logo != ''">
150             <script language="javascript" type="text/javascript">
151               <xsl:text> </xsl:text>
152             </script>
153           </xsl:if>
154
155           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
156             <xsl:call-template name="ua.js"/>
157             <xsl:call-template name="xbDOM.js">
158               <xsl:with-param name="language" select="'javascript'"/>
159             </xsl:call-template>
160             <xsl:call-template name="xbLibrary.js"/>
161             <script language="javascript" type="text/javascript">
162               <xsl:text disable-output-escaping="yes">
163                 &lt;!--
164                 xblibrary = new xbLibrary('</xsl:text>
165               <xsl:call-template name="script-dir"/>
166               <xsl:text disable-output-escaping="yes">');
167                 // --&gt;
168               </xsl:text>
169             </script>
170             <xsl:call-template name="xbStyle.js"/>
171             <xsl:call-template name="xbCollapsibleLists.js"/>
172             <xsl:call-template name="slides.js">
173               <xsl:with-param name="language" select="'javascript'"/>
174             </xsl:call-template>
175           </xsl:if>
176
177           <xsl:if test="$overlay != '0' or $overlay.logo != ''">
178             <xsl:call-template name="overlay.js">
179               <xsl:with-param name="language" select="'javascript'"/>
180             </xsl:call-template>
181           </xsl:if>
182
183           <xsl:if test="$dynamic.toc != 0">
184             <script language="javascript" type="text/javascript">
185               <xsl:text disable-output-escaping="yes">
186                 &lt;!--
187 function init() {
188   var width = </xsl:text>
189 <xsl:value-of select="$toc.width"/>
190 <xsl:text>, height = </xsl:text>
191 <xsl:value-of select="$toc.row.height"/>
192 <xsl:text>;
193   myList = new List(true, width, height, "</xsl:text>
194 <xsl:value-of select="$toc.bg.color"/>
195 <xsl:text>","</xsl:text>
196 <xsl:call-template name="plus.image"/>
197 <xsl:text>","</xsl:text>
198 <xsl:call-template name="minus.image"/>
199 <xsl:text>");
200 </xsl:text>
201 <xsl:apply-templates mode="ns-toc"/>
202               <xsl:text disable-output-escaping="yes">
203   myList.build(0,0);
204 }
205                 // --&gt;
206 </xsl:text>
207             </script>
208             <style type="text/css">
209               <xsl:text>#spacer { position: absolute; height: </xsl:text>
210               <xsl:value-of select="$toc.height"/>
211   <xsl:text>; }
212 </xsl:text>
213             </style>
214           </xsl:if>
215
216           <xsl:call-template name="user.head.content"/>
217         </head>
218         <body class="toc">
219           <xsl:call-template name="body.attributes"/>
220
221           <xsl:if test="$overlay.logo != ''">
222             <xsl:attribute name="onload">
223               <xsl:text>overlaySetup('ll');</xsl:text>
224             </xsl:attribute>
225           </xsl:if>
226
227           <xsl:if test="$dynamic.toc != 0">
228             <xsl:attribute name="onload">
229               <xsl:text>init(</xsl:text>
230               <xsl:value-of select="$overlay"/>
231               <xsl:text>);</xsl:text>
232               <xsl:if test="$overlay.logo != ''">
233                 <xsl:text>overlaySetup('ll');</xsl:text>
234               </xsl:if>
235             </xsl:attribute>
236           </xsl:if>
237
238           <xsl:choose>
239             <xsl:when test="$dynamic.toc = 0">
240               <div class="toc">
241                 <xsl:apply-templates mode="toc"/>
242               </div>
243             </xsl:when>
244             <xsl:otherwise>
245               <div id="spacer"/>
246             </xsl:otherwise>
247           </xsl:choose>
248
249           <xsl:if test="$overlay.logo != ''">
250             <div style="position: absolute; visibility: visible;" id="overlayDiv">
251               <img src="{$overlay.logo}" alt="logo" vspace="20"/>
252             </div>
253           </xsl:if>
254         </body>
255       </html>
256     </xsl:with-param>
257   </xsl:call-template>
258
259   <xsl:apply-templates/>
260 </xsl:template>
261
262 <!-- ====================================================================== -->
263
264 <xsl:template match="slidesinfo">
265   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
266
267   <xsl:variable name="doctype-public">
268     <xsl:call-template name="doctype-public">
269       <xsl:with-param name="frameset" select="$multiframe"/>
270     </xsl:call-template>
271   </xsl:variable>
272
273   <xsl:variable name="doctype-system">
274     <xsl:call-template name="doctype-system">
275       <xsl:with-param name="frameset" select="$multiframe"/>
276     </xsl:call-template>
277   </xsl:variable>
278
279   <xsl:call-template name="write.chunk">
280     <xsl:with-param name="indent" select="$output.indent"/>
281     <xsl:with-param name="doctype-public" select="$doctype-public"/>
282     <xsl:with-param name="doctype-system" select="$doctype-system"/>
283     <xsl:with-param name="filename" select="concat($base.dir,$titlefoil.html)"/>
284     <xsl:with-param name="content">
285       <html>
286         <head>
287           <title><xsl:value-of select="title"/></title>
288
289           <xsl:call-template name="system.head.content">
290             <xsl:with-param name="node" select=".."/>
291           </xsl:call-template>
292
293           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
294
295           <xsl:if test="$css.stylesheet != ''">
296             <link type="text/css" rel="stylesheet">
297               <xsl:attribute name="href">
298                 <xsl:call-template name="css.stylesheet"/>
299               </xsl:attribute>
300             </link>
301           </xsl:if>
302           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
303
304           <xsl:call-template name="links">
305             <xsl:with-param name="next" select="$next"/>
306           </xsl:call-template>
307
308           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
309             <script language="javascript" type="text/javascript">
310               <xsl:text> </xsl:text>
311             </script>
312           </xsl:if>
313
314           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
315             <xsl:call-template name="ua.js"/>
316             <xsl:call-template name="xbDOM.js">
317               <xsl:with-param name="language" select="'javascript'"/>
318             </xsl:call-template>
319             <xsl:call-template name="xbLibrary.js"/>
320             <script language="javascript" type="text/javascript">
321               <xsl:text disable-output-escaping="yes">
322                 &lt;!--
323                 xblibrary = new xbLibrary('</xsl:text>
324               <xsl:call-template name="script-dir"/>
325               <xsl:text disable-output-escaping="yes">');
326                 // --&gt;
327               </xsl:text>
328             </script>
329             <xsl:call-template name="xbStyle.js"/>
330             <xsl:call-template name="xbCollapsibleLists.js"/>
331             <xsl:call-template name="slides.js">
332               <xsl:with-param name="language" select="'javascript'"/>
333             </xsl:call-template>
334           </xsl:if>
335
336           <xsl:if test="$overlay != '0'">
337             <xsl:call-template name="overlay.js">
338               <xsl:with-param name="language" select="'javascript'"/>
339             </xsl:call-template>
340           </xsl:if>
341
342           <xsl:call-template name="user.head.content">
343             <xsl:with-param name="node" select=".."/>
344           </xsl:call-template>
345         </head>
346         <xsl:choose>
347           <xsl:when test="$multiframe != 0">
348             <xsl:apply-templates select="." mode="multiframe"/>
349           </xsl:when>
350           <xsl:otherwise>
351             <xsl:apply-templates select="." mode="singleframe"/>
352           </xsl:otherwise>
353         </xsl:choose>
354       </html>
355     </xsl:with-param>
356   </xsl:call-template>
357
358   <xsl:if test="$multiframe != 0">
359     <xsl:apply-templates select="." mode="multiframe-top"/>
360     <xsl:apply-templates select="." mode="multiframe-body"/>
361     <xsl:apply-templates select="." mode="multiframe-bottom"/>
362   </xsl:if>
363 </xsl:template>
364
365 <xsl:template match="slidesinfo" mode="multiframe">
366   <xsl:variable name="thisfoil">
367     <xsl:value-of select="$titlefoil.html"/>
368   </xsl:variable>
369
370   <frameset rows="{$multiframe.navigation.height},*,{$multiframe.navigation.height}" id="foil">
371     <xsl:attribute name="onload">
372       <xsl:text>javascript:body.focus()</xsl:text>
373       </xsl:attribute>
374     <frame src="top-{$thisfoil}" name="top" id="top" marginheight="0" frameborder="0">
375     </frame>
376     <frame src="body-{$thisfoil}" name="body" id="body" marginheight="0" frameborder="0">
377     </frame>
378     <frame src="bot-{$thisfoil}" name="bottom" id="bottom" marginheight="0" frameborder="0">
379     </frame>
380     <noframes>
381       <body class="frameset">
382         <xsl:call-template name="body.attributes"/>
383         <p>
384           <xsl:text>Your browser doesn't support frames.</xsl:text>
385         </p>
386       </body>
387     </noframes>
388   </frameset>
389 </xsl:template>
390
391 <xsl:template match="slidesinfo" mode="multiframe-top">
392   <xsl:variable name="thisfoil">
393     <xsl:value-of select="$titlefoil.html"/>
394   </xsl:variable>
395
396   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
397
398   <xsl:call-template name="write.chunk">
399     <xsl:with-param name="indent" select="$output.indent"/>
400     <xsl:with-param name="filename" select="concat($base.dir,'top-',$thisfoil)"/>
401     <xsl:with-param name="content">
402       <html>
403         <head>
404           <title>Navigation</title>
405
406           <xsl:call-template name="system.head.content">
407             <xsl:with-param name="node" select=".."/>
408           </xsl:call-template>
409
410           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
411
412           <xsl:if test="$css.stylesheet != ''">
413             <link type="text/css" rel="stylesheet">
414               <xsl:attribute name="href">
415                 <xsl:call-template name="css.stylesheet"/>
416               </xsl:attribute>
417             </link>
418           </xsl:if>
419           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
420
421           <xsl:call-template name="links">
422             <xsl:with-param name="next" select="$next"/>
423           </xsl:call-template>
424
425           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
426             <script language="javascript" type="text/javascript">
427               <xsl:text> </xsl:text>
428             </script>
429           </xsl:if>
430
431           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
432             <xsl:call-template name="ua.js"/>
433             <xsl:call-template name="xbDOM.js">
434               <xsl:with-param name="language" select="'javascript'"/>
435             </xsl:call-template>
436             <xsl:call-template name="xbLibrary.js"/>
437             <script language="javascript" type="text/javascript">
438               <xsl:text disable-output-escaping="yes">
439                 &lt;!--
440                 xblibrary = new xbLibrary('</xsl:text>
441               <xsl:call-template name="script-dir"/>
442               <xsl:text disable-output-escaping="yes">');
443                 // --&gt;
444               </xsl:text>
445             </script>
446             <xsl:call-template name="xbStyle.js"/>
447             <xsl:call-template name="xbCollapsibleLists.js"/>
448             <xsl:call-template name="slides.js">
449               <xsl:with-param name="language" select="'javascript'"/>
450             </xsl:call-template>
451           </xsl:if>
452
453           <xsl:if test="$overlay != '0' or $overlay.logo != ''">
454             <xsl:call-template name="overlay.js">
455               <xsl:with-param name="language" select="'javascript'"/>
456             </xsl:call-template>
457           </xsl:if>
458
459           <xsl:call-template name="user.head.content">
460             <xsl:with-param name="node" select=".."/>
461           </xsl:call-template>
462         </head>
463         <body class="topnavigation" bgcolor="{$multiframe.top.bgcolor}">
464           <xsl:call-template name="foil-top-nav">
465             <xsl:with-param name="next" select="$next"/>
466           </xsl:call-template>
467         </body>
468       </html>
469     </xsl:with-param>
470   </xsl:call-template>
471 </xsl:template>
472
473 <xsl:template match="slidesinfo" mode="multiframe-body">
474   <xsl:variable name="thisfoil">
475     <xsl:value-of select="$titlefoil.html"/>
476   </xsl:variable>
477
478   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
479
480   <xsl:call-template name="write.chunk">
481     <xsl:with-param name="indent" select="$output.indent"/>
482     <xsl:with-param name="filename" select="concat($base.dir,'body-',$thisfoil)"/>
483     <xsl:with-param name="content">
484       <html>
485         <head>
486           <title>Body</title>
487
488           <xsl:call-template name="system.head.content">
489             <xsl:with-param name="node" select=".."/>
490           </xsl:call-template>
491
492           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
493
494           <xsl:if test="$css.stylesheet != ''">
495             <link type="text/css" rel="stylesheet">
496               <xsl:attribute name="href">
497                 <xsl:call-template name="css.stylesheet"/>
498               </xsl:attribute>
499             </link>
500           </xsl:if>
501           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
502
503           <xsl:call-template name="links">
504             <xsl:with-param name="next" select="$next"/>
505           </xsl:call-template>
506
507           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
508             <script language="javascript" type="text/javascript">
509               <xsl:text> </xsl:text>
510             </script>
511           </xsl:if>
512
513           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
514             <xsl:call-template name="ua.js"/>
515             <xsl:call-template name="xbDOM.js">
516               <xsl:with-param name="language" select="'javascript'"/>
517             </xsl:call-template>
518             <xsl:call-template name="xbLibrary.js"/>
519             <script language="javascript" type="text/javascript">
520               <xsl:text disable-output-escaping="yes">
521                 &lt;!--
522                 xblibrary = new xbLibrary('</xsl:text>
523               <xsl:call-template name="script-dir"/>
524               <xsl:text disable-output-escaping="yes">');
525                 // --&gt;
526               </xsl:text>
527             </script>
528             <xsl:call-template name="xbStyle.js"/>
529             <xsl:call-template name="xbCollapsibleLists.js"/>
530             <xsl:call-template name="slides.js">
531               <xsl:with-param name="language" select="'javascript'"/>
532             </xsl:call-template>
533           </xsl:if>
534
535           <xsl:call-template name="user.head.content">
536             <xsl:with-param name="node" select=".."/>
537           </xsl:call-template>
538         </head>
539         <xsl:apply-templates select="." mode="singleframe"/>
540       </html>
541     </xsl:with-param>
542   </xsl:call-template>
543 </xsl:template>
544
545 <xsl:template match="slidesinfo" mode="multiframe-bottom">
546   <xsl:variable name="thisfoil">
547     <xsl:value-of select="$titlefoil.html"/>
548   </xsl:variable>
549
550   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
551
552   <xsl:call-template name="write.chunk">
553     <xsl:with-param name="indent" select="$output.indent"/>
554     <xsl:with-param name="filename" select="concat($base.dir,'bot-',$thisfoil)"/>
555     <xsl:with-param name="content">
556       <html>
557         <head>
558           <title>Navigation</title>
559
560           <xsl:call-template name="system.head.content">
561             <xsl:with-param name="node" select=".."/>
562           </xsl:call-template>
563
564           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
565
566           <xsl:if test="$css.stylesheet != ''">
567             <link type="text/css" rel="stylesheet">
568               <xsl:attribute name="href">
569                 <xsl:call-template name="css.stylesheet"/>
570               </xsl:attribute>
571             </link>
572           </xsl:if>
573           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
574
575           <xsl:call-template name="links">
576             <xsl:with-param name="next" select="$next"/>
577           </xsl:call-template>
578
579           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
580             <script language="javascript" type="text/javascript">
581               <xsl:text> </xsl:text>
582             </script>
583           </xsl:if>
584
585           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
586             <xsl:call-template name="ua.js"/>
587             <xsl:call-template name="xbDOM.js">
588               <xsl:with-param name="language" select="'javascript'"/>
589             </xsl:call-template>
590             <xsl:call-template name="xbLibrary.js"/>
591             <script language="javascript" type="text/javascript">
592               <xsl:text disable-output-escaping="yes">
593                 &lt;!--
594                 xblibrary = new xbLibrary('</xsl:text>
595               <xsl:call-template name="script-dir"/>
596               <xsl:text disable-output-escaping="yes">');
597                 // --&gt;
598               </xsl:text>
599             </script>
600             <xsl:call-template name="xbStyle.js"/>
601             <xsl:call-template name="xbCollapsibleLists.js"/>
602             <xsl:call-template name="slides.js">
603               <xsl:with-param name="language" select="'javascript'"/>
604             </xsl:call-template>
605           </xsl:if>
606
607           <xsl:if test="$overlay != '0'">
608             <xsl:call-template name="overlay.js">
609               <xsl:with-param name="language" select="'javascript'"/>
610             </xsl:call-template>
611           </xsl:if>
612
613           <xsl:call-template name="user.head.content">
614             <xsl:with-param name="node" select=".."/>
615           </xsl:call-template>
616         </head>
617         <body class="botnavigation" bgcolor="{$multiframe.bottom.bgcolor}">
618           <xsl:call-template name="foil-bottom-nav">
619             <xsl:with-param name="next" select="$next"/>
620           </xsl:call-template>
621         </body>
622       </html>
623     </xsl:with-param>
624   </xsl:call-template>
625 </xsl:template>
626
627 <xsl:template match="slidesinfo" mode="singleframe">
628   <xsl:param name="thisfoil">
629     <xsl:value-of select="$titlefoil.html"/>
630   </xsl:param>
631
632   <xsl:variable name="id">
633     <xsl:call-template name="object.id"/>
634   </xsl:variable>
635
636   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
637
638   <body class="titlepage">
639     <xsl:call-template name="body.attributes"/>
640     <xsl:choose>
641       <xsl:when test="$active.toc != 0">
642         <xsl:attribute name="onload">
643           <xsl:text>newPage('</xsl:text>
644           <xsl:value-of select="$titlefoil.html"/>
645           <xsl:text>',</xsl:text>
646           <xsl:value-of select="$overlay"/>
647           <xsl:text>);</xsl:text>
648         </xsl:attribute>
649       </xsl:when>
650       <xsl:when test="$overlay != 0">
651         <xsl:attribute name="onload">
652           <xsl:text>overlaySetup('lc');</xsl:text>
653         </xsl:attribute>
654       </xsl:when>
655     </xsl:choose>
656
657     <xsl:if test="$keyboard.nav != 0">
658       <xsl:attribute name="onload">
659         <xsl:text>this.focus()</xsl:text>
660       </xsl:attribute>
661       <xsl:attribute name="onkeypress">
662         <xsl:text>navigate(event)</xsl:text>
663       </xsl:attribute>
664     </xsl:if>
665
666     <div class="{name(.)}">
667       <xsl:apply-templates mode="titlepage.mode"/>
668     </div>
669
670     <xsl:if test="$multiframe=0">
671       <div id="overlayDiv" class="navfoot">
672         <xsl:choose>
673           <xsl:when test="$overlay != 0">
674             <xsl:attribute name="style">
675               <xsl:text>position:absolute;visibility:visible;</xsl:text>
676             </xsl:attribute>
677           </xsl:when>
678           <xsl:otherwise>
679             <xsl:attribute name="style">
680               <xsl:text>padding-top: 2in;</xsl:text>
681             </xsl:attribute>
682           </xsl:otherwise>
683         </xsl:choose>
684
685         <table width="100%" border="0" cellspacing="0" cellpadding="0" summary="Navigation">
686           <tr>
687             <td align="left" width="80%" valign="top">
688               <span class="navfooter">
689                 <!-- suppress copyright here; it's probably already on the titlepage
690                 <xsl:apply-templates select="/slides/slidesinfo/copyright"
691                                      mode="slide.footer.mode"/>
692                 -->
693                 <xsl:text>&#160;</xsl:text>
694               </span>
695             </td>
696             <td align="right" width="20%" valign="top">
697               <a>
698                 <xsl:attribute name="href">
699                   <xsl:apply-templates select="$next" mode="filename"/>
700                 </xsl:attribute>
701                 <img alt="{$text.next}" border="0">
702                   <xsl:attribute name="src">
703                     <xsl:call-template name="next.image"/>
704                   </xsl:attribute>
705                 </img>
706               </a>
707             </td>
708           </tr>
709         </table>
710       </div>
711     </xsl:if>
712   </body>
713 </xsl:template>
714
715 <!-- ====================================================================== -->
716
717 <xsl:template name="top-nav">
718   <xsl:param name="home"/>
719   <xsl:param name="up"/>
720   <xsl:param name="next"/>
721   <xsl:param name="prev"/>
722   <xsl:param name="tocfile" select="$toc.html"/>
723
724   <div class="navhead">
725     <table border="0" width="100%" cellspacing="0" cellpadding="0" summary="Navigation table">
726       <tr>
727         <td align="left" valign="bottom" width="10%">
728           <xsl:choose>
729             <xsl:when test="$prev">
730               <span class="link-text">
731                 <a>
732                   <xsl:attribute name="href">
733                     <xsl:apply-templates select="$prev" mode="filename"/>
734                   </xsl:attribute>
735                   <xsl:if test="$multiframe != 0">
736                     <xsl:attribute name="target">foil</xsl:attribute>
737                   </xsl:if>
738                   <img alt="{$text.prev}" border="0">
739                     <xsl:attribute name="src">
740                       <xsl:call-template name="prev.image"/>
741                     </xsl:attribute>
742                   </img>
743                 </a>
744               </span>
745             </xsl:when>
746             <xsl:otherwise>
747               <span class="no-link-text">&#160;</span>
748             </xsl:otherwise>
749           </xsl:choose>
750           <xsl:text>&#160;</xsl:text>
751         </td>
752         <td width="80%" align="center" valign="bottom">
753           <xsl:call-template name="foil.number"/>
754         </td>
755         <td align="right" valign="bottom" width="10%">
756           <xsl:choose>
757             <xsl:when test="$next">
758               <span class="link-text">
759                 <a>
760                   <xsl:attribute name="href">
761                     <xsl:apply-templates select="$next" mode="filename"/>
762                   </xsl:attribute>
763                   <xsl:if test="$multiframe != 0">
764                     <xsl:attribute name="target">foil</xsl:attribute>
765                   </xsl:if>
766                   <img alt="{$text.next}" border="0">
767                     <xsl:attribute name="src">
768                       <xsl:call-template name="next.image"/>
769                     </xsl:attribute>
770                   </img>
771                 </a>
772               </span>
773             </xsl:when>
774             <xsl:otherwise>
775               <span class="no-link-text">&#160;</span>
776             </xsl:otherwise>
777           </xsl:choose>
778           <xsl:text>&#160;</xsl:text>
779         </td>
780       </tr>
781     </table>
782     <hr class="top-nav-sep"/>
783   </div>
784 </xsl:template>
785
786 <xsl:template name="bottom-nav">
787   <xsl:param name="home"/>
788   <xsl:param name="up"/>
789   <xsl:param name="next"/>
790   <xsl:param name="prev"/>
791   <xsl:param name="tocfile" select="$toc.html"/>
792
793   <div class="navfoot">
794     <hr class="bottom-nav-sep"/>
795     <table border="0" width="100%" cellspacing="0" cellpadding="0" summary="Navigation table">
796       <tr>
797         <td align="left" valign="top">
798           <xsl:apply-templates select="/slides/slidesinfo/copyright" mode="slide.footer.mode"/>
799           <xsl:text>&#160;</xsl:text>
800         </td>
801
802         <td align="right" valign="top">
803           <xsl:choose>
804             <xsl:when test="$prev">
805               <span class="link-text">
806                 <a>
807                   <xsl:attribute name="href">
808                     <xsl:apply-templates select="$prev" mode="filename"/>
809                   </xsl:attribute>
810                   <xsl:if test="$multiframe != 0">
811                     <xsl:attribute name="target">foil</xsl:attribute>
812                   </xsl:if>
813                   <img alt="{$text.prev}" border="0">
814                     <xsl:attribute name="src">
815                       <xsl:call-template name="prev.image"/>
816                     </xsl:attribute>
817                   </img>
818                 </a>
819               </span>
820             </xsl:when>
821             <xsl:otherwise>
822               <span class="no-link-text">&#160;</span>
823             </xsl:otherwise>
824           </xsl:choose>
825           <xsl:text>&#160;</xsl:text>
826
827           <xsl:choose>
828             <xsl:when test="$next">
829               <span class="link-text">
830                 <a>
831                   <xsl:attribute name="href">
832                     <xsl:apply-templates select="$next" mode="filename"/>
833                   </xsl:attribute>
834                   <xsl:if test="$multiframe != 0">
835                     <xsl:attribute name="target">foil</xsl:attribute>
836                   </xsl:if>
837                   <img alt="{$text.next}" border="0">
838                     <xsl:attribute name="src">
839                       <xsl:call-template name="next.image"/>
840                     </xsl:attribute>
841                   </img>
842                 </a>
843               </span>
844             </xsl:when>
845             <xsl:otherwise>
846               <span class="no-link-text">&#160;</span>
847             </xsl:otherwise>
848           </xsl:choose>
849           <xsl:text>&#160;</xsl:text>
850         </td>
851       </tr>
852     </table>
853   </div>
854 </xsl:template>
855
856 <!-- ====================================================================== -->
857
858 <xsl:template match="foilgroup">
859   <xsl:param name="thisfoilgroup">
860     <xsl:apply-templates select="." mode="filename"/>
861   </xsl:param>
862
863   <xsl:variable name="doctype-public">
864     <xsl:call-template name="doctype-public">
865       <xsl:with-param name="frameset" select="$multiframe"/>
866     </xsl:call-template>
867   </xsl:variable>
868
869   <xsl:variable name="doctype-system">
870     <xsl:call-template name="doctype-system">
871       <xsl:with-param name="frameset" select="$multiframe"/>
872     </xsl:call-template>
873   </xsl:variable>
874
875   <xsl:variable name="home" select="/slides"/>
876   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
877   <xsl:variable name="next" select="foil[1]"/>
878   <xsl:variable name="prev" select="(preceding::foil|parent::foilgroup|/slides)[last()]"/>
879   <xsl:call-template name="write.chunk">
880     <xsl:with-param name="indent" select="$output.indent"/>
881     <xsl:with-param name="doctype-public" select="$doctype-public"/>
882     <xsl:with-param name="doctype-system" select="$doctype-system"/>
883     <xsl:with-param name="filename" select="concat($base.dir,$thisfoilgroup)"/>
884     <xsl:with-param name="content">
885       <html>
886         <head>
887           <title><xsl:value-of select="title"/></title>
888
889           <xsl:call-template name="system.head.content"/>
890           
891           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
892
893           <xsl:if test="$css.stylesheet != ''">
894             <link type="text/css" rel="stylesheet">
895               <xsl:attribute name="href">
896                 <xsl:call-template name="css.stylesheet"/>
897               </xsl:attribute>
898             </link>
899           </xsl:if>
900           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
901           
902           <xsl:call-template name="links">
903             <xsl:with-param name="home" select="$home"/>
904             <xsl:with-param name="up" select="$up"/>
905             <xsl:with-param name="next" select="$next"/>
906             <xsl:with-param name="prev" select="$prev"/>
907           </xsl:call-template>
908           
909           <xsl:if test="$overlay != 0 or $keyboard.nav != 0     or $dynamic.toc != 0 or $active.toc != 0">
910             <script language="javascript" type="text/javascript">
911               <xsl:text> </xsl:text>
912             </script>
913           </xsl:if>
914           
915           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
916             <xsl:call-template name="ua.js"/>
917             <xsl:call-template name="xbDOM.js">
918               <xsl:with-param name="language" select="'javascript'"/>
919             </xsl:call-template>
920             <xsl:call-template name="xbLibrary.js"/>
921             <script language="javascript" type="text/javascript">
922               <xsl:text disable-output-escaping="yes">
923                 &lt;!--
924                 xblibrary = new xbLibrary('</xsl:text>
925               <xsl:call-template name="script-dir"/>
926               <xsl:text disable-output-escaping="yes">');
927                 // --&gt;
928               </xsl:text>
929             </script>
930             <xsl:call-template name="xbStyle.js"/>
931             <xsl:call-template name="xbCollapsibleLists.js"/>
932             <xsl:call-template name="slides.js">
933               <xsl:with-param name="language" select="'javascript'"/>
934             </xsl:call-template>
935           </xsl:if>
936           
937           <xsl:if test="$overlay != '0'">
938             <xsl:call-template name="overlay.js">
939               <xsl:with-param name="language" select="'javascript'"/>
940             </xsl:call-template>
941           </xsl:if>
942           
943           <xsl:call-template name="user.head.content"/>
944         </head>
945         <xsl:choose>
946           <xsl:when test="$multiframe != 0">
947             <xsl:apply-templates select="." mode="multiframe"/>
948           </xsl:when>
949           <xsl:otherwise>
950             <xsl:apply-templates select="." mode="singleframe"/>
951           </xsl:otherwise>
952         </xsl:choose>
953       </html>
954     </xsl:with-param>
955   </xsl:call-template>
956
957   <xsl:if test="$multiframe != 0">
958     <xsl:apply-templates select="." mode="multiframe-top"/>
959     <xsl:apply-templates select="." mode="multiframe-body"/>
960     <xsl:apply-templates select="." mode="multiframe-bottom"/>
961   </xsl:if>
962
963   <xsl:apply-templates select="foil"/>
964 </xsl:template>
965
966 <xsl:template match="foilgroup" mode="multiframe">
967   <xsl:variable name="thisfoilgroup">
968     <xsl:text>foilgroup</xsl:text>
969     <xsl:number count="foilgroup" level="any" format="01"/>
970     <xsl:value-of select="$html.ext"/>
971   </xsl:variable>
972
973   <frameset rows="{$multiframe.navigation.height},*,{$multiframe.navigation.height}" id="foil">
974     <xsl:attribute name="onload">
975       <xsl:text>javascript:body.focus()</xsl:text>
976     </xsl:attribute>
977     <frame src="top-{$thisfoilgroup}" name="top" id="top" marginheight="0" frameborder="0"/>
978     <frame src="body-{$thisfoilgroup}" name="body" id="body" marginheight="0" frameborder="0"/>
979     <frame src="bot-{$thisfoilgroup}" name="bottom" id="bottom" marginheight="0" frameborder="0"/>
980     <noframes>
981       <body class="frameset">
982         <xsl:call-template name="body.attributes"/>
983         <p>
984           <xsl:text>Your browser doesn't support frames.</xsl:text>
985         </p>
986       </body>
987     </noframes>
988   </frameset>
989 </xsl:template>
990
991 <xsl:template match="foilgroup" mode="multiframe-top">
992   <xsl:variable name="foilgroup">
993     <xsl:text>foilgroup</xsl:text>
994     <xsl:number count="foilgroup" level="any" format="01"/>
995     <xsl:value-of select="$html.ext"/>
996   </xsl:variable>
997
998   <xsl:variable name="home" select="/slides"/>
999   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1000   <xsl:variable name="next" select="foil[1]"/>
1001   <xsl:variable name="prev" select="(preceding::foil|parent::foilgroup|/slides)[last()]"/>
1002
1003   <xsl:call-template name="write.chunk">
1004     <xsl:with-param name="indent" select="$output.indent"/>
1005     <xsl:with-param name="filename" select="concat($base.dir,'top-',$foilgroup)"/>
1006     <xsl:with-param name="content">
1007       <html>
1008         <head>
1009           <title>Navigation</title>
1010
1011           <xsl:call-template name="system.head.content"/>
1012
1013           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
1014
1015           <xsl:if test="$css.stylesheet != ''">
1016             <link type="text/css" rel="stylesheet">
1017               <xsl:attribute name="href">
1018                 <xsl:call-template name="css.stylesheet"/>
1019               </xsl:attribute>
1020             </link>
1021           </xsl:if>
1022           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
1023
1024           <xsl:call-template name="links">
1025             <xsl:with-param name="home" select="$home"/>
1026             <xsl:with-param name="up" select="$up"/>
1027             <xsl:with-param name="next" select="$next"/>
1028             <xsl:with-param name="prev" select="$prev"/>
1029           </xsl:call-template>
1030
1031           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
1032             <script language="javascript" type="text/javascript">
1033               <xsl:text> </xsl:text>
1034             </script>
1035           </xsl:if>
1036
1037           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
1038             <xsl:call-template name="ua.js"/>
1039             <xsl:call-template name="xbDOM.js">
1040               <xsl:with-param name="language" select="'javascript'"/>
1041             </xsl:call-template>
1042             <xsl:call-template name="xbLibrary.js"/>
1043             <xsl:call-template name="xbStyle.js"/>
1044             <xsl:call-template name="xbCollapsibleLists.js"/>
1045             <xsl:call-template name="slides.js">
1046               <xsl:with-param name="language" select="'javascript'"/>
1047             </xsl:call-template>
1048           </xsl:if>
1049
1050           <xsl:if test="$overlay != '0'">
1051             <xsl:call-template name="overlay.js">
1052               <xsl:with-param name="language" select="'javascript'"/>
1053             </xsl:call-template>
1054           </xsl:if>
1055
1056           <xsl:call-template name="user.head.content"/>
1057         </head>
1058         <body class="topnavigation" bgcolor="{$multiframe.top.bgcolor}">
1059           <xsl:call-template name="foilgroup-top-nav">
1060             <xsl:with-param name="home" select="$home"/>
1061             <xsl:with-param name="up" select="$up"/>
1062             <xsl:with-param name="next" select="$next"/>
1063             <xsl:with-param name="prev" select="$prev"/>
1064           </xsl:call-template>
1065         </body>
1066       </html>
1067     </xsl:with-param>
1068   </xsl:call-template>
1069 </xsl:template>
1070
1071 <xsl:template match="foilgroup" mode="multiframe-body">
1072   <xsl:variable name="id">
1073     <xsl:call-template name="object.id"/>
1074   </xsl:variable>
1075
1076   <xsl:variable name="home" select="/slides"/>
1077   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1078   <xsl:variable name="next" select="foil[1]"/>
1079   <xsl:variable name="prev" select="(preceding::foil|parent::foilgroup|/slides)[last()]"/>
1080
1081   <xsl:variable name="thisfoilgroup">
1082     <xsl:text>foilgroup</xsl:text>
1083     <xsl:number count="foilgroup" level="any" format="01"/>
1084     <xsl:value-of select="$html.ext"/>
1085   </xsl:variable>
1086
1087   <xsl:call-template name="write.chunk">
1088     <xsl:with-param name="indent" select="$output.indent"/>
1089     <xsl:with-param name="filename" select="concat($base.dir,'body-',$thisfoilgroup)"/>
1090     <xsl:with-param name="content">
1091       <html>
1092         <head>
1093           <title>Body</title>
1094
1095           <xsl:call-template name="system.head.content"/>
1096
1097           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
1098
1099           <xsl:if test="$css.stylesheet != ''">
1100             <link type="text/css" rel="stylesheet">
1101               <xsl:attribute name="href">
1102                 <xsl:call-template name="css.stylesheet"/>
1103               </xsl:attribute>
1104             </link>
1105           </xsl:if>
1106           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
1107
1108           <xsl:call-template name="links">
1109             <xsl:with-param name="home" select="$home"/>
1110             <xsl:with-param name="up" select="$up"/>
1111             <xsl:with-param name="next" select="$next"/>
1112             <xsl:with-param name="prev" select="$prev"/>
1113           </xsl:call-template>
1114
1115           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
1116             <script language="javascript" type="text/javascript">
1117               <xsl:text> </xsl:text>
1118             </script>
1119           </xsl:if>
1120
1121           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
1122             <xsl:call-template name="ua.js"/>
1123             <xsl:call-template name="xbDOM.js">
1124               <xsl:with-param name="language" select="'javascript'"/>
1125             </xsl:call-template>
1126             <xsl:call-template name="xbLibrary.js"/>
1127             <script language="javascript" type="text/javascript">
1128               <xsl:text disable-output-escaping="yes">
1129                 &lt;!--
1130                 xblibrary = new xbLibrary('</xsl:text>
1131               <xsl:call-template name="script-dir"/>
1132               <xsl:text disable-output-escaping="yes">');
1133                 // --&gt;
1134               </xsl:text>
1135             </script>
1136             <xsl:call-template name="xbStyle.js"/>
1137             <xsl:call-template name="xbCollapsibleLists.js"/>
1138             <xsl:call-template name="slides.js">
1139               <xsl:with-param name="language" select="'javascript'"/>
1140             </xsl:call-template>
1141           </xsl:if>
1142
1143           <xsl:if test="$overlay != '0'">
1144             <xsl:call-template name="overlay.js">
1145               <xsl:with-param name="language" select="'javascript'"/>
1146             </xsl:call-template>
1147           </xsl:if>
1148
1149           <xsl:call-template name="user.head.content"/>
1150         </head>
1151         <xsl:apply-templates select="." mode="singleframe"/>
1152       </html>
1153     </xsl:with-param>
1154   </xsl:call-template>
1155 </xsl:template>
1156
1157 <xsl:template match="foilgroup" mode="multiframe-bottom">
1158   <xsl:variable name="thisfoilgroup">
1159     <xsl:text>foilgroup</xsl:text>
1160     <xsl:number count="foilgroup" level="any" format="01"/>
1161     <xsl:value-of select="$html.ext"/>
1162   </xsl:variable>
1163
1164   <xsl:variable name="home" select="/slides"/>
1165   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1166   <xsl:variable name="next" select="foil[1]"/>
1167   <xsl:variable name="prev" select="(preceding::foil|parent::foilgroup|/slides)[last()]"/>
1168
1169   <xsl:call-template name="write.chunk">
1170     <xsl:with-param name="indent" select="$output.indent"/>
1171     <xsl:with-param name="filename" select="concat($base.dir,'bot-',$thisfoilgroup)"/>
1172     <xsl:with-param name="content">
1173       <html>
1174         <head>
1175           <title>Navigation</title>
1176
1177           <xsl:call-template name="system.head.content"/>
1178
1179           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
1180
1181           <xsl:if test="$css.stylesheet != ''">
1182             <link type="text/css" rel="stylesheet">
1183               <xsl:attribute name="href">
1184                 <xsl:call-template name="css.stylesheet"/>
1185               </xsl:attribute>
1186             </link>
1187           </xsl:if>
1188           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
1189
1190           <xsl:call-template name="links">
1191             <xsl:with-param name="home" select="$home"/>
1192             <xsl:with-param name="up" select="$up"/>
1193             <xsl:with-param name="next" select="$next"/>
1194             <xsl:with-param name="prev" select="$prev"/>
1195           </xsl:call-template>
1196
1197           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
1198             <script language="javascript" type="text/javascript">
1199               <xsl:text> </xsl:text>
1200             </script>
1201           </xsl:if>
1202
1203           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
1204             <xsl:call-template name="ua.js"/>
1205             <xsl:call-template name="xbDOM.js">
1206               <xsl:with-param name="language" select="'javascript'"/>
1207             </xsl:call-template>
1208             <xsl:call-template name="xbLibrary.js"/>
1209             <script language="javascript" type="text/javascript">
1210               <xsl:text disable-output-escaping="yes">
1211                 &lt;!--
1212                 xblibrary = new xbLibrary('</xsl:text>
1213               <xsl:call-template name="script-dir"/>
1214               <xsl:text disable-output-escaping="yes">');
1215                 // --&gt;
1216               </xsl:text>
1217             </script>
1218             <xsl:call-template name="xbStyle.js"/>
1219             <xsl:call-template name="xbCollapsibleLists.js"/>
1220             <xsl:call-template name="slides.js">
1221               <xsl:with-param name="language" select="'javascript'"/>
1222             </xsl:call-template>
1223           </xsl:if>
1224
1225           <xsl:if test="$overlay != '0'">
1226             <xsl:call-template name="overlay.js">
1227               <xsl:with-param name="language" select="'javascript'"/>
1228             </xsl:call-template>
1229           </xsl:if>
1230
1231           <xsl:call-template name="user.head.content"/>
1232         </head>
1233         <body class="botnavigation" bgcolor="{$multiframe.bottom.bgcolor}">
1234           <xsl:call-template name="foilgroup-bottom-nav">
1235             <xsl:with-param name="home" select="$home"/>
1236             <xsl:with-param name="up" select="$up"/>
1237             <xsl:with-param name="next" select="$next"/>
1238             <xsl:with-param name="prev" select="$prev"/>
1239           </xsl:call-template>
1240         </body>
1241       </html>
1242     </xsl:with-param>
1243   </xsl:call-template>
1244 </xsl:template>
1245
1246 <xsl:template match="foilgroup" mode="singleframe">
1247   <xsl:param name="thisfoilgroup">
1248     <xsl:apply-templates select="." mode="filename"/>
1249   </xsl:param>
1250
1251   <xsl:variable name="id">
1252     <xsl:call-template name="object.id"/>
1253   </xsl:variable>
1254
1255   <xsl:variable name="home" select="/slides"/>
1256   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1257   <xsl:variable name="next" select="foil[1]"/>
1258   <xsl:variable name="prev" select="(preceding::foil|parent::foilgroup|/slides)[last()]"/>
1259   <body class="foilgroup">
1260     <xsl:call-template name="body.attributes"/>
1261     <xsl:choose>
1262       <xsl:when test="$active.toc != 0">
1263         <xsl:attribute name="onload">
1264           <xsl:text>newPage('</xsl:text>
1265           <xsl:value-of select="$thisfoilgroup"/>
1266           <xsl:text>',</xsl:text>
1267           <xsl:value-of select="$overlay"/>
1268           <xsl:text>);</xsl:text>
1269         </xsl:attribute>
1270       </xsl:when>
1271       <xsl:when test="$overlay != 0">
1272         <xsl:attribute name="onload">
1273           <xsl:text>overlaySetup('lc');</xsl:text>
1274         </xsl:attribute>
1275       </xsl:when>
1276     </xsl:choose>
1277
1278
1279     <xsl:if test="$keyboard.nav != 0">
1280       <xsl:attribute name="onkeypress">
1281         <xsl:text>navigate(event)</xsl:text>
1282       </xsl:attribute>
1283     </xsl:if>
1284
1285     <div class="{name(.)}" id="{$id}">
1286       <xsl:if test="$multiframe=0">
1287         <xsl:call-template name="foilgroup-top-nav">
1288           <xsl:with-param name="home" select="$home"/>
1289           <xsl:with-param name="up" select="$up"/>
1290           <xsl:with-param name="next" select="$next"/>
1291           <xsl:with-param name="prev" select="$prev"/>
1292         </xsl:call-template>
1293       </xsl:if>
1294
1295       <div class="foilgroup-body" id="{$id}">
1296         <xsl:call-template name="foilgroup-body">
1297           <xsl:with-param name="home" select="$home"/>
1298           <xsl:with-param name="up" select="$up"/>
1299           <xsl:with-param name="next" select="$next"/>
1300           <xsl:with-param name="prev" select="$prev"/>
1301         </xsl:call-template>
1302       </div>
1303
1304       <xsl:if test="$multiframe=0">
1305         <div id="overlayDiv">
1306           <xsl:if test="$overlay != 0">
1307             <xsl:attribute name="style">
1308               <xsl:text>position:absolute;visibility:visible;</xsl:text>
1309             </xsl:attribute>
1310           </xsl:if>
1311           <xsl:call-template name="foilgroup-bottom-nav">
1312             <xsl:with-param name="home" select="$home"/>
1313             <xsl:with-param name="up" select="$up"/>
1314             <xsl:with-param name="next" select="$next"/>
1315             <xsl:with-param name="prev" select="$prev"/>
1316           </xsl:call-template>
1317         </div>
1318       </xsl:if>
1319     </div>
1320
1321     <xsl:call-template name="process.footnotes"/>
1322   </body>
1323 </xsl:template>
1324
1325 <!-- ====================================================================== -->
1326
1327 <xsl:template match="foil">
1328   <xsl:variable name="thisfoil">
1329     <xsl:apply-templates select="." mode="filename"/>
1330   </xsl:variable>
1331
1332   <xsl:variable name="home" select="/slides"/>
1333   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1334   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
1335   <xsl:variable name="prev" select="(preceding-sibling::foil[1]                                     |parent::foilgroup[1]                                     |/slides)[last()]"/>
1336
1337   <xsl:variable name="doctype-public">
1338     <xsl:call-template name="doctype-public">
1339       <xsl:with-param name="frameset" select="$multiframe"/>
1340     </xsl:call-template>
1341   </xsl:variable>
1342
1343   <xsl:variable name="doctype-system">
1344     <xsl:call-template name="doctype-system">
1345       <xsl:with-param name="frameset" select="$multiframe"/>
1346     </xsl:call-template>
1347   </xsl:variable>
1348
1349   <xsl:call-template name="write.chunk">
1350     <xsl:with-param name="indent" select="$output.indent"/>
1351     <xsl:with-param name="doctype-public" select="$doctype-public"/>
1352     <xsl:with-param name="doctype-system" select="$doctype-system"/>
1353     <xsl:with-param name="filename" select="concat($base.dir,$thisfoil)"/>
1354     <xsl:with-param name="content">
1355       <html>
1356         <head>
1357           <title><xsl:value-of select="title"/></title>
1358
1359           <xsl:call-template name="system.head.content"/>
1360
1361           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
1362
1363           <xsl:if test="$css.stylesheet != ''">
1364             <link type="text/css" rel="stylesheet">
1365               <xsl:attribute name="href">
1366                 <xsl:call-template name="css.stylesheet"/>
1367               </xsl:attribute>
1368             </link>
1369           </xsl:if>
1370           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
1371
1372           <xsl:call-template name="links">
1373             <xsl:with-param name="home" select="$home"/>
1374             <xsl:with-param name="up" select="$up"/>
1375             <xsl:with-param name="next" select="$next"/>
1376             <xsl:with-param name="prev" select="$prev"/>
1377           </xsl:call-template>
1378
1379           <xsl:if test="$overlay != 0 or $keyboard.nav != 0     or $dynamic.toc != 0 or $active.toc != 0">
1380             <script language="javascript" type="text/javascript">
1381               <xsl:text> </xsl:text>
1382             </script>
1383           </xsl:if>
1384
1385           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
1386             <xsl:call-template name="ua.js"/>
1387             <xsl:call-template name="xbDOM.js">
1388               <xsl:with-param name="language" select="'javascript'"/>
1389             </xsl:call-template>
1390             <xsl:call-template name="xbLibrary.js"/>
1391             <script language="javascript" type="text/javascript">
1392               <xsl:text disable-output-escaping="yes">
1393                 &lt;!--
1394                 xblibrary = new xbLibrary('</xsl:text>
1395               <xsl:call-template name="script-dir"/>
1396               <xsl:text disable-output-escaping="yes">');
1397                 // --&gt;
1398               </xsl:text>
1399             </script>
1400             <xsl:call-template name="xbStyle.js"/>
1401             <xsl:call-template name="xbCollapsibleLists.js"/>
1402             <xsl:call-template name="slides.js">
1403               <xsl:with-param name="language" select="'javascript'"/>
1404             </xsl:call-template>
1405           </xsl:if>
1406
1407           <xsl:if test="$overlay != '0'">
1408             <xsl:call-template name="overlay.js">
1409               <xsl:with-param name="language" select="'javascript'"/>
1410             </xsl:call-template>
1411           </xsl:if>
1412
1413           <xsl:call-template name="user.head.content"/>
1414         </head>
1415         <xsl:choose>
1416           <xsl:when test="$multiframe != 0">
1417             <xsl:apply-templates select="." mode="multiframe"/>
1418           </xsl:when>
1419           <xsl:otherwise>
1420             <xsl:apply-templates select="." mode="singleframe"/>
1421           </xsl:otherwise>
1422         </xsl:choose>
1423       </html>
1424     </xsl:with-param>
1425   </xsl:call-template>
1426
1427   <xsl:if test="$multiframe != 0">
1428     <xsl:apply-templates select="." mode="multiframe-top"/>
1429     <xsl:apply-templates select="." mode="multiframe-body"/>
1430     <xsl:apply-templates select="." mode="multiframe-bottom"/>
1431   </xsl:if>
1432 </xsl:template>
1433
1434 <xsl:template match="foil" mode="multiframe">
1435   <xsl:variable name="foilgroup" select="ancestor::foilgroup"/>
1436
1437   <xsl:variable name="thisfoil">
1438     <xsl:apply-templates select="." mode="filename"/>
1439   </xsl:variable>
1440
1441   <frameset rows="{$multiframe.navigation.height},*,{$multiframe.navigation.height}" id="foil">
1442     <xsl:attribute name="onload">
1443       <xsl:text>javascript:body.focus()</xsl:text>
1444       </xsl:attribute>
1445     <frame src="top-{$thisfoil}" name="top" id="top" marginheight="0" frameborder="0">
1446     </frame>
1447     <frame src="body-{$thisfoil}" name="body" id="body" marginheight="0" frameborder="0">
1448     </frame>
1449     <frame src="bot-{$thisfoil}" name="bottom" id="bottom" marginheight="0" frameborder="0">
1450     </frame>
1451     <noframes>
1452       <body class="frameset">
1453         <xsl:call-template name="body.attributes"/>
1454         <p>
1455           <xsl:text>Your browser doesn't support frames.</xsl:text>
1456         </p>
1457       </body>
1458     </noframes>
1459   </frameset>
1460 </xsl:template>
1461
1462 <xsl:template match="foil" mode="multiframe-top">
1463   <xsl:variable name="thisfoil">
1464     <xsl:apply-templates select="." mode="filename"/>
1465   </xsl:variable>
1466
1467   <xsl:variable name="home" select="/slides"/>
1468   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1469   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
1470   <xsl:variable name="prev" select="(preceding-sibling::foil[1]                                     |parent::foilgroup[1]                                     |/slides)[last()]"/>
1471
1472   <xsl:call-template name="write.chunk">
1473     <xsl:with-param name="indent" select="$output.indent"/>
1474     <xsl:with-param name="filename" select="concat($base.dir,'top-',$thisfoil)"/>
1475     <xsl:with-param name="content">
1476       <html>
1477         <head>
1478           <title>Navigation</title>
1479
1480           <xsl:call-template name="system.head.content"/>
1481
1482           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
1483
1484           <xsl:if test="$css.stylesheet != ''">
1485             <link type="text/css" rel="stylesheet">
1486               <xsl:attribute name="href">
1487                 <xsl:call-template name="css.stylesheet"/>
1488               </xsl:attribute>
1489             </link>
1490           </xsl:if>
1491           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
1492
1493           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
1494             <script language="javajcript" type="text/javascript">
1495               <xsl:text> </xsl:text>
1496             </script>
1497           </xsl:if>
1498
1499           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
1500             <xsl:call-template name="ua.js"/>
1501             <xsl:call-template name="xbDOM.js">
1502               <xsl:with-param name="language" select="'javascript'"/>
1503             </xsl:call-template>
1504             <xsl:call-template name="xbLibrary.js"/>
1505             <script language="javascript" type="text/javascript">
1506               <xsl:text disable-output-escaping="yes">
1507                 &lt;!--
1508                 xblibrary = new xbLibrary('</xsl:text>
1509               <xsl:call-template name="script-dir"/>
1510               <xsl:text disable-output-escaping="yes">');
1511                 // --&gt;
1512               </xsl:text>
1513             </script>
1514             <xsl:call-template name="xbStyle.js"/>
1515             <xsl:call-template name="xbCollapsibleLists.js"/>
1516             <xsl:call-template name="slides.js">
1517               <xsl:with-param name="language" select="'javascript'"/>
1518             </xsl:call-template>
1519           </xsl:if>
1520
1521           <xsl:if test="$overlay != '0'">
1522             <xsl:call-template name="overlay.js">
1523               <xsl:with-param name="language" select="'javascript'"/>
1524             </xsl:call-template>
1525           </xsl:if>
1526
1527           <xsl:call-template name="user.head.content"/>
1528         </head>
1529         <body class="topnavigation" bgcolor="{$multiframe.top.bgcolor}">
1530           <xsl:call-template name="foil-top-nav">
1531             <xsl:with-param name="home" select="$home"/>
1532             <xsl:with-param name="up" select="$up"/>
1533             <xsl:with-param name="next" select="$next"/>
1534             <xsl:with-param name="prev" select="$prev"/>
1535           </xsl:call-template>
1536         </body>
1537       </html>
1538     </xsl:with-param>
1539   </xsl:call-template>
1540 </xsl:template>
1541
1542 <xsl:template match="foil" mode="multiframe-body">
1543   <xsl:variable name="thisfoil">
1544     <xsl:apply-templates select="." mode="filename"/>
1545   </xsl:variable>
1546
1547   <xsl:call-template name="write.chunk">
1548     <xsl:with-param name="indent" select="$output.indent"/>
1549     <xsl:with-param name="filename" select="concat($base.dir,'body-',$thisfoil)"/>
1550     <xsl:with-param name="content">
1551       <html>
1552         <head>
1553           <title>Body</title>
1554
1555           <xsl:call-template name="system.head.content"/>
1556
1557           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
1558
1559           <xsl:if test="$css.stylesheet != ''">
1560             <link type="text/css" rel="stylesheet">
1561               <xsl:attribute name="href">
1562                 <xsl:call-template name="css.stylesheet"/>
1563               </xsl:attribute>
1564             </link>
1565           </xsl:if>
1566           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
1567
1568           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
1569             <script language="javascript" type="text/javascript">
1570               <xsl:text> </xsl:text>
1571             </script>
1572           </xsl:if>
1573
1574           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
1575             <xsl:variable name="home" select="/slides"/>
1576             <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1577             <xsl:variable name="next" select="(following::foil                                               |following::foilgroup)[1]"/>
1578             <xsl:variable name="prev" select="(preceding-sibling::foil[1]                                               |parent::foilgroup[1]                                               |/slides)[last()]"/>
1579
1580             <xsl:call-template name="links">
1581               <xsl:with-param name="home" select="$home"/>
1582               <xsl:with-param name="up" select="$up"/>
1583               <xsl:with-param name="next" select="$next"/>
1584               <xsl:with-param name="prev" select="$prev"/>
1585             </xsl:call-template>
1586
1587             <xsl:call-template name="ua.js"/>
1588             <xsl:call-template name="xbDOM.js">
1589               <xsl:with-param name="language" select="'javascript'"/>
1590             </xsl:call-template>
1591             <xsl:call-template name="xbLibrary.js"/>
1592             <script language="javascript" type="text/javascript">
1593               <xsl:text disable-output-escaping="yes">
1594                 &lt;!--
1595                 xblibrary = new xbLibrary('</xsl:text>
1596               <xsl:call-template name="script-dir"/>
1597               <xsl:text disable-output-escaping="yes">');
1598                 // --&gt;
1599               </xsl:text>
1600             </script>
1601             <xsl:call-template name="xbStyle.js"/>
1602             <xsl:call-template name="xbCollapsibleLists.js"/>
1603             <xsl:call-template name="slides.js">
1604               <xsl:with-param name="language" select="'javascript'"/>
1605             </xsl:call-template>
1606           </xsl:if>
1607
1608           <xsl:if test="$overlay != '0'">
1609             <xsl:call-template name="overlay.js">
1610               <xsl:with-param name="language" select="'javascript'"/>
1611             </xsl:call-template>
1612           </xsl:if>
1613
1614           <xsl:call-template name="user.head.content"/>
1615
1616         </head>
1617         <xsl:apply-templates select="." mode="singleframe"/>
1618       </html>
1619     </xsl:with-param>
1620   </xsl:call-template>
1621 </xsl:template>
1622
1623 <xsl:template match="foil" mode="multiframe-bottom">
1624   <xsl:variable name="thisfoil">
1625     <xsl:apply-templates select="." mode="filename"/>
1626   </xsl:variable>
1627
1628   <xsl:variable name="home" select="/slides"/>
1629   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1630   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
1631   <xsl:variable name="prev" select="(preceding-sibling::foil[1]                                     |parent::foilgroup[1]                                     |/slides)[last()]"/>
1632
1633   <xsl:call-template name="write.chunk">
1634     <xsl:with-param name="indent" select="$output.indent"/>
1635     <xsl:with-param name="filename" select="concat($base.dir,'bot-',$thisfoil)"/>
1636     <xsl:with-param name="content">
1637       <html>
1638         <head>
1639           <title>Navigation</title>
1640
1641           <xsl:call-template name="system.head.content"/>
1642
1643           <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
1644
1645           <xsl:if test="$css.stylesheet != ''">
1646             <link type="text/css" rel="stylesheet">
1647               <xsl:attribute name="href">
1648                 <xsl:call-template name="css.stylesheet"/>
1649               </xsl:attribute>
1650             </link>
1651           </xsl:if>
1652           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
1653
1654           <xsl:if test="$overlay != 0 or $keyboard.nav != 0                         or $dynamic.toc != 0 or $active.toc != 0">
1655             <script language="javascript" type="text/javascript">
1656               <xsl:text> </xsl:text>
1657             </script>
1658           </xsl:if>
1659
1660           <xsl:if test="$keyboard.nav != 0 or $dynamic.toc != 0 or $active.toc != 0">
1661             <xsl:call-template name="ua.js"/>
1662             <xsl:call-template name="xbDOM.js">
1663               <xsl:with-param name="language" select="'javascript'"/>
1664             </xsl:call-template>
1665             <xsl:call-template name="xbLibrary.js"/>
1666             <script language="javascript" type="text/javascript">
1667               <xsl:text disable-output-escaping="yes">
1668                 &lt;!--
1669                 xblibrary = new xbLibrary('</xsl:text>
1670               <xsl:call-template name="script-dir"/>
1671               <xsl:text disable-output-escaping="yes">');
1672                 // --&gt;
1673               </xsl:text>
1674             </script>
1675             <xsl:call-template name="xbStyle.js"/>
1676             <xsl:call-template name="xbCollapsibleLists.js"/>
1677             <xsl:call-template name="slides.js">
1678               <xsl:with-param name="language" select="'javascript'"/>
1679             </xsl:call-template>
1680           </xsl:if>
1681
1682           <xsl:if test="$overlay != '0'">
1683             <xsl:call-template name="overlay.js">
1684               <xsl:with-param name="language" select="'javascript'"/>
1685             </xsl:call-template>
1686           </xsl:if>
1687
1688           <xsl:call-template name="user.head.content"/>
1689         </head>
1690         <body class="botnavigation" bgcolor="{$multiframe.bottom.bgcolor}">
1691           <xsl:call-template name="foil-bottom-nav">
1692             <xsl:with-param name="home" select="$home"/>
1693             <xsl:with-param name="up" select="$up"/>
1694             <xsl:with-param name="next" select="$next"/>
1695             <xsl:with-param name="prev" select="$prev"/>
1696           </xsl:call-template>
1697         </body>
1698       </html>
1699     </xsl:with-param>
1700   </xsl:call-template>
1701 </xsl:template>
1702
1703 <xsl:template match="foil" mode="singleframe">
1704   <xsl:param name="thisfoil">
1705     <xsl:apply-templates select="." mode="filename"/>
1706   </xsl:param>
1707
1708   <xsl:variable name="id">
1709     <xsl:call-template name="object.id"/>
1710   </xsl:variable>
1711
1712   <xsl:variable name="home" select="/slides"/>
1713   <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1714   <xsl:variable name="next" select="(following::foil                                     |following::foilgroup)[1]"/>
1715   <xsl:variable name="prev" select="(preceding-sibling::foil[1]                                     |parent::foilgroup[1]                                     |/slides)[last()]"/>
1716
1717   <body class="foil">
1718     <xsl:call-template name="body.attributes"/>
1719     <xsl:choose>
1720       <xsl:when test="$active.toc != 0">
1721         <xsl:attribute name="onload">
1722           <xsl:text>newPage('</xsl:text>
1723           <xsl:value-of select="$thisfoil"/>
1724           <xsl:text>',</xsl:text>
1725           <xsl:value-of select="$overlay"/>
1726           <xsl:text>);</xsl:text>
1727         </xsl:attribute>
1728       </xsl:when>
1729       <xsl:when test="$overlay != 0">
1730         <xsl:attribute name="onload">
1731           <xsl:text>overlaySetup('lc');</xsl:text>
1732         </xsl:attribute>
1733       </xsl:when>
1734     </xsl:choose>
1735
1736     <xsl:if test="$keyboard.nav != 0">
1737       <xsl:attribute name="onkeypress">
1738         <xsl:text>navigate(event)</xsl:text>
1739       </xsl:attribute>
1740     </xsl:if>
1741
1742     <div class="{name(.)}" id="{$id}">
1743       <xsl:if test="$multiframe=0">
1744         <xsl:call-template name="foil-top-nav">
1745           <xsl:with-param name="home" select="$home"/>
1746           <xsl:with-param name="up" select="$up"/>
1747           <xsl:with-param name="next" select="$next"/>
1748           <xsl:with-param name="prev" select="$prev"/>
1749         </xsl:call-template>
1750       </xsl:if>
1751
1752       <div class="foil-body">
1753         <xsl:apply-templates/>
1754       </div>
1755
1756       <xsl:if test="$multiframe=0">
1757         <div id="overlayDiv">
1758           <xsl:if test="$overlay != 0">
1759             <xsl:attribute name="style">
1760               <xsl:text>position:absolute;visibility:visible;</xsl:text>
1761             </xsl:attribute>
1762           </xsl:if>
1763           <xsl:call-template name="foil-bottom-nav">
1764             <xsl:with-param name="home" select="$home"/>
1765             <xsl:with-param name="up" select="$up"/>
1766             <xsl:with-param name="next" select="$next"/>
1767             <xsl:with-param name="prev" select="$prev"/>
1768           </xsl:call-template>
1769         </div>
1770       </xsl:if>
1771     </div>
1772
1773     <xsl:call-template name="process.footnotes"/>
1774   </body>
1775 </xsl:template>
1776
1777 <!-- ============================================================ -->
1778
1779 <xsl:template match="slidesinfo" mode="toc">
1780   <xsl:variable name="id">
1781     <xsl:call-template name="object.id"/>
1782   </xsl:variable>
1783   <div id="{$id}" class="toc-slidesinfo">
1784     <a href="{$titlefoil.html}" target="foil">
1785       <xsl:choose>
1786         <xsl:when test="titleabbrev">
1787           <xsl:apply-templates select="titleabbrev" mode="toc"/>
1788         </xsl:when>
1789         <xsl:otherwise>
1790           <xsl:apply-templates select="title" mode="toc"/>
1791         </xsl:otherwise>
1792       </xsl:choose>
1793     </a>
1794     <hr/>
1795   </div>
1796 </xsl:template>
1797
1798 <xsl:template match="foilgroup" mode="toc">
1799   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
1800
1801   <xsl:variable name="thisfoilgroup">
1802     <xsl:text>foilgroup</xsl:text>
1803     <xsl:number count="foilgroup" level="any" format="01"/>
1804     <xsl:value-of select="$html.ext"/>
1805   </xsl:variable>
1806
1807   <div class="toc-foilgroup" id="{$id}">
1808     <img alt="-">
1809       <xsl:attribute name="src">
1810         <xsl:call-template name="minus.image"/>
1811       </xsl:attribute>
1812     </img>
1813     <a href="{$thisfoilgroup}" target="foil">
1814       <xsl:choose>
1815         <xsl:when test="titleabbrev">
1816           <xsl:apply-templates select="titleabbrev" mode="toc"/>
1817         </xsl:when>
1818         <xsl:otherwise>
1819           <xsl:apply-templates select="title" mode="toc"/>
1820         </xsl:otherwise>
1821       </xsl:choose>
1822     </a>
1823     <xsl:apply-templates select="foil" mode="toc"/>
1824   </div>
1825 </xsl:template>
1826
1827 <xsl:template match="foil" mode="toc">
1828   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
1829   <xsl:variable name="foil">
1830     <xsl:apply-templates select="." mode="filename"/>
1831   </xsl:variable>
1832
1833   <div id="{$id}" class="toc-foil">
1834     <img alt="-">
1835       <xsl:attribute name="src">
1836         <xsl:call-template name="bullet.image"/>
1837       </xsl:attribute>
1838     </img>
1839     <a href="{$foil}" target="foil">
1840       <xsl:choose>
1841         <xsl:when test="titleabbrev">
1842           <xsl:apply-templates select="titleabbrev" mode="toc"/>
1843         </xsl:when>
1844         <xsl:otherwise>
1845           <xsl:apply-templates select="title" mode="toc"/>
1846         </xsl:otherwise>
1847       </xsl:choose>
1848     </a>
1849   </div>
1850 </xsl:template>
1851
1852 <!-- ====================================================================== -->
1853
1854 <xsl:template match="slidesinfo" mode="ns-toc">
1855   <xsl:variable name="id">
1856     <xsl:call-template name="object.id"/>
1857   </xsl:variable>
1858
1859   <xsl:text>myList.addItem('</xsl:text>
1860
1861   <xsl:text disable-output-escaping="yes">&lt;div id="</xsl:text>
1862   <xsl:value-of select="$id"/>
1863   <xsl:text disable-output-escaping="yes">" class="toc-slidesinfo"&gt;</xsl:text>
1864
1865   <xsl:text disable-output-escaping="yes">&lt;a href="</xsl:text>
1866   <xsl:value-of select="$titlefoil.html"/>
1867   <xsl:text disable-output-escaping="yes">" target="foil"&gt;</xsl:text>
1868
1869   <xsl:call-template name="string.subst">
1870     <xsl:with-param name="string">
1871       <xsl:choose>
1872         <xsl:when test="titleabbrev">
1873           <xsl:value-of select="titleabbrev"/>
1874         </xsl:when>
1875         <xsl:otherwise>
1876           <xsl:value-of select="title"/>
1877         </xsl:otherwise>
1878       </xsl:choose>
1879     </xsl:with-param>
1880     <xsl:with-param name="target">'</xsl:with-param>
1881     <xsl:with-param name="replacement">\'</xsl:with-param>
1882   </xsl:call-template>
1883
1884   <xsl:text disable-output-escaping="yes">&lt;\/a&gt;&lt;\/div&gt;</xsl:text>
1885   <xsl:text>');
1886 </xsl:text>
1887 </xsl:template>
1888
1889 <xsl:template match="foilgroup" mode="ns-toc">
1890   <xsl:variable name="id">
1891     <xsl:call-template name="object.id"/>
1892   </xsl:variable>
1893
1894   <xsl:text>subList = new List(false, width, height, "</xsl:text>
1895 <xsl:value-of select="$toc.bg.color"/>
1896 <xsl:text>");
1897 </xsl:text>
1898   <xsl:text>subList.setIndent(12);
1899 </xsl:text>
1900   <xsl:apply-templates select="foil" mode="ns-toc"/>
1901
1902   <xsl:text>myList.addList(subList, '</xsl:text>
1903
1904   <xsl:text disable-output-escaping="yes">&lt;div id="</xsl:text>
1905   <xsl:value-of select="$id"/>
1906   <xsl:text disable-output-escaping="yes">" class="toc-foilgroup"&gt;</xsl:text>
1907
1908   <xsl:text disable-output-escaping="yes">&lt;a href="</xsl:text>
1909   <xsl:apply-templates select="." mode="filename"/>
1910   <xsl:text disable-output-escaping="yes">" target="foil"&gt;</xsl:text>
1911
1912   <xsl:call-template name="string.subst">
1913     <xsl:with-param name="string">
1914       <xsl:choose>
1915         <xsl:when test="titleabbrev">
1916           <xsl:value-of select="titleabbrev"/>
1917         </xsl:when>
1918         <xsl:otherwise>
1919           <xsl:value-of select="title"/>
1920         </xsl:otherwise>
1921       </xsl:choose>
1922     </xsl:with-param>
1923     <xsl:with-param name="target">'</xsl:with-param>
1924     <xsl:with-param name="replacement">\'</xsl:with-param>
1925   </xsl:call-template>
1926
1927   <xsl:text disable-output-escaping="yes">&lt;\/a&gt;&lt;\/div&gt;</xsl:text>
1928   <xsl:text>');
1929 </xsl:text>
1930 </xsl:template>
1931
1932 <xsl:template match="foil" mode="ns-toc">
1933   <xsl:variable name="id"><xsl:call-template name="object.id"/></xsl:variable>
1934
1935   <xsl:choose>
1936     <xsl:when test="ancestor::foilgroup">
1937       <xsl:text>subList.addItem('</xsl:text>
1938     </xsl:when>
1939     <xsl:otherwise>
1940       <xsl:text>myList.addItem('</xsl:text>
1941     </xsl:otherwise>
1942   </xsl:choose>
1943
1944   <xsl:text disable-output-escaping="yes">&lt;div id="</xsl:text>
1945   <xsl:value-of select="$id"/>
1946   <xsl:text disable-output-escaping="yes">" class="toc-foil"&gt;</xsl:text>
1947
1948   <xsl:text disable-output-escaping="yes">&lt;img alt="-" src="</xsl:text>
1949   <xsl:call-template name="bullet.image"/>
1950   <xsl:text disable-output-escaping="yes">"&gt;&lt;\/img&gt;</xsl:text>
1951
1952   <xsl:text disable-output-escaping="yes">&lt;a href="</xsl:text>
1953   <xsl:apply-templates select="." mode="filename"/>
1954   <xsl:text disable-output-escaping="yes">" target="foil"&gt;</xsl:text>
1955
1956   <xsl:call-template name="string.subst">
1957     <xsl:with-param name="string">
1958       <xsl:choose>
1959         <xsl:when test="titleabbrev">
1960           <xsl:value-of select="titleabbrev"/>
1961         </xsl:when>
1962         <xsl:otherwise>
1963           <xsl:value-of select="title"/>
1964         </xsl:otherwise>
1965       </xsl:choose>
1966     </xsl:with-param>
1967     <xsl:with-param name="target">'</xsl:with-param>
1968     <xsl:with-param name="replacement">\'</xsl:with-param>
1969   </xsl:call-template>
1970
1971   <xsl:text disable-output-escaping="yes">&lt;\/a&gt;&lt;\/div&gt;</xsl:text>
1972   <xsl:text>');
1973 </xsl:text>
1974 </xsl:template>
1975
1976 <xsl:template match="speakernotes" mode="ns-toc">
1977   <!-- nop -->
1978 </xsl:template>
1979
1980 <!-- ====================================================================== -->
1981
1982 </xsl:stylesheet>