From: Norman W. <nw...@us...> - 2002-05-30 22:31:16
|
Update of /cvsroot/docbook/slides/xsl In directory usw-pr-cvs1:/tmp/cvs-serv13687/xsl Added Files: vslides.xsl Log Message: Slides with 'vertical' navigation. Just another simple style. --- NEW FILE --- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:import href="slides.xsl"/> <xsl:param name="toc.width" select="100"/> <xsl:param name="but-fforward.png" select="'but-fforward.png'"/> <xsl:param name="but-info.png" select="'but-info.png'"/> <xsl:param name="but-next.png" select="'but-next.png'"/> <xsl:param name="but-prev.png" select="'but-prev.png'"/> <xsl:param name="but-rewind.png" select="'but-rewind.png'"/> <xsl:param name="but-xfforward.png" select="'but-xfforward.png'"/> <xsl:param name="but-xnext.png" select="'but-xnext.png'"/> <xsl:param name="but-xprev.png" select="'but-xprev.png'"/> <xsl:param name="but-xrewind.png" select="'but-xrewind.png'"/> <!-- ============================================================ --> <xsl:template match="slides"> <xsl:call-template name="write.chunk"> <xsl:with-param name="indent" select="$output.indent"/> <xsl:with-param name="filename" select="concat($base.dir, $toc.html)"/> <xsl:with-param name="content"> <html> <head> <title><xsl:value-of select="slidesinfo/title"/></title> <link type="text/css" rel="stylesheet"> <xsl:attribute name="href"> <xsl:call-template name="css.stylesheet"/> </xsl:attribute> </link> <link rel="top"> <xsl:attribute name="href"> <xsl:apply-templates select="/slides" mode="filename"/> </xsl:attribute> <xsl:attribute name="title"> <xsl:value-of select="/slides/slidesinfo/title[1]"/> </xsl:attribute> </link> <xsl:for-each select="section"> <link rel="section"> <xsl:attribute name="href"> <xsl:apply-templates select="." mode="filename"/> </xsl:attribute> <xsl:attribute name="title"> <xsl:value-of select="title[1]"/> </xsl:attribute> </link> </xsl:for-each> <xsl:if test="$keyboard.nav != 0"> <script language="JavaScript1.2"/> </xsl:if> <xsl:if test="$keyboard.nav != 0"> <xsl:call-template name="ua.js"/> <xsl:call-template name="xbDOM.js"> <xsl:with-param name="language" select="'JavaScript'"/> </xsl:call-template> <xsl:call-template name="xbStyle.js"/> <xsl:call-template name="xbCollapsibleLists.js"/> <xsl:call-template name="slides.js"> <xsl:with-param name="language" select="'JavaScript'"/> </xsl:call-template> </xsl:if> </head> <body class="tocpage"> <xsl:call-template name="body.attributes"/> <xsl:if test="$keyboard.nav != 0"> <xsl:attribute name="onkeypress"> <xsl:text>navigate(event)</xsl:text> </xsl:attribute> </xsl:if> <table border="0" width="100%" summary="Navigation and body table" cellpadding="0" cellspacing="0"> <tr> <td> </td> <td><xsl:apply-templates select="." mode="header"/></td> </tr> <tr> <td bgcolor="{$toc.bg.color}" width="{$toc.width}" valign="top" align="left"> <xsl:variable name="first" select="(/slides/section|/slides/foil)[1]"/> <xsl:call-template name="vertical-navigation"> <xsl:with-param name="first"/> <xsl:with-param name="prev"/> <xsl:with-param name="next" select="/slides"/> <xsl:with-param name="last" select="(//foil)[last()]"/> </xsl:call-template> </td> <td bgcolor="{$body.bg.color}" valign="top" align="left"> <div class="{name(.)}"> <h1 class="title"> <a href="{$titlefoil.html}"> <xsl:value-of select="/slides/slidesinfo/title"/> </a> </h1> <xsl:apply-templates select="." mode="toc"/> </div> </td> </tr> <tr> <td> </td> <td><xsl:apply-templates select="." mode="footer"/></td> </tr> </table> </body> </html> </xsl:with-param> </xsl:call-template> <xsl:apply-templates/> </xsl:template> <xsl:template match="slidesinfo"> <xsl:call-template name="write.chunk"> <xsl:with-param name="filename" select="concat($base.dir, $titlefoil.html)"/> <xsl:with-param name="content"> <html> <head> <title><xsl:value-of select="title"/></title> <link type="text/css" rel="stylesheet"> <xsl:attribute name="href"> <xsl:call-template name="css.stylesheet"/> </xsl:attribute> </link> </head> <body class="titlepage"> <xsl:call-template name="body.attributes"/> <table border="0" width="100%" summary="Navigation and body table" cellpadding="0" cellspacing="0"> <tr> <td> </td> <td><xsl:apply-templates select="." mode="header"/></td> </tr> <tr> <td bgcolor="{$toc.bg.color}" width="{$toc.width}" valign="top" align="left"> <xsl:call-template name="vertical-navigation"> <xsl:with-param name="first"/> <xsl:with-param name="last" select="(following::section|following::foil)[last()]"/> <xsl:with-param name="next" select="(following::section|following::foil)[1]"/> </xsl:call-template> </td> <td bgcolor="{$body.bg.color}" valign="top" align="left"> <div class="{name(.)}"> <xsl:apply-templates mode="titlepage.mode"/> </div> </td> </tr> <tr> <td> </td> <td><xsl:apply-templates select="." mode="footer"/></td> </tr> </table> </body> </html> </xsl:with-param> </xsl:call-template> </xsl:template> <xsl:template match="section"> <xsl:variable name="id"> <xsl:call-template name="object.id"/> </xsl:variable> <xsl:variable name="snumber"> <xsl:number count="section" level="any"/> </xsl:variable> <xsl:variable name="thissection"> <xsl:text>section</xsl:text> <xsl:number value="$snumber" format="01"/> <xsl:text>.html</xsl:text> </xsl:variable> <xsl:variable name="nextfoil" select="foil[1]"/> <xsl:variable name="lastfoil" select="(descendant::foil|following::foil)[last()]"/> <xsl:variable name="prevfoil" select="(preceding::foil|/slides)[last()]"/> <xsl:call-template name="write.chunk"> <xsl:with-param name="filename" select="concat($base.dir, $thissection)"/> <xsl:with-param name="content"> <head> <title><xsl:value-of select="title"/></title> <link type="text/css" rel="stylesheet"> <xsl:attribute name="href"> <xsl:call-template name="css.stylesheet"/> </xsl:attribute> </link> </head> <body class="section"> <xsl:call-template name="body.attributes"/> <table border="0" width="100%" summary="Navigation and body table" cellpadding="0" cellspacing="0"> <tr> <td> </td> <td><xsl:apply-templates select="." mode="header"/></td> </tr> <tr> <td bgcolor="{$toc.bg.color}" width="{$toc.width}" valign="top" align="left"> <xsl:call-template name="vertical-navigation"> <xsl:with-param name="last" select="$lastfoil"/> <xsl:with-param name="prev" select="$prevfoil"/> <xsl:with-param name="next" select="$nextfoil"/> </xsl:call-template> </td> <td bgcolor="{$body.bg.color}" valign="top" align="left"> <div class="{name(.)}"> <xsl:apply-templates/> </div> </td> </tr> <tr> <td> </td> <td><xsl:apply-templates select="." mode="footer"/></td> </tr> </table> </body> </xsl:with-param> </xsl:call-template> <xsl:apply-templates select="foil"/> </xsl:template> <xsl:template match="foil"> <xsl:variable name="id"> <xsl:call-template name="object.id"/> </xsl:variable> <xsl:variable name="section" select="ancestor::section"/> <xsl:variable name="thisfoil"> <xsl:apply-templates select="." mode="filename"/> </xsl:variable> <xsl:variable name="nextfoil" select="(following::foil |following::section)[1]"/> <xsl:variable name="lastfoil" select="following::foil[last()]"/> <xsl:variable name="prevfoil" select="(preceding-sibling::foil[1] |parent::section[1] |/slides)[last()]"/> <xsl:call-template name="write.chunk"> <xsl:with-param name="filename" select="concat($base.dir, $thisfoil)"/> <xsl:with-param name="content"> <head> <title><xsl:value-of select="title"/></title> <link type="text/css" rel="stylesheet"> <xsl:attribute name="href"> <xsl:call-template name="css.stylesheet"/> </xsl:attribute> </link> </head> <body class="foil"> <xsl:call-template name="body.attributes"/> <table border="0" width="100%" summary="Navigation and body table" cellpadding="0" cellspacing="0"> <tr> <td> </td> <td><xsl:apply-templates select="." mode="header"/></td> </tr> <tr> <td bgcolor="{$toc.bg.color}" width="{$toc.width}" valign="top" align="left"> <xsl:call-template name="vertical-navigation"> <xsl:with-param name="last" select="$lastfoil"/> <xsl:with-param name="prev" select="$prevfoil"/> <xsl:with-param name="next" select="$nextfoil"/> </xsl:call-template> </td> <td bgcolor="{$body.bg.color}" valign="top" align="left"> <div class="{name(.)}"> <xsl:apply-templates/> </div> </td> </tr> <tr> <td> </td> <td><xsl:apply-templates select="." mode="footer"/></td> </tr> </table> </body> </xsl:with-param> </xsl:call-template> </xsl:template> <!-- ============================================================ --> <xsl:template match="*" mode="header"> <div class="navhead"> <table border="0" width="100%" summary="Header table" cellpadding="0" cellspacing="0"> <tr> <td align="left"> <xsl:apply-templates select="/slides/slidesinfo/copyright" mode="slide.navigation.mode"/> </td> <td align="right"> <xsl:value-of select="count(preceding::foil) + count(preceding::section) + count(ancestor::section) + 1"/> </td> </tr> </table> </div> </xsl:template> <xsl:template match="*" mode="footer"> <div class="navfoot"> <table border="0" width="100%" summary="Header table" cellpadding="0" cellspacing="0"> <tr> <td align="center"> <xsl:text>Slide </xsl:text> <xsl:value-of select="count(preceding::foil) + count(preceding::section) + count(ancestor::section) + 1"/> <xsl:text> of </xsl:text> <xsl:value-of select="count(//foil) + count(//section)"/> </td> </tr> </table> </div> </xsl:template> <xsl:template match="slides" mode="footer"/> <!-- ============================================================ --> <xsl:template name="vertical-navigation"> <xsl:param name="first" select="/slides"/> <xsl:param name="prev"/> <xsl:param name="last"/> <xsl:param name="next"/> <div class="vnav"> <xsl:choose> <xsl:when test="$first"> <a> <xsl:attribute name="href"> <xsl:apply-templates select="$first" mode="filename"/> </xsl:attribute> <img border="0" alt="First"> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-rewind.png"/> </xsl:call-template> </xsl:attribute> </img> </a> </xsl:when> <xsl:otherwise> <img> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-xrewind.png"/> </xsl:call-template> </xsl:attribute> </img> </xsl:otherwise> </xsl:choose> <br/> <xsl:choose> <xsl:when test="$prev"> <a> <xsl:attribute name="href"> <xsl:apply-templates select="$prev" mode="filename"/> </xsl:attribute> <img border="0" alt="Previous"> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-prev.png"/> </xsl:call-template> </xsl:attribute> </img> </a> </xsl:when> <xsl:otherwise> <img> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-xprev.png"/> </xsl:call-template> </xsl:attribute> </img> </xsl:otherwise> </xsl:choose> <br/> <xsl:choose> <xsl:when test="$next"> <a> <xsl:attribute name="href"> <xsl:apply-templates select="$next" mode="filename"/> </xsl:attribute> <img border="0" alt="Last"> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-next.png"/> </xsl:call-template> </xsl:attribute> </img> </a> </xsl:when> <xsl:otherwise> <img> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-xnext.png"/> </xsl:call-template> </xsl:attribute> </img> </xsl:otherwise> </xsl:choose> <br/> <xsl:choose> <xsl:when test="$last"> <a> <xsl:attribute name="href"> <xsl:apply-templates select="$last" mode="filename"/> </xsl:attribute> <img border="0" alt="Next"> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-fforward.png"/> </xsl:call-template> </xsl:attribute> </img> </a> </xsl:when> <xsl:otherwise> <img> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-xfforward.png"/> </xsl:call-template> </xsl:attribute> </img> </xsl:otherwise> </xsl:choose> <br/> <br/> <a href="{$toc.html}"> <img border="0" alt="ToC"> <xsl:attribute name="src"> <xsl:call-template name="graphics-file"> <xsl:with-param name="image" select="$but-info.png"/> </xsl:call-template> </xsl:attribute> </img> </a> </div> </xsl:template> </xsl:stylesheet> |