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">
6 <xsl:import href="../../xhtml/chunk.xsl"/>
7 <xsl:include href="../../VERSION"/>
9 <xsl:include href="param.xsl"/>
10 <xsl:include href="jscript.xsl"/>
11 <xsl:include href="graphics.xsl"/>
12 <xsl:include href="css.xsl"/>
14 <xsl:output method="xml" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
16 <xsl:strip-space elements="slides foil foilgroup"/>
18 <!-- Process the slides -->
20 <xsl:template match="/">
21 <xsl:apply-templates/>
24 <xsl:template match="slides">
25 <xsl:apply-templates select="." mode="toc"/>
26 <xsl:apply-templates/>
29 <!-- ====================================================================== -->
30 <!-- Every slide has top and bottom navigation -->
32 <xsl:template name="top-nav">
33 <xsl:param name="home"/>
34 <xsl:param name="up"/>
35 <xsl:param name="next"/>
36 <xsl:param name="prev"/>
37 <xsl:param name="tocfile" select="$toc.html"/>
40 <table border="0" width="100%" cellspacing="0" cellpadding="0" summary="Navigation table">
42 <td align="left" valign="bottom">
44 <span class="slidestitle">
46 <xsl:attribute name="href">
47 <xsl:apply-templates select="$home" mode="filename"/>
49 <xsl:value-of select="($home/title|$home/slidesinfo/title)[1]"/>
53 <xsl:text> </xsl:text>
56 <td align="right" valign="bottom">
58 <xsl:when test="$home">
59 <span class="link-text">
61 <xsl:attribute name="href">
62 <xsl:apply-templates select="$home" mode="filename"/>
64 <img alt="{$text.home}" border="0">
65 <xsl:attribute name="src">
66 <xsl:call-template name="home.image"/>
73 <span class="no-link-text">
74 <img alt="{$text.home}" border="0">
75 <xsl:attribute name="src">
76 <xsl:call-template name="no.home.image"/>
82 <xsl:text> </xsl:text>
85 <xsl:when test="$tocfile">
86 <span class="link-text">
88 <xsl:attribute name="href">
89 <xsl:value-of select="$tocfile"/>
91 <img alt="{$text.toc}" border="0">
92 <xsl:attribute name="src">
93 <xsl:call-template name="toc.image"/>
100 <span class="no-link-text">
101 <img alt="{$text.toc}" border="0">
102 <xsl:attribute name="src">
103 <xsl:call-template name="no.toc.image"/>
109 <xsl:text> </xsl:text>
112 <xsl:when test="$prev">
113 <span class="link-text">
115 <xsl:attribute name="href">
116 <xsl:apply-templates select="$prev" mode="filename"/>
118 <img alt="{$text.prev}" border="0">
119 <xsl:attribute name="src">
120 <xsl:call-template name="prev.image"/>
127 <span class="no-link-text">
128 <img alt="{$text.prev}" border="0">
129 <xsl:attribute name="src">
130 <xsl:call-template name="no.prev.image"/>
136 <xsl:text> </xsl:text>
139 <xsl:when test="$up">
140 <span class="link-text">
142 <xsl:attribute name="href">
143 <xsl:apply-templates select="$up" mode="filename"/>
145 <img alt="{$text.up}" border="0">
146 <xsl:attribute name="src">
147 <xsl:call-template name="up.image"/>
154 <span class="no-link-text">
155 <img alt="{$text.up}" border="0">
156 <xsl:attribute name="src">
157 <xsl:call-template name="no.up.image"/>
163 <xsl:text> </xsl:text>
166 <xsl:when test="$next">
167 <span class="link-text">
169 <xsl:attribute name="href">
170 <xsl:apply-templates select="$next" mode="filename"/>
172 <img alt="{$text.next}" border="0">
173 <xsl:attribute name="src">
174 <xsl:call-template name="next.image"/>
181 <span class="no-link-text">
182 <img alt="{$text.next}" border="0">
183 <xsl:attribute name="src">
184 <xsl:call-template name="no.next.image"/>
190 <xsl:text> </xsl:text>
194 <hr class="top-nav-sep"/>
198 <xsl:template name="bottom-nav">
199 <xsl:param name="home"/>
200 <xsl:param name="up"/>
201 <xsl:param name="next"/>
202 <xsl:param name="prev"/>
203 <xsl:param name="tocfile" select="$toc.html"/>
205 <div class="navfoot">
206 <hr class="bottom-nav-sep"/>
207 <table border="0" width="100%" cellspacing="0" cellpadding="0" summary="Navigation table">
209 <td align="left" valign="top">
210 <xsl:apply-templates select="/slides/slidesinfo/copyright" mode="slide.footer.mode"/>
211 <xsl:text> </xsl:text>
214 <td align="right" valign="top">
216 <xsl:when test="$prev">
217 <span class="link-text">
219 <xsl:attribute name="href">
220 <xsl:apply-templates select="$prev" mode="filename"/>
222 <img alt="{$text.prev}" border="0">
223 <xsl:attribute name="src">
224 <xsl:call-template name="prev.image"/>
231 <span class="no-link-text">
232 <img alt="{$text.prev}" border="0">
233 <xsl:attribute name="src">
234 <xsl:call-template name="no.prev.image"/>
240 <xsl:text> </xsl:text>
243 <xsl:when test="$next">
244 <span class="link-text">
246 <xsl:attribute name="href">
247 <xsl:apply-templates select="$next" mode="filename"/>
249 <img alt="{$text.next}" border="0">
250 <xsl:attribute name="src">
251 <xsl:call-template name="next.image"/>
258 <span class="no-link-text">
259 <img alt="{$text.next}" border="0">
260 <xsl:attribute name="src">
261 <xsl:call-template name="no.next.image"/>
267 <xsl:text> </xsl:text>
274 <!-- Navigation is also provided in the form of links in the head -->
276 <xsl:template name="links">
277 <xsl:param name="home"/>
278 <xsl:param name="up"/>
279 <xsl:param name="next"/>
280 <xsl:param name="prev"/>
281 <xsl:param name="tocfile" select="$toc.html"/>
283 <xsl:if test="$tocfile != ''">
284 <link rel="contents" href="{$tocfile}">
285 <xsl:attribute name="title">
286 <xsl:value-of select="/slides/slidesinfo/title"/>
291 <xsl:if test="$home">
293 <xsl:attribute name="href">
294 <xsl:apply-templates select="$home" mode="filename"/>
296 <xsl:attribute name="title">
297 <xsl:value-of select="($home/title|$home/slidesinfo/title)[1]"/>
302 <xsl:attribute name="href">
303 <xsl:apply-templates select="$home" mode="filename"/>
305 <xsl:attribute name="title">
306 <xsl:value-of select="($home/title|$home/slidesinfo/title)[1]"/>
313 <xsl:attribute name="href">
314 <xsl:apply-templates select="$up" mode="filename"/>
316 <xsl:attribute name="title">
317 <xsl:value-of select="($up/title|$up/slidesinfo/title)[1]"/>
322 <xsl:if test="$prev">
323 <link rel="previous">
324 <xsl:attribute name="href">
325 <xsl:apply-templates select="$prev" mode="filename"/>
327 <xsl:attribute name="title">
328 <xsl:value-of select="($prev/title|$prev/slidesinfo/title)[1]"/>
333 <xsl:if test="$next">
335 <xsl:attribute name="href">
336 <xsl:apply-templates select="$next" mode="filename"/>
338 <xsl:attribute name="title">
339 <xsl:value-of select="$next/title"/>
343 <xsl:variable name="last" select="$next/following::foil[last()]"/>
344 <xsl:if test="$last">
346 <xsl:attribute name="href">
347 <xsl:apply-templates select="$last" mode="filename"/>
349 <xsl:attribute name="title">
350 <xsl:value-of select="$last/title"/>
356 <xsl:for-each select="foil">
358 <xsl:attribute name="href">
359 <xsl:apply-templates select="." mode="filename"/>
361 <xsl:attribute name="title">
362 <xsl:value-of select="title[1]"/>
367 <xsl:for-each select="foilgroup|../foilgroup">
369 <xsl:attribute name="href">
370 <xsl:apply-templates select="." mode="filename"/>
372 <xsl:attribute name="title">
373 <xsl:value-of select="title[1]"/>
379 <!-- ====================================================================== -->
380 <!-- There are four kinds of slides: titlepage, toc, foil, and foilgroup -->
383 <xsl:template match="slidesinfo">
384 <xsl:variable name="id">
385 <xsl:call-template name="object.id"/>
388 <xsl:variable name="next" select="(/slides/foil|/slides/foilgroup)[1]"/>
389 <xsl:variable name="tocfile" select="$toc.html"/>
390 <xsl:variable name="dir">
391 <xsl:call-template name="dbhtml-dir"/>
395 <xsl:call-template name="write.chunk">
396 <xsl:with-param name="indent" select="$output.indent"/>
397 <xsl:with-param name="filename" select="concat($base.dir, $dir, $titlefoil.html)"/>
398 <xsl:with-param name="content">
401 <title><xsl:value-of select="title"/></title>
403 <xsl:call-template name="system.head.content">
404 <xsl:with-param name="node" select=".."/>
407 <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
410 <xsl:if test="$css.stylesheet != ''">
411 <link type="text/css" rel="stylesheet">
412 <xsl:attribute name="href">
413 <xsl:call-template name="css.stylesheet"/>
417 <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
419 <xsl:call-template name="links">
420 <xsl:with-param name="home" select="/slides"/>
421 <xsl:with-param name="next" select="$next"/>
422 <xsl:with-param name="tocfile" select="$tocfile"/>
427 <xsl:if test="$overlay != 0 or $keyboard.nav != 0">
428 <script language="javascript" type="text/javascript">
429 <xsl:text> </xsl:text>
433 <xsl:if test="$keyboard.nav != 0">
434 <xsl:call-template name="ua.js"/>
435 <xsl:call-template name="xbDOM.js">
436 <xsl:with-param name="language" select="'javascript'"/>
438 <xsl:call-template name="xbLibrary.js"/>
439 <script language="javascript" type="text/javascript">
440 <xsl:text disable-output-escaping="yes">
442 xblibrary = new xbLibrary('</xsl:text>
443 <xsl:call-template name="script-dir"/>
444 <xsl:text disable-output-escaping="yes">');
448 <xsl:call-template name="xbStyle.js"/>
449 <xsl:call-template name="xbCollapsibleLists.js"/>
450 <xsl:call-template name="slides.js">
451 <xsl:with-param name="language" select="'javascript'"/>
455 <xsl:if test="$overlay != '0'">
456 <xsl:call-template name="overlay.js">
457 <xsl:with-param name="language" select="'javascript'"/>
461 <xsl:call-template name="user.head.content">
462 <xsl:with-param name="node" select=".."/>
466 <xsl:attribute name="class">
467 <xsl:text>titlepage</xsl:text>
468 <xsl:if test="@role">
469 <xsl:text>-</xsl:text>
470 <xsl:value-of select="@role"/>
474 <xsl:call-template name="body.attributes"/>
475 <xsl:if test="$overlay != 0">
476 <xsl:attribute name="onload">
477 <xsl:text>overlaySetup('lc')</xsl:text>
480 <xsl:if test="$keyboard.nav != 0">
481 <xsl:attribute name="onkeypress">
482 <xsl:text>navigate(event)</xsl:text>
486 <div class="titlepage" id="{$id}">
487 <xsl:call-template name="titlepage-top-nav">
488 <xsl:with-param name="next" select="$next"/>
489 <xsl:with-param name="tocfile" select="$tocfile"/>
492 <div class="titlepage-body">
493 <xsl:call-template name="titlepage-body"/>
496 <div id="overlayDiv">
497 <xsl:call-template name="overlayDiv.attributes"/>
498 <xsl:call-template name="titlepage-bottom-nav">
499 <xsl:with-param name="next" select="$next"/>
500 <xsl:with-param name="tocfile" select="$tocfile"/>
510 <xsl:template name="titlepage-body">
511 <div class="{name(.)}">
512 <xsl:apply-templates mode="titlepage.mode"/>
516 <xsl:template name="titlepage-top-nav">
517 <xsl:param name="home"/>
518 <xsl:param name="up"/>
519 <xsl:param name="next"/>
520 <xsl:param name="prev"/>
521 <xsl:param name="tocfile" select="$toc.html"/>
523 <xsl:call-template name="top-nav">
524 <xsl:with-param name="home" select="$home"/>
525 <xsl:with-param name="up" select="$up"/>
526 <xsl:with-param name="next" select="$next"/>
527 <xsl:with-param name="prev" select="$prev"/>
528 <xsl:with-param name="tocfile" select="$tocfile"/>
532 <xsl:template name="titlepage-bottom-nav">
533 <xsl:param name="home"/>
534 <xsl:param name="up"/>
535 <xsl:param name="next"/>
536 <xsl:param name="prev"/>
537 <xsl:param name="tocfile" select="$toc.html"/>
539 <xsl:call-template name="bottom-nav">
540 <xsl:with-param name="home" select="$home"/>
541 <xsl:with-param name="up" select="$up"/>
542 <xsl:with-param name="next" select="$next"/>
543 <xsl:with-param name="prev" select="$prev"/>
544 <xsl:with-param name="tocfile" select="$tocfile"/>
548 <xsl:template match="slidesinfo/title">
549 <h1 class="{name(.)}"><xsl:apply-templates/></h1>
552 <xsl:template match="slidesinfo/authorgroup">
553 <xsl:apply-templates/>
556 <xsl:template match="slidesinfo/author|slidesinfo/authorgroup/author">
557 <h1 class="{name(.)}"><xsl:apply-imports/></h1>
560 <xsl:template match="slidesinfo/releaseinfo">
561 <h4 class="{name(.)}"><xsl:apply-templates/></h4>
564 <xsl:template match="slidesinfo/date">
565 <h4 class="{name(.)}"><xsl:apply-templates/></h4>
568 <xsl:template match="slidesinfo/copyright">
572 <!-- On slides, output the credits explicitly each time -->
573 <xsl:template match="othercredit" mode="titlepage.mode">
574 <xsl:variable name="contrib" select="string(contrib)"/>
576 <xsl:when test="contrib">
577 <xsl:call-template name="paragraph">
578 <xsl:with-param name="class" select="name(.)"/>
579 <xsl:with-param name="content">
580 <xsl:apply-templates mode="titlepage.mode" select="contrib"/>
581 <xsl:text>: </xsl:text>
582 <xsl:call-template name="person.name"/>
583 <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
588 <xsl:call-template name="paragraph">
589 <xsl:with-param name="class" select="name(.)"/>
590 <xsl:with-param name="content">
591 <xsl:call-template name="person.name"/>
594 <xsl:apply-templates mode="titlepage.mode" select="./affiliation"/>
599 <!-- ====================================================================== -->
602 <xsl:template match="slides" mode="toc">
603 <xsl:variable name="id">
604 <xsl:call-template name="object.id"/>
607 <xsl:variable name="home" select="/slides"/>
608 <xsl:variable name="up" select="/slides"/>
609 <xsl:variable name="next" select="(foil|foilgroup)[1]"/>
610 <xsl:variable name="tocfile" select="''"/>
611 <xsl:variable name="dir"> <!-- MJ: added -->
612 <xsl:call-template name="dbhtml-dir"/>
615 <xsl:call-template name="write.chunk">
616 <xsl:with-param name="indent" select="$output.indent"/>
617 <xsl:with-param name="filename" select="concat($base.dir, $dir, $toc.html)"/>
618 <xsl:with-param name="content">
621 <title><xsl:value-of select="slidesinfo/title"/></title>
623 <xsl:call-template name="system.head.content"/>
625 <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
628 <xsl:if test="$css.stylesheet != ''">
629 <link type="text/css" rel="stylesheet">
630 <xsl:attribute name="href">
631 <xsl:call-template name="css.stylesheet"/>
635 <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
637 <xsl:call-template name="links">
638 <xsl:with-param name="home" select="$home"/>
639 <xsl:with-param name="up" select="$up"/>
640 <xsl:with-param name="next" select="$next"/>
641 <xsl:with-param name="tocfile" select="$tocfile"/>
646 <xsl:if test="$overlay != 0 or $keyboard.nav != 0">
647 <script language="javascript" type="text/javascript">
648 <xsl:text> </xsl:text>
652 <xsl:if test="$keyboard.nav != 0">
653 <xsl:call-template name="ua.js"/>
654 <xsl:call-template name="xbDOM.js">
655 <xsl:with-param name="language" select="'javascript'"/>
657 <xsl:call-template name="xbLibrary.js"/>
658 <script language="javascript" type="text/javascript">
659 <xsl:text disable-output-escaping="yes">
661 xblibrary = new xbLibrary('</xsl:text>
662 <xsl:call-template name="script-dir"/>
663 <xsl:text disable-output-escaping="yes">');
667 <xsl:call-template name="xbStyle.js"/>
668 <xsl:call-template name="xbCollapsibleLists.js"/>
669 <xsl:call-template name="slides.js">
670 <xsl:with-param name="language" select="'javascript'"/>
674 <xsl:if test="$overlay != '0'">
675 <xsl:call-template name="overlay.js">
676 <xsl:with-param name="language" select="'javascript'"/>
680 <xsl:call-template name="user.head.content"/>
683 <body class="tocpage">
684 <xsl:call-template name="body.attributes"/>
685 <xsl:if test="$overlay != 0">
686 <xsl:attribute name="onload">
687 <xsl:text>overlaySetup('lc')</xsl:text>
690 <xsl:if test="$keyboard.nav != 0">
691 <xsl:attribute name="onkeypress">
692 <xsl:text>navigate(event)</xsl:text>
697 <xsl:call-template name="toc-top-nav">
698 <xsl:with-param name="home" select="$home"/>
699 <xsl:with-param name="up" select="$up"/>
700 <xsl:with-param name="next" select="$next"/>
701 <xsl:with-param name="tocfile" select="$tocfile"/>
704 <div class="toc-body">
705 <xsl:call-template name="toc-body"/>
708 <div id="overlayDiv">
709 <xsl:call-template name="overlayDiv.attributes"/>
710 <xsl:call-template name="toc-bottom-nav">
711 <xsl:with-param name="home" select="$home"/>
712 <xsl:with-param name="up" select="$up"/>
713 <xsl:with-param name="next" select="$next"/>
714 <xsl:with-param name="tocfile" select="$tocfile"/>
724 <xsl:template name="toc-body">
726 <a href="{$titlefoil.html}">
727 <xsl:value-of select="/slides/slidesinfo/title"/>
732 <strong xmlns:xslo="http://www.w3.org/1999/XSL/Transform">
733 <xsl:call-template name="gentext">
734 <xsl:with-param name="key">TableofContents</xsl:with-param>
739 <xsl:apply-templates select="foilgroup|foil" mode="toc"/>
743 <xsl:template name="toc-top-nav">
744 <xsl:param name="home" select="/slides"/>
745 <xsl:param name="up"/>
746 <xsl:param name="prev"/>
747 <xsl:param name="next" select="(foil|foilgroup)[1]"/>
748 <xsl:param name="tocfile"/>
750 <xsl:call-template name="top-nav">
751 <xsl:with-param name="home" select="$home"/>
752 <xsl:with-param name="up" select="$up"/>
753 <xsl:with-param name="next" select="$next"/>
754 <xsl:with-param name="prev" select="$prev"/>
755 <xsl:with-param name="tocfile" select="$tocfile"/>
759 <xsl:template name="toc-bottom-nav">
760 <xsl:param name="home" select="/slides"/>
761 <xsl:param name="up"/>
762 <xsl:param name="prev"/>
763 <xsl:param name="next" select="(foil|foilgroup)[1]"/>
764 <xsl:param name="tocfile"/>
766 <xsl:call-template name="bottom-nav">
767 <xsl:with-param name="home" select="$home"/>
768 <xsl:with-param name="up" select="$up"/>
769 <xsl:with-param name="next" select="$next"/>
770 <xsl:with-param name="prev" select="$prev"/>
771 <xsl:with-param name="tocfile" select="$tocfile"/>
775 <xsl:template match="foilgroup" mode="toc">
776 <xsl:param name="recursive" select="1"/>
779 <xsl:apply-templates select="." mode="number"/>
780 <xsl:text>. </xsl:text>
782 <xsl:attribute name="href">
783 <xsl:apply-templates select="." mode="filename"/>
785 <xsl:value-of select="title"/>
788 <xsl:if test="$recursive != 0">
791 <xsl:apply-templates select="foil" mode="toc"/>
797 <xsl:template match="foil" mode="toc">
799 <xsl:apply-templates select="." mode="number"/>
800 <xsl:text>. </xsl:text>
802 <xsl:attribute name="href">
803 <xsl:apply-templates select="." mode="filename"/>
805 <xsl:value-of select="title"/>
810 <xsl:template match="title|titleabbrev" mode="toc">
811 <xsl:apply-templates mode="toc"/>
814 <xsl:template match="speakernotes" mode="toc">
818 <!-- ====================================================================== -->
821 <xsl:template match="foil">
822 <xsl:param name="thisfoil">
823 <xsl:apply-templates select="." mode="chunk-filename"/>
826 <xsl:variable name="id">
827 <xsl:call-template name="object.id"/>
830 <xsl:variable name="home" select="/slides"/>
831 <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
832 <xsl:variable name="next" select="(following::foil |following::foilgroup)[1]"/>
833 <xsl:variable name="prev" select="(preceding-sibling::foil[1] |parent::foilgroup[1] |/slides)[last()]"/>
835 <xsl:call-template name="write.chunk">
836 <xsl:with-param name="indent" select="$output.indent"/>
837 <xsl:with-param name="filename" select="concat($base.dir, $thisfoil)"/>
838 <xsl:with-param name="content">
841 <title><xsl:value-of select="title"/></title>
843 <xsl:call-template name="system.head.content"/>
845 <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
848 <xsl:if test="$css.stylesheet != ''">
849 <link type="text/css" rel="stylesheet">
850 <xsl:attribute name="href">
851 <xsl:call-template name="css.stylesheet"/>
855 <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
857 <xsl:call-template name="links">
858 <xsl:with-param name="home" select="$home"/>
859 <xsl:with-param name="up" select="$up"/>
860 <xsl:with-param name="next" select="$next"/>
861 <xsl:with-param name="prev" select="$prev"/>
866 <xsl:if test="$overlay != 0 or $keyboard.nav != 0">
867 <script language="javascript" type="text/javascript">
868 <xsl:text> </xsl:text>
872 <xsl:if test="$keyboard.nav != 0">
873 <xsl:call-template name="ua.js"/>
874 <xsl:call-template name="xbDOM.js">
875 <xsl:with-param name="language" select="'javascript'"/>
877 <xsl:call-template name="xbLibrary.js"/>
878 <script language="javascript" type="text/javascript">
879 <xsl:text disable-output-escaping="yes">
881 xblibrary = new xbLibrary('</xsl:text>
882 <xsl:call-template name="script-dir"/>
883 <xsl:text disable-output-escaping="yes">');
887 <xsl:call-template name="xbStyle.js"/>
888 <xsl:call-template name="xbCollapsibleLists.js"/>
889 <xsl:call-template name="slides.js">
890 <xsl:with-param name="language" select="'javascript'"/>
894 <xsl:if test="$overlay != '0'">
895 <xsl:call-template name="overlay.js">
896 <xsl:with-param name="language" select="'javascript'"/>
900 <xsl:call-template name="user.head.content"/>
903 <xsl:attribute name="class">
904 <xsl:value-of select="local-name(.)"/>
905 <xsl:if test="@role">
906 <xsl:text>-</xsl:text>
907 <xsl:value-of select="@role"/>
911 <xsl:call-template name="body.attributes"/>
912 <xsl:if test="$overlay != 0">
913 <xsl:attribute name="onload">
914 <xsl:text>overlaySetup('lc')</xsl:text>
917 <xsl:if test="$keyboard.nav != 0">
918 <xsl:attribute name="onkeypress">
919 <xsl:text>navigate(event)</xsl:text>
923 <div class="{name(.)}" id="{$id}">
924 <xsl:call-template name="foil-top-nav">
925 <xsl:with-param name="home" select="$home"/>
926 <xsl:with-param name="up" select="$up"/>
927 <xsl:with-param name="next" select="$next"/>
928 <xsl:with-param name="prev" select="$prev"/>
931 <div class="foil-body">
932 <xsl:call-template name="foil-body">
933 <xsl:with-param name="home" select="$home"/>
934 <xsl:with-param name="up" select="$up"/>
935 <xsl:with-param name="next" select="$next"/>
936 <xsl:with-param name="prev" select="$prev"/>
940 <div id="overlayDiv">
941 <xsl:call-template name="overlayDiv.attributes"/>
942 <xsl:call-template name="foil-bottom-nav">
943 <xsl:with-param name="home" select="$home"/>
944 <xsl:with-param name="up" select="$up"/>
945 <xsl:with-param name="next" select="$next"/>
946 <xsl:with-param name="prev" select="$prev"/>
951 <xsl:call-template name="process.footnotes"/>
958 <xsl:template name="foil-body">
959 <xsl:param name="home"/>
960 <xsl:param name="up"/>
961 <xsl:param name="next"/>
962 <xsl:param name="prev"/>
963 <xsl:param name="tocfile" select="$toc.html"/>
964 <xsl:apply-templates/>
967 <xsl:template name="foil-top-nav">
968 <xsl:param name="home"/>
969 <xsl:param name="up"/>
970 <xsl:param name="next"/>
971 <xsl:param name="prev"/>
972 <xsl:param name="tocfile" select="$toc.html"/>
974 <xsl:call-template name="top-nav">
975 <xsl:with-param name="home" select="$home"/>
976 <xsl:with-param name="up" select="$up"/>
977 <xsl:with-param name="next" select="$next"/>
978 <xsl:with-param name="prev" select="$prev"/>
982 <xsl:template name="foil-bottom-nav">
983 <xsl:param name="home"/>
984 <xsl:param name="up"/>
985 <xsl:param name="next"/>
986 <xsl:param name="prev"/>
987 <xsl:param name="tocfile" select="$toc.html"/>
989 <xsl:call-template name="bottom-nav">
990 <xsl:with-param name="home" select="$home"/>
991 <xsl:with-param name="up" select="$up"/>
992 <xsl:with-param name="next" select="$next"/>
993 <xsl:with-param name="prev" select="$prev"/>
997 <xsl:template match="foil/title">
998 <h1 class="{name(.)}">
999 <xsl:apply-templates/>
1003 <!-- ====================================================================== -->
1006 <xsl:template match="foilgroup">
1007 <xsl:param name="thisfoilgroup">
1008 <xsl:apply-templates select="." mode="chunk-filename"/>
1011 <xsl:variable name="id">
1012 <xsl:call-template name="object.id"/>
1015 <xsl:variable name="home" select="/slides"/>
1016 <xsl:variable name="up" select="(parent::slides|parent::foilgroup)[1]"/>
1017 <xsl:variable name="next" select="foil[1]"/>
1018 <xsl:variable name="prev" select="(preceding::foil|parent::foilgroup|/slides)[last()]"/>
1020 <xsl:call-template name="write.chunk">
1021 <xsl:with-param name="indent" select="$output.indent"/>
1022 <xsl:with-param name="filename" select="concat($base.dir, $thisfoilgroup)"/>
1023 <xsl:with-param name="content">
1026 <title><xsl:value-of select="title"/></title>
1028 <xsl:call-template name="system.head.content"/>
1030 <meta name="generator" content="DocBook Slides Stylesheets V{$VERSION}"/>
1033 <xsl:if test="$css.stylesheet != ''">
1034 <link type="text/css" rel="stylesheet">
1035 <xsl:attribute name="href">
1036 <xsl:call-template name="css.stylesheet"/>
1040 <xsl:apply-templates select="/processing-instruction('dbhtml')" mode="css.pi"/>
1042 <xsl:call-template name="links">
1043 <xsl:with-param name="home" select="$home"/>
1044 <xsl:with-param name="up" select="$up"/>
1045 <xsl:with-param name="next" select="$next"/>
1046 <xsl:with-param name="prev" select="$prev"/>
1047 </xsl:call-template>
1051 <xsl:if test="$overlay != 0 or $keyboard.nav != 0">
1052 <script language="javascript" type="text/javascript">
1053 <xsl:text> </xsl:text>
1057 <xsl:if test="$keyboard.nav != 0">
1058 <xsl:call-template name="ua.js"/>
1059 <xsl:call-template name="xbDOM.js">
1060 <xsl:with-param name="language" select="'javascript'"/>
1061 </xsl:call-template>
1062 <xsl:call-template name="xbLibrary.js"/>
1063 <script language="javascript" type="text/javascript">
1064 <xsl:text disable-output-escaping="yes">
1066 xblibrary = new xbLibrary('</xsl:text>
1067 <xsl:call-template name="script-dir"/>
1068 <xsl:text disable-output-escaping="yes">');
1072 <xsl:call-template name="xbStyle.js"/>
1073 <xsl:call-template name="xbCollapsibleLists.js"/>
1074 <xsl:call-template name="slides.js">
1075 <xsl:with-param name="language" select="'javascript'"/>
1076 </xsl:call-template>
1079 <xsl:if test="$overlay != '0'">
1080 <xsl:call-template name="overlay.js">
1081 <xsl:with-param name="language" select="'javascript'"/>
1082 </xsl:call-template>
1085 <xsl:call-template name="user.head.content"/>
1088 <xsl:attribute name="class">
1089 <xsl:value-of select="local-name(.)"/>
1090 <xsl:if test="@role">
1091 <xsl:text>-</xsl:text>
1092 <xsl:value-of select="@role"/>
1096 <xsl:call-template name="body.attributes"/>
1097 <xsl:if test="$overlay != 0">
1098 <xsl:attribute name="onload">
1099 <xsl:text>overlaySetup('lc')</xsl:text>
1102 <xsl:if test="$keyboard.nav != 0">
1103 <xsl:attribute name="onkeypress">
1104 <xsl:text>navigate(event)</xsl:text>
1108 <div class="{name(.)}" id="{$id}">
1109 <xsl:call-template name="foilgroup-top-nav">
1110 <xsl:with-param name="home" select="$home"/>
1111 <xsl:with-param name="up" select="$up"/>
1112 <xsl:with-param name="next" select="$next"/>
1113 <xsl:with-param name="prev" select="$prev"/>
1114 </xsl:call-template>
1116 <!-- n.b. the foilgroup-body template is responsible for generating -->
1117 <!-- the foilgroup toc -->
1118 <div class="foilgroup-body">
1119 <xsl:call-template name="foilgroup-body">
1120 <xsl:with-param name="home" select="$home"/>
1121 <xsl:with-param name="up" select="$up"/>
1122 <xsl:with-param name="next" select="$next"/>
1123 <xsl:with-param name="prev" select="$prev"/>
1124 </xsl:call-template>
1127 <div id="overlayDiv">
1128 <xsl:call-template name="overlayDiv.attributes"/>
1129 <xsl:call-template name="foilgroup-bottom-nav">
1130 <xsl:with-param name="home" select="$home"/>
1131 <xsl:with-param name="up" select="$up"/>
1132 <xsl:with-param name="next" select="$next"/>
1133 <xsl:with-param name="prev" select="$prev"/>
1134 </xsl:call-template>
1138 <xsl:call-template name="process.footnotes"/>
1142 </xsl:call-template>
1144 <xsl:apply-templates select="foil"/>
1147 <xsl:template match="foilgroup/title">
1148 <h1 class="{name(.)}"><xsl:apply-templates/></h1>
1151 <xsl:template name="foilgroup-body">
1152 <xsl:param name="home"/>
1153 <xsl:param name="up"/>
1154 <xsl:param name="next"/>
1155 <xsl:param name="prev"/>
1156 <xsl:param name="tocfile" select="$toc.html"/>
1158 <xsl:apply-templates select="*[name(.) != 'foil' and name(.) != 'foilgroup']"/>
1160 <xsl:if test="$foilgroup.toc != 0">
1162 <xsl:apply-templates select="foil" mode="toc"/>
1167 <xsl:template name="foilgroup-top-nav">
1168 <xsl:param name="home"/>
1169 <xsl:param name="up"/>
1170 <xsl:param name="next"/>
1171 <xsl:param name="prev"/>
1172 <xsl:param name="tocfile" select="$toc.html"/>
1174 <xsl:call-template name="top-nav">
1175 <xsl:with-param name="home" select="$home"/>
1176 <xsl:with-param name="up" select="$up"/>
1177 <xsl:with-param name="next" select="$next"/>
1178 <xsl:with-param name="prev" select="$prev"/>
1179 </xsl:call-template>
1182 <xsl:template name="foilgroup-bottom-nav">
1183 <xsl:param name="home"/>
1184 <xsl:param name="up"/>
1185 <xsl:param name="next"/>
1186 <xsl:param name="prev"/>
1187 <xsl:param name="tocfile" select="$toc.html"/>
1189 <xsl:call-template name="bottom-nav">
1190 <xsl:with-param name="home" select="$home"/>
1191 <xsl:with-param name="up" select="$up"/>
1192 <xsl:with-param name="next" select="$next"/>
1193 <xsl:with-param name="prev" select="$prev"/>
1194 </xsl:call-template>
1197 <!-- ====================================================================== -->
1199 <xsl:template name="overlayDiv.attributes">
1201 <xsl:when test="$overlay != 0">
1202 <xsl:attribute name="style">
1203 <xsl:text>position: absolute; visibility: visible;</xsl:text>
1207 <xsl:attribute name="style">padding-top: 2in;</xsl:attribute>
1212 <!-- ====================================================================== -->
1214 <xsl:template match="processing-instruction('dbhtml')" mode="css.pi">
1215 <xsl:variable name="href">
1216 <xsl:call-template name="dbhtml-attribute">
1217 <xsl:with-param name="pis" select="."/>
1218 <xsl:with-param name="attribute" select="'css-stylesheet'"/>
1219 </xsl:call-template>
1222 <xsl:if test="$href!=''">
1224 <xsl:when test="$href = ''">
1227 <xsl:when test="contains($href, '//')">
1228 <link type="text/css" rel="stylesheet" href="{$href}"/>
1230 <xsl:when test="starts-with($href, '/')">
1231 <link type="text/css" rel="stylesheet" href="{$href}"/>
1234 <link type="text/css" rel="stylesheet">
1235 <xsl:attribute name="href">
1236 <xsl:call-template name="css-file">
1237 <xsl:with-param name="css" select="$href"/>
1238 </xsl:call-template>
1247 <!-- ====================================================================== -->
1249 <xsl:template match="foil" mode="number">
1250 <xsl:number count="foil|foilgroup" level="any"/>
1253 <xsl:template match="foilgroup" mode="number">
1254 <xsl:number count="foil|foilgroup" level="any"/>
1257 <!-- ====================================================================== -->
1259 <xsl:template match="slides" mode="filename">
1260 <xsl:value-of select="$titlefoil.html"/>
1263 <xsl:template match="foil" mode="filename">
1264 <xsl:text>foil</xsl:text>
1265 <xsl:number count="foil" level="any" format="01"/>
1266 <xsl:value-of select="$html.ext"/>
1269 <xsl:template match="foilgroup" mode="filename">
1270 <xsl:text>foilgroup</xsl:text>
1271 <xsl:number count="foilgroup" level="any" format="01"/>
1272 <xsl:value-of select="$html.ext"/>
1275 <!-- ============================================================ -->
1277 <xsl:template match="processing-instruction('Pub')">
1278 <xsl:variable name="pidata"><xsl:value-of select="(.)"/></xsl:variable>
1280 <xsl:when test="contains($pidata,'UDT')"/>
1281 <xsl:when test="contains($pidata,'/_font')">
1282 <xsl:text disable-output-escaping="yes"></span></xsl:text>
1284 <xsl:when test="contains($pidata,'_font')">
1285 <xsl:text disable-output-escaping="yes"><span </xsl:text>
1287 <xsl:when test="contains($pidata,'green')">class="green"</xsl:when>
1288 <xsl:when test="contains($pidata,'blue')">class="blue"</xsl:when>
1289 <xsl:when test="contains($pidata,'orange')">class="orange"</xsl:when>
1290 <xsl:when test="contains($pidata,'red')">class="red"</xsl:when>
1291 <xsl:when test="contains($pidata,'brown')">class="brown"</xsl:when>
1292 <xsl:when test="contains($pidata,'violet')">class="violet"</xsl:when>
1293 <xsl:when test="contains($pidata,'black')">class="black"</xsl:when>
1294 <xsl:otherwise>class="bold"</xsl:otherwise>
1296 <xsl:text disable-output-escaping="yes">></xsl:text>
1301 <!-- ============================================================ -->
1304 <xsl:template match="figure">
1305 <div class="{name(.)}">
1306 <xsl:apply-imports/>
1308 <xsl:if test="following-sibling::*"><hr/></xsl:if>
1311 <xsl:template match="copyright" mode="slide.footer.mode">
1312 <span class="{name(.)}">
1313 <xsl:call-template name="gentext">
1314 <xsl:with-param name="key" select="'Copyright'"/>
1315 </xsl:call-template>
1316 <xsl:call-template name="gentext.space"/>
1317 <xsl:call-template name="dingbat">
1318 <xsl:with-param name="dingbat">copyright</xsl:with-param>
1319 </xsl:call-template>
1320 <xsl:call-template name="gentext.space"/>
1321 <xsl:call-template name="copyright.years">
1322 <xsl:with-param name="years" select="year"/>
1323 <xsl:with-param name="print.ranges" select="$make.year.ranges"/>
1324 <xsl:with-param name="single.year.ranges" select="$make.single.year.ranges"/>
1325 </xsl:call-template>
1326 <xsl:call-template name="gentext.space"/>
1327 <xsl:apply-templates select="holder" mode="titlepage.mode"/>
1331 <!-- ============================================================ -->
1334 <xsl:template match="link">
1335 <xsl:call-template name="link">
1336 <xsl:with-param name="a.target" select="'foil'"/>
1337 </xsl:call-template>
1340 <xsl:template match="ulink">
1343 <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1345 <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
1346 <xsl:if test="$ulink.target != ''">
1347 <xsl:attribute name="target">
1348 <xsl:value-of select="$ulink.target"/>
1352 <xsl:when test="count(child::node())=0">
1353 <xsl:value-of select="@url"/>
1356 <xsl:apply-templates/>
1357 <xsl:if test="@role='show'">
1358 <xsl:text> (</xsl:text>
1359 <xsl:value-of select="@url"/>
1360 <xsl:text>)</xsl:text>
1367 <xsl:template match="title/ulink">
1370 <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
1372 <xsl:attribute name="href"><xsl:value-of select="@url"/></xsl:attribute>
1373 <xsl:if test="$ulink.target != ''">
1374 <xsl:attribute name="target">
1375 <xsl:value-of select="$ulink.target"/>
1379 <xsl:when test="count(child::node())=0">
1380 <xsl:value-of select="@url"/>
1383 <xsl:apply-templates/>
1389 <xsl:template match="subtitle">
1390 <h2 class="subtitle">
1391 <xsl:apply-templates/>
1395 <xsl:template match="graphic">
1397 <!-- can't this be done a better way? -->
1398 <xsl:apply-imports/>
1402 <xsl:template match="titleabbrev">
1406 <xsl:template match="speakernotes">
1410 <!-- ====================================================================== -->
1411 <!-- Chunking for slides -->
1413 <xsl:template name="chunk">
1414 <xsl:param name="node" select="."/>
1416 <xsl:when test="name($node)='slides'">1</xsl:when>
1417 <xsl:when test="name($node)='foilgroup'">1</xsl:when>
1418 <xsl:when test="name($node)='foil'">1</xsl:when>
1419 <xsl:otherwise>0</xsl:otherwise>
1423 <xsl:template match="*" mode="chunk-filename">
1424 <xsl:param name="recursive">0</xsl:param>
1425 <!-- returns the filename of a chunk -->
1426 <xsl:variable name="ischunk"><xsl:call-template name="chunk"/></xsl:variable>
1427 <xsl:variable name="filename">
1428 <xsl:call-template name="pi.dbhtml_filename"/>
1430 <xsl:variable name="dir">
1431 <xsl:call-template name="dbhtml-dir"/>
1435 <xsl:when test="$ischunk='0'">
1436 <!-- if called on something that isn't a chunk, walk up... -->
1438 <xsl:when test="count(./parent::*)>0">
1439 <xsl:apply-templates mode="chunk-filename" select="./parent::*">
1440 <xsl:with-param name="recursive" select="$recursive"/>
1441 </xsl:apply-templates>
1443 <!-- unless there is no up, in which case return "" -->
1448 <xsl:when test="not($recursive) and $filename != ''">
1449 <!-- if this chunk has an explicit name, use it -->
1450 <xsl:if test="$dir != ''">
1451 <xsl:value-of select="$dir"/>
1452 <xsl:text>/</xsl:text>
1454 <xsl:value-of select="$filename"/>
1457 <xsl:when test="name(.)='foil'">
1458 <xsl:variable name="foilnumber">
1459 <xsl:number count="foil" level="any"/>
1462 <xsl:value-of select="$dir"/>
1463 <xsl:text>foil</xsl:text>
1464 <xsl:number value="$foilnumber" format="01"/>
1465 <xsl:value-of select="$html.ext"/>
1468 <xsl:when test="name(.)='foilgroup'">
1469 <xsl:variable name="foilgroupnumber">
1470 <xsl:number count="foilgroup" level="any" format="01"/>
1473 <xsl:value-of select="$dir"/>
1474 <xsl:text>foilgroup</xsl:text>
1475 <xsl:number value="$foilgroupnumber" format="01"/>
1476 <xsl:value-of select="$html.ext"/>
1480 <xsl:text>chunk-filename-error-</xsl:text>
1481 <xsl:value-of select="name(.)"/>
1482 <xsl:number level="any" format="01" from="set"/>
1483 <xsl:if test="not($recursive)">
1484 <xsl:value-of select="$html.ext"/>
1490 <!-- ====================================================================== -->
1491 <!-- Handling of xrefs -->
1493 <xsl:template match="foil|foilgroup" mode="xref-to">
1494 <xsl:param name="referrer"/>
1495 <xsl:param name="xrefstyle"/>
1497 <xsl:apply-templates select="." mode="object.xref.markup">
1498 <xsl:with-param name="purpose" select="'xref'"/>
1499 <xsl:with-param name="xrefstyle" select="$xrefstyle"/>
1500 <xsl:with-param name="referrer" select="$referrer"/>
1501 </xsl:apply-templates>
1504 <!-- ====================================================================== -->
1506 <xsl:template match="@*" mode="copy">
1507 <xsl:attribute name="{local-name(.)}">
1508 <xsl:value-of select="."/>
1512 <xsl:template xmlns:html="http://www.w3.org/1999/xhtml" match="html:*">
1513 <xsl:element name="{local-name(.)}" namespace="http://www.w3.org/1999/xhtml">
1514 <xsl:apply-templates select="@*" mode="copy"/>
1515 <xsl:apply-templates/>
1519 <!-- ====================================================================== -->
1521 <xsl:template name="foil.number">
1523 <xsl:when test="$show.foil.number != 0 and self::foil">
1524 <xsl:number count="foil" level="any"/>
1526 <xsl:value-of select="count(//foil)"/>