]> granicus.if.org Git - docbook-dsssl/commitdiff
Slides with 'vertical' navigation. Just another simple style.
authorNorman Walsh <ndw@nwalsh.com>
Thu, 30 May 2002 22:31:13 +0000 (22:31 +0000)
committerNorman Walsh <ndw@nwalsh.com>
Thu, 30 May 2002 22:31:13 +0000 (22:31 +0000)
slides/browser/slides.css
slides/graphics/but-fforward.png [new file with mode: 0644]
slides/graphics/but-info.png [new file with mode: 0644]
slides/graphics/but-next.png [new file with mode: 0644]
slides/graphics/but-prev.png [new file with mode: 0644]
slides/graphics/but-rewind.png [new file with mode: 0644]
slides/graphics/but-xfforward.png [new file with mode: 0644]
slides/graphics/but-xnext.png [new file with mode: 0644]
slides/graphics/but-xprev.png [new file with mode: 0644]
slides/graphics/but-xrewind.png [new file with mode: 0644]
slides/xsl/vslides.xsl [new file with mode: 0644]

index 15340dc245a975320a5ecde00c7f3f5c15616bb4..85de086fe9e490a17d737cc57a0c50db3476d8ab 100644 (file)
@@ -135,3 +135,9 @@ body.botnavigation       { margin-top: 0px;
                          }
 
 /* ====================================================================== */
+
+div.vnav              {
+                        margin-top: 2in;
+                      }
+
+/* ====================================================================== */
diff --git a/slides/graphics/but-fforward.png b/slides/graphics/but-fforward.png
new file mode 100644 (file)
index 0000000..5e74c58
Binary files /dev/null and b/slides/graphics/but-fforward.png differ
diff --git a/slides/graphics/but-info.png b/slides/graphics/but-info.png
new file mode 100644 (file)
index 0000000..b01be98
Binary files /dev/null and b/slides/graphics/but-info.png differ
diff --git a/slides/graphics/but-next.png b/slides/graphics/but-next.png
new file mode 100644 (file)
index 0000000..04c9b9b
Binary files /dev/null and b/slides/graphics/but-next.png differ
diff --git a/slides/graphics/but-prev.png b/slides/graphics/but-prev.png
new file mode 100644 (file)
index 0000000..257f5e3
Binary files /dev/null and b/slides/graphics/but-prev.png differ
diff --git a/slides/graphics/but-rewind.png b/slides/graphics/but-rewind.png
new file mode 100644 (file)
index 0000000..e79b22b
Binary files /dev/null and b/slides/graphics/but-rewind.png differ
diff --git a/slides/graphics/but-xfforward.png b/slides/graphics/but-xfforward.png
new file mode 100644 (file)
index 0000000..8ac7f2e
Binary files /dev/null and b/slides/graphics/but-xfforward.png differ
diff --git a/slides/graphics/but-xnext.png b/slides/graphics/but-xnext.png
new file mode 100644 (file)
index 0000000..fa516b2
Binary files /dev/null and b/slides/graphics/but-xnext.png differ
diff --git a/slides/graphics/but-xprev.png b/slides/graphics/but-xprev.png
new file mode 100644 (file)
index 0000000..dd74e7a
Binary files /dev/null and b/slides/graphics/but-xprev.png differ
diff --git a/slides/graphics/but-xrewind.png b/slides/graphics/but-xrewind.png
new file mode 100644 (file)
index 0000000..e20adfb
Binary files /dev/null and b/slides/graphics/but-xrewind.png differ
diff --git a/slides/xsl/vslides.xsl b/slides/xsl/vslides.xsl
new file mode 100644 (file)
index 0000000..02b024c
--- /dev/null
@@ -0,0 +1,488 @@
+<?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>&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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>