]> git.stg.codes - stg.git/blob - doc/xslt/slides/xhtml/vslides.xsl
Improved handling errors got from server.
[stg.git] / doc / xslt / slides / xhtml / vslides.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="but-fforward.png" select="'active/but-fforward.png'"/>
9 <xsl:param name="but-info.png" select="'active/but-info.png'"/>
10 <xsl:param name="but-next.png" select="'active/but-next.png'"/>
11 <xsl:param name="but-prev.png" select="'active/but-prev.png'"/>
12 <xsl:param name="but-rewind.png" select="'active/but-rewind.png'"/>
13
14 <xsl:param name="but-xfforward.png" select="'inactive/but-fforward.png'"/>
15 <xsl:param name="but-xinfo.png" select="'inactive/but-info.png'"/>
16 <xsl:param name="but-xnext.png" select="'inactive/but-next.png'"/>
17 <xsl:param name="but-xprev.png" select="'inactive/but-prev.png'"/>
18 <xsl:param name="but-xrewind.png" select="'inactive/but-rewind.png'"/>
19
20 <!-- overrides for this stylesheet -->
21 <xsl:param name="titlefoil.html" select="concat('index', $html.ext)"/>
22 <xsl:param name="toc.width" select="40"/>
23
24 <!-- ============================================================ -->
25
26 <xsl:template match="slides">
27   <xsl:call-template name="write.chunk">
28     <xsl:with-param name="indent" select="$output.indent"/>
29     <xsl:with-param name="filename" select="concat($base.dir, $toc.html)"/>
30     <xsl:with-param name="content">
31       <html>
32         <head>
33           <title><xsl:value-of select="slidesinfo/title"/></title>
34           <xsl:if test="$css.stylesheet != ''">
35             <link type="text/css" rel="stylesheet">
36               <xsl:attribute name="href">
37                 <xsl:call-template name="css.stylesheet"/>
38               </xsl:attribute>
39             </link>
40           </xsl:if>
41           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
42
43           <xsl:call-template name="links">
44             <xsl:with-param name="next" select="/slides"/>
45             <xsl:with-param name="tocfile" select="$toc.html"/>
46           </xsl:call-template>
47
48           <xsl:if test="$keyboard.nav != 0">
49             <script language="javascript" type="text/javascript">
50               <xsl:text> </xsl:text>
51             </script>
52           </xsl:if>
53
54           <xsl:if test="$keyboard.nav != 0">
55             <xsl:call-template name="ua.js"/>
56             <xsl:call-template name="xbDOM.js">
57               <xsl:with-param name="language" select="'javascript'"/>
58             </xsl:call-template>
59             <xsl:call-template name="xbLibrary.js"/>
60             <script language="javascript" type="text/javascript">
61               <xsl:text disable-output-escaping="yes">
62                 &lt;!--
63                 xblibrary = new xbLibrary('../browser');
64                 // --&gt;
65               </xsl:text>
66             </script>
67             <xsl:call-template name="xbStyle.js"/>
68             <xsl:call-template name="xbCollapsibleLists.js"/>
69             <xsl:call-template name="slides.js">
70               <xsl:with-param name="language" select="'javascript'"/>
71             </xsl:call-template>
72           </xsl:if>
73         </head>
74         <body class="tocpage">
75           <xsl:call-template name="body.attributes"/>
76           <xsl:if test="$keyboard.nav != 0">
77             <xsl:attribute name="onkeypress">
78               <xsl:text>navigate(event)</xsl:text>
79             </xsl:attribute>
80           </xsl:if>
81
82           <table border="0" width="100%" summary="Navigation and body table" cellpadding="0" cellspacing="0">
83             <tr>
84               <td>&#160;</td>
85               <td><xsl:apply-templates select="." mode="header"/></td>
86             </tr>
87
88             <tr>
89               <td width="{$toc.width}" valign="top" align="left">
90                 <xsl:if test="$toc.bg.color != ''">
91                   <xsl:attribute name="bgcolor">
92                     <xsl:value-of select="$toc.bg.color"/>
93                   </xsl:attribute>
94                 </xsl:if>
95
96                 <xsl:call-template name="vertical-navigation">
97                   <xsl:with-param name="next" select="/slides"/>
98                   <xsl:with-param name="tocfile"/>
99                 </xsl:call-template>
100
101               </td>
102               <td valign="top" align="left">
103                 <xsl:if test="$body.bg.color != ''">
104                   <xsl:attribute name="bgcolor">
105                     <xsl:value-of select="$body.bg.color"/>
106                   </xsl:attribute>
107                 </xsl:if>
108
109                 <div class="{name(.)}">
110
111                   <div class="toc-body">
112                     <xsl:call-template name="toc-body"/>
113                   </div>
114
115                 </div>
116               </td>
117             </tr>
118
119             <tr>
120               <td>&#160;</td>
121               <td><xsl:apply-templates select="." mode="footer"/></td>
122             </tr>
123           </table>
124         </body>
125       </html>
126     </xsl:with-param>
127   </xsl:call-template>
128
129   <xsl:apply-templates/>
130 </xsl:template>
131
132 <xsl:template match="slidesinfo">
133   <xsl:call-template name="write.chunk">
134     <xsl:with-param name="indent" select="$output.indent"/>
135     <xsl:with-param name="filename" select="concat($base.dir, $titlefoil.html)"/>
136     <xsl:with-param name="content">
137       <html>
138         <head>
139           <title><xsl:value-of select="title"/></title>
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:call-template name="links">
150             <xsl:with-param name="next" select="(/slides/foil|/slides/foilgroup)[1]"/>
151             <xsl:with-param name="tocfile" select="$toc.html"/>
152           </xsl:call-template>
153
154           <xsl:if test="$keyboard.nav != 0">
155             <script language="javascript" type="text/javascript">
156               <xsl:text> </xsl:text>
157             </script>
158           </xsl:if>
159
160           <xsl:if test="$keyboard.nav != 0">
161             <xsl:call-template name="ua.js"/>
162             <xsl:call-template name="xbDOM.js">
163               <xsl:with-param name="language" select="'javascript'"/>
164             </xsl:call-template>
165             <xsl:call-template name="xbLibrary.js"/>
166             <script language="javascript" type="text/javascript">
167               <xsl:text disable-output-escaping="yes">
168                 &lt;!--
169                 xblibrary = new xbLibrary('../browser');
170                 // --&gt;
171               </xsl:text>
172             </script>
173             <xsl:call-template name="xbStyle.js"/>
174             <xsl:call-template name="xbCollapsibleLists.js"/>
175             <xsl:call-template name="slides.js">
176               <xsl:with-param name="language" select="'javascript'"/>
177             </xsl:call-template>
178           </xsl:if>
179         </head>
180         <body class="titlepage">
181           <xsl:call-template name="body.attributes"/>
182           <xsl:if test="$keyboard.nav != 0">
183             <xsl:attribute name="onkeypress">
184               <xsl:text>navigate(event)</xsl:text>
185             </xsl:attribute>
186           </xsl:if>
187
188           <table border="0" width="100%" summary="Navigation and body table" cellpadding="0" cellspacing="0">
189             <tr>
190               <td>&#160;</td>
191               <td><xsl:apply-templates select="." mode="header"/></td>
192             </tr>
193
194             <tr>
195               <td width="{$toc.width}" valign="top" align="left">
196                 <xsl:if test="$toc.bg.color != ''">
197                   <xsl:attribute name="bgcolor">
198                     <xsl:value-of select="$toc.bg.color"/>
199                   </xsl:attribute>
200                 </xsl:if>
201
202                 <xsl:call-template name="vertical-navigation">
203                   <xsl:with-param name="first"/>
204                   <xsl:with-param name="last" select="(following::foilgroup|following::foil)[last()]"/>
205                   <xsl:with-param name="next" select="(following::foilgroup|following::foil)[1]"/>
206                 </xsl:call-template>
207
208               </td>
209               <td valign="top" align="left">
210                 <xsl:if test="$body.bg.color != ''">
211                   <xsl:attribute name="bgcolor">
212                     <xsl:value-of select="$body.bg.color"/>
213                   </xsl:attribute>
214                 </xsl:if>
215                 <div class="{name(.)}">
216                   <xsl:apply-templates mode="titlepage.mode"/>
217                 </div>
218               </td>
219             </tr>
220
221             <tr>
222               <td>&#160;</td>
223               <td><xsl:apply-templates select="." mode="footer"/></td>
224             </tr>
225           </table>
226         </body>
227       </html>
228     </xsl:with-param>
229   </xsl:call-template>
230 </xsl:template>
231
232 <xsl:template match="foilgroup">
233   <xsl:param name="thisfoilgroup">
234     <xsl:apply-templates select="." mode="filename"/>
235   </xsl:param>
236
237   <xsl:variable name="id">
238     <xsl:call-template name="object.id"/>
239   </xsl:variable>
240
241   <xsl:variable name="nextfoil" select="foil[1]"/>
242   <xsl:variable name="lastfoil" select="(descendant::foil|following::foil)[last()]"/>
243   <xsl:variable name="prevfoil" select="(preceding::foil|/slides)[last()]"/>
244
245   <xsl:call-template name="write.chunk">
246     <xsl:with-param name="indent" select="$output.indent"/>
247     <xsl:with-param name="filename" select="concat($base.dir, $thisfoilgroup)"/>
248     <xsl:with-param name="content">
249       <html>
250         <head>
251           <title><xsl:value-of select="title"/></title>
252           <xsl:if test="$css.stylesheet != ''">
253             <link type="text/css" rel="stylesheet">
254               <xsl:attribute name="href">
255                 <xsl:call-template name="css.stylesheet"/>
256               </xsl:attribute>
257             </link>
258           </xsl:if>
259           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
260
261           <xsl:call-template name="links">
262             <xsl:with-param name="prev" select="$prevfoil"/>
263             <xsl:with-param name="next" select="$nextfoil"/>
264           </xsl:call-template>
265           
266           <xsl:if test="$keyboard.nav != 0">
267             <script language="javascript" type="text/javascript">
268               <xsl:text> </xsl:text>
269             </script>
270           </xsl:if>
271
272           <xsl:if test="$keyboard.nav != 0">
273             <xsl:call-template name="ua.js"/>
274             <xsl:call-template name="xbDOM.js">
275               <xsl:with-param name="language" select="'javascript'"/>
276             </xsl:call-template>
277             <xsl:call-template name="xbLibrary.js"/>
278             <script language="javascript" type="text/javascript">
279               <xsl:text disable-output-escaping="yes">
280                 &lt;!--
281                 xblibrary = new xbLibrary('../browser');
282                 // --&gt;
283               </xsl:text>
284             </script>
285             <xsl:call-template name="xbStyle.js"/>
286             <xsl:call-template name="xbCollapsibleLists.js"/>
287             <xsl:call-template name="slides.js">
288               <xsl:with-param name="language" select="'javascript'"/>
289             </xsl:call-template>
290           </xsl:if>
291         </head>
292         <body class="foilgroup">
293           <xsl:call-template name="body.attributes"/>
294           <xsl:if test="$keyboard.nav != 0">
295             <xsl:attribute name="onkeypress">
296               <xsl:text>navigate(event)</xsl:text>
297             </xsl:attribute>
298           </xsl:if>
299
300           <table border="0" width="100%" summary="Navigation and body table" cellpadding="0" cellspacing="0">
301             <tr>
302               <td>&#160;</td>
303               <td><xsl:apply-templates select="." mode="header"/></td>
304             </tr>
305             
306             <tr>
307               <td width="{$toc.width}" valign="top" align="left">
308                 <xsl:if test="$toc.bg.color != ''">
309                   <xsl:attribute name="bgcolor">
310                     <xsl:value-of select="$toc.bg.color"/>
311                   </xsl:attribute>
312                 </xsl:if>
313                 
314                 <xsl:call-template name="vertical-navigation">
315                   <xsl:with-param name="last" select="$lastfoil"/>
316                   <xsl:with-param name="prev" select="$prevfoil"/>
317                   <xsl:with-param name="next" select="$nextfoil"/>
318                 </xsl:call-template>
319                 
320               </td>
321               <td valign="top" align="left">
322                 <xsl:if test="$body.bg.color != ''">
323                   <xsl:attribute name="bgcolor">
324                     <xsl:value-of select="$body.bg.color"/>
325                   </xsl:attribute>
326                 </xsl:if>
327
328                 <div class="{name(.)}">
329                   <xsl:apply-templates/>
330                 </div>
331               </td>
332             </tr>
333
334             <tr>
335               <td>&#160;</td>
336               <td><xsl:apply-templates select="." mode="footer"/></td>
337             </tr>
338           </table>
339         </body>
340       </html>
341     </xsl:with-param>
342   </xsl:call-template>
343
344   <xsl:apply-templates select="foil"/>
345 </xsl:template>
346
347 <xsl:template match="foil">
348   <xsl:variable name="id">
349     <xsl:call-template name="object.id"/>
350   </xsl:variable>
351
352   <xsl:variable name="foilgroup" select="ancestor::foilgroup"/>
353
354   <xsl:variable name="thisfoil">
355     <xsl:apply-templates select="." mode="filename"/>
356   </xsl:variable>
357
358   <xsl:variable name="nextfoil" select="(following::foil                                         |following::foilgroup)[1]"/>
359
360   <xsl:variable name="lastfoil" select="following::foil[last()]"/>
361
362   <xsl:variable name="prevfoil" select="(preceding-sibling::foil[1]                                         |parent::foilgroup[1]                                         |/slides)[last()]"/>
363
364   <xsl:call-template name="write.chunk">
365     <xsl:with-param name="indent" select="$output.indent"/>
366     <xsl:with-param name="filename" select="concat($base.dir, $thisfoil)"/>
367     <xsl:with-param name="content">
368       <html>
369         <head>
370           <title><xsl:value-of select="title"/></title>
371           <xsl:if test="$css.stylesheet != ''">
372             <link type="text/css" rel="stylesheet">
373               <xsl:attribute name="href">
374                 <xsl:call-template name="css.stylesheet"/>
375               </xsl:attribute>
376             </link>
377           </xsl:if>
378           <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
379
380           <xsl:call-template name="links">
381             <xsl:with-param name="prev" select="$prevfoil"/>
382             <xsl:with-param name="next" select="$nextfoil"/>
383           </xsl:call-template>
384
385           <xsl:if test="$keyboard.nav != 0">
386             <script language="javascript" type="text/javascript">
387               <xsl:text> </xsl:text>
388             </script>
389           </xsl:if>
390
391           <xsl:if test="$keyboard.nav != 0">
392             <xsl:call-template name="ua.js"/>
393             <xsl:call-template name="xbDOM.js">
394               <xsl:with-param name="language" select="'javascript'"/>
395             </xsl:call-template>
396             <xsl:call-template name="xbLibrary.js"/>
397             <script language="javascript" type="text/javascript">
398               <xsl:text disable-output-escaping="yes">
399                 &lt;!--
400                 xblibrary = new xbLibrary('../browser');
401                 // --&gt;
402               </xsl:text>
403             </script>
404             <xsl:call-template name="xbStyle.js"/>
405             <xsl:call-template name="xbCollapsibleLists.js"/>
406             <xsl:call-template name="slides.js">
407               <xsl:with-param name="language" select="'javascript'"/>
408             </xsl:call-template>
409           </xsl:if>
410         </head>
411         <body class="foil">
412           <xsl:call-template name="body.attributes"/>
413           <xsl:if test="$keyboard.nav != 0">
414             <xsl:attribute name="onkeypress">
415               <xsl:text>navigate(event)</xsl:text>
416             </xsl:attribute>
417           </xsl:if>
418
419           <table border="0" width="100%" summary="Navigation and body table" cellpadding="0" cellspacing="0">
420             <tr>
421               <td>&#160;</td>
422               <td><xsl:apply-templates select="." mode="header"/></td>
423             </tr>
424
425             <tr>
426               <td width="{$toc.width}" valign="top" align="left">
427                 <xsl:if test="$toc.bg.color != ''">
428                   <xsl:attribute name="bgcolor">
429                     <xsl:value-of select="$toc.bg.color"/>
430                   </xsl:attribute>
431                 </xsl:if>
432
433                 <xsl:call-template name="vertical-navigation">
434                   <xsl:with-param name="last" select="$lastfoil"/>
435                   <xsl:with-param name="prev" select="$prevfoil"/>
436                   <xsl:with-param name="next" select="$nextfoil"/>
437                 </xsl:call-template>
438
439               </td>
440               <td valign="top" align="left">
441                 <xsl:if test="$body.bg.color != ''">
442                   <xsl:attribute name="bgcolor">
443                     <xsl:value-of select="$body.bg.color"/>
444                   </xsl:attribute>
445                 </xsl:if>
446
447                 <div class="{name(.)}">
448                   <xsl:apply-templates/>
449                 </div>
450               </td>
451             </tr>
452
453             <tr>
454               <td>&#160;</td>
455               <td><xsl:apply-templates select="." mode="footer"/></td>
456             </tr>
457           </table>
458         </body>
459       </html>
460     </xsl:with-param>
461   </xsl:call-template>
462 </xsl:template>
463
464 <!-- ============================================================ -->
465
466 <xsl:template match="slidesinfo" mode="header">
467   <div class="navhead">
468     <!-- nop -->
469   </div>
470 </xsl:template>
471
472 <xsl:template match="foil|foilgroup" mode="header">
473   <div class="navhead">
474     <table border="0" width="100%" summary="Header table" cellpadding="0" cellspacing="0">
475       <tr>
476         <td align="left">
477           <xsl:apply-templates select="/slides/slidesinfo/title" mode="slide.footer.mode"/>
478         </td>
479         <td align="right">
480           <xsl:value-of select="count(preceding::foil)                                 + count(preceding::foilgroup)                                 + count(ancestor::foilgroup)                                 + 1"/>
481         </td>
482       </tr>
483     </table>
484   </div>
485 </xsl:template>
486
487 <xsl:template match="slidesinfo" mode="footer">
488   <div class="navfoot">
489     <!-- nop -->
490   </div>
491 </xsl:template>
492
493 <xsl:template match="foil|foilgroup" mode="footer">
494   <div class="navfoot">
495     <table border="0" width="100%" summary="Header table" cellpadding="0" cellspacing="0">
496       <tr>
497         <td align="center">
498           <xsl:text>Slide </xsl:text>
499           <xsl:value-of select="count(preceding::foil)                                 + count(preceding::foilgroup)                                 + count(ancestor::foilgroup)                                 + 1"/>
500           <xsl:text> of </xsl:text>
501           <xsl:value-of select="count(//foil) + count(//foilgroup)"/>
502         </td>
503       </tr>
504     </table>
505   </div>
506 </xsl:template>
507
508 <xsl:template match="slides" mode="footer"/>
509
510 <!-- ============================================================ -->
511
512 <xsl:template name="vertical-navigation">
513   <xsl:param name="first" select="/slides"/>
514   <xsl:param name="prev"/>
515   <xsl:param name="last"/>
516   <xsl:param name="next"/>
517   <xsl:param name="tocfile" select="$toc.html"/>
518
519   <div class="vnav">
520     <xsl:choose>
521       <xsl:when test="$first">
522         <a>
523           <xsl:attribute name="href">
524             <xsl:apply-templates select="$first" mode="filename"/>
525           </xsl:attribute>
526           <img border="0" alt="First">
527             <xsl:attribute name="src">
528               <xsl:call-template name="graphics-file">
529                 <xsl:with-param name="image" select="$but-rewind.png"/>
530               </xsl:call-template>
531             </xsl:attribute>
532           </img>
533         </a>
534       </xsl:when>
535       <xsl:otherwise>
536         <img alt="First">
537           <xsl:attribute name="src">
538             <xsl:call-template name="graphics-file">
539               <xsl:with-param name="image" select="$but-xrewind.png"/>
540             </xsl:call-template>
541           </xsl:attribute>
542         </img>
543       </xsl:otherwise>
544     </xsl:choose>
545     <br/>
546     <xsl:choose>
547       <xsl:when test="$prev">
548         <a>
549           <xsl:attribute name="href">
550             <xsl:apply-templates select="$prev" mode="filename"/>
551           </xsl:attribute>
552           <img border="0" alt="Previous">
553             <xsl:attribute name="src">
554               <xsl:call-template name="graphics-file">
555                 <xsl:with-param name="image" select="$but-prev.png"/>
556               </xsl:call-template>
557             </xsl:attribute>
558           </img>
559         </a>
560       </xsl:when>
561       <xsl:otherwise>
562         <img alt="Previous">
563           <xsl:attribute name="src">
564             <xsl:call-template name="graphics-file">
565               <xsl:with-param name="image" select="$but-xprev.png"/>
566             </xsl:call-template>
567           </xsl:attribute>
568         </img>
569       </xsl:otherwise>
570     </xsl:choose>
571     <br/>
572     <xsl:choose>
573       <xsl:when test="$next">
574         <a>
575           <xsl:attribute name="href">
576             <xsl:apply-templates select="$next" mode="filename"/>
577           </xsl:attribute>
578           <img border="0" alt="Last">
579             <xsl:attribute name="src">
580               <xsl:call-template name="graphics-file">
581                 <xsl:with-param name="image" select="$but-next.png"/>
582               </xsl:call-template>
583             </xsl:attribute>
584           </img>
585         </a>
586       </xsl:when>
587       <xsl:otherwise>
588         <img alt="Last">
589           <xsl:attribute name="src">
590             <xsl:call-template name="graphics-file">
591               <xsl:with-param name="image" select="$but-xnext.png"/>
592             </xsl:call-template>
593           </xsl:attribute>
594         </img>
595       </xsl:otherwise>
596     </xsl:choose>
597     <br/>
598     <xsl:choose>
599       <xsl:when test="$last">
600         <a>
601           <xsl:attribute name="href">
602             <xsl:apply-templates select="$last" mode="filename"/>
603           </xsl:attribute>
604           <img border="0" alt="Next">
605             <xsl:attribute name="src">
606               <xsl:call-template name="graphics-file">
607                 <xsl:with-param name="image" select="$but-fforward.png"/>
608               </xsl:call-template>
609             </xsl:attribute>
610           </img>
611         </a>
612       </xsl:when>
613       <xsl:otherwise>
614         <img alt="Next">
615           <xsl:attribute name="src">
616             <xsl:call-template name="graphics-file">
617               <xsl:with-param name="image" select="$but-xfforward.png"/>
618             </xsl:call-template>
619           </xsl:attribute>
620         </img>
621       </xsl:otherwise>
622     </xsl:choose>
623
624     <br/>
625     <br/>
626
627     <xsl:choose>
628       <xsl:when test="$tocfile != ''">
629         <a href="{$tocfile}">
630           <img border="0" alt="ToC">
631             <xsl:attribute name="src">
632               <xsl:call-template name="graphics-file">
633                 <xsl:with-param name="image" select="$but-info.png"/>
634               </xsl:call-template>
635             </xsl:attribute>
636           </img>
637         </a>
638       </xsl:when>
639       <xsl:otherwise>
640         <img border="0" alt="ToC">
641           <xsl:attribute name="src">
642             <xsl:call-template name="graphics-file">
643               <xsl:with-param name="image" select="$but-xinfo.png"/>
644             </xsl:call-template>
645           </xsl:attribute>
646         </img>
647       </xsl:otherwise>
648     </xsl:choose>
649   </div>
650 </xsl:template>
651
652 </xsl:stylesheet>