Douglas Gregor wrote: > > What I get at > > > > http://zigzag.cs.msu.su:7813/program_options2/ > > > > is rather fine. > > Looks fine to me as well.
Cool. > > Would anybody object if I commit Reece's changes? > > No, but I'd like to check out the diffs at some point so I know what's > going on. I attach the diff I have here. It's CVS HEAD vs. previous version from Reece -- one that includes new nagivation on top and bottom, but does not fix empty TOC. Okay to commit? - Volodya
? A.diff ? html.xsl.diff ? log ? navigation.diff Index: docbook-layout.xsl =================================================================== RCS file: docbook-layout.xsl diff -N docbook-layout.xsl --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ docbook-layout.xsl 16 Mar 2004 06:26:51 -0000 @@ -0,0 +1,169 @@ +<?xml version = "1.0" encoding = "utf-8"?> + +<xsl:stylesheet version = "1.0" + xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" +> + <!-- needed for calsTable template --> + + <xsl:import + href="http://docbook.sourceforge.net/release/xsl/current/html/formal.xsl"/> + + <!-- + Override the behaviour of some DocBook elements for better + integration with the new look & feel. + --> + + <xsl:template match = "programlisting[ancestor::informaltable]"> + <pre class = "table-{name(.)}"><xsl:apply-templates/></pre> + </xsl:template> + + <xsl:template match = "refsynopsisdiv"> + <h2 class = "{name(.)}-title">Synopsis</h2> + <div class = "{name(.)}"><xsl:apply-templates/></div> + </xsl:template> + + <!-- table: remove border = '1' --> + + <xsl:template match = "table|informaltable"> + <xsl:choose> + <xsl:when test = "self::table and tgroup|mediaobject|graphic"> + <xsl:call-template name = "calsTable"/> + </xsl:when><xsl:when test = "self::informaltable and tgroup|mediaobject|graphic"> + <xsl:call-template name = "informal.object"> + <xsl:with-param name = "class"><xsl:choose> + <xsl:when test = "@tabstyle"> + <xsl:value-of select = "@tabstyle"/> + </xsl:when><xsl:otherwise> + <xsl:value-of select = "local-name(.)"/> + </xsl:otherwise> + </xsl:choose></xsl:with-param> + </xsl:call-template> + </xsl:when><xsl:otherwise> + <table class = "table"><xsl:copy-of select = "@*[not(local-name(.)='border')]"/> + <xsl:call-template name = "htmlTable"/> + </table> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match = "tgroup" name = "tgroup"> + <xsl:variable name="summary"><xsl:call-template name="dbhtml-attribute"> + <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/> + <xsl:with-param name="attribute" select="'table-summary'"/> + </xsl:call-template></xsl:variable> + + <xsl:variable name="cellspacing"><xsl:call-template name="dbhtml-attribute"> + <xsl:with-param name="pis" select="processing-instruction('dbhtml')"/> + <xsl:with-param name="attribute" select="'cellspacing'"/> + </xsl:call-template></xsl:variable> + + <xsl:variable name="cellpadding"><xsl:call-template name="dbhtml-attribute"> + <xsl:with-param name="pis" select="processing-instruction('dbhtml')[1]"/> + <xsl:with-param name="attribute" select="'cellpadding'"/> + </xsl:call-template></xsl:variable> + + <table class = "table"> + <xsl:choose> + <xsl:when test="../textobject/phrase"> + <xsl:attribute name="summary"> + <xsl:value-of select="../textobject/phrase"/> + </xsl:attribute> + </xsl:when><xsl:when test="$summary != ''"> + <xsl:attribute name="summary"> + <xsl:value-of select="$summary"/> + </xsl:attribute> + </xsl:when><xsl:when test="../title"> + <xsl:attribute name="summary"> + <xsl:value-of select="string(../title)"/> + </xsl:attribute> + </xsl:when> + <xsl:otherwise/> + </xsl:choose><xsl:if test="$cellspacing != '' or $html.cellspacing != ''"> + <xsl:attribute name="cellspacing"><xsl:choose> + <xsl:when test="$cellspacing != ''"><xsl:value-of select="$cellspacing"/></xsl:when> + <xsl:otherwise><xsl:value-of select="$html.cellspacing"/></xsl:otherwise> + </xsl:choose></xsl:attribute> + </xsl:if><xsl:if test="$cellpadding != '' or $html.cellpadding != ''"> + <xsl:attribute name="cellpadding"><xsl:choose> + <xsl:when test="$cellpadding != ''"><xsl:value-of select="$cellpadding"/></xsl:when> + <xsl:otherwise><xsl:value-of select="$html.cellpadding"/></xsl:otherwise> + </xsl:choose></xsl:attribute> + </xsl:if><xsl:if test="../@pgwide=1"> + <xsl:attribute name="width">100%</xsl:attribute> + </xsl:if> + + <xsl:variable name="colgroup"> + <colgroup><xsl:call-template name="generate.colgroup"> + <xsl:with-param name="cols" select="@cols"/> + </xsl:call-template></colgroup> + </xsl:variable> + + <xsl:variable name="explicit.table.width"><xsl:call-template name="dbhtml-attribute"> + <xsl:with-param name="pis" select="../processing-instruction('dbhtml')[1]"/> + <xsl:with-param name="attribute" select="'table-width'"/> + </xsl:call-template></xsl:variable> + + <xsl:variable name="table.width"><xsl:choose> + <xsl:when test="$explicit.table.width != ''"> + <xsl:value-of select="$explicit.table.width"/> + </xsl:when><xsl:when test="$default.table.width = ''"> + <xsl:text>100%</xsl:text> + </xsl:when><xsl:otherwise> + <xsl:value-of select="$default.table.width"/> + </xsl:otherwise> + </xsl:choose></xsl:variable> + + <xsl:if test="$default.table.width != '' or $explicit.table.width != ''"> + <xsl:attribute name="width"><xsl:choose> + <xsl:when test="contains($table.width, '%')"> + <xsl:value-of select="$table.width"/> + </xsl:when><xsl:when test="$use.extensions != 0 and $tablecolumns.extension != 0"> + <xsl:choose> + <xsl:when test="function-available('stbl:convertLength')"> + <xsl:value-of select="stbl:convertLength($table.width)"/> + </xsl:when><xsl:when test="function-available('xtbl:convertLength')"> + <xsl:value-of select="xtbl:convertLength($table.width)"/> + </xsl:when><xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>No convertLength function available.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:when><xsl:otherwise> + <xsl:value-of select="$table.width"/> + </xsl:otherwise> + </xsl:choose></xsl:attribute> + </xsl:if> + + <xsl:choose> + <xsl:when test="$use.extensions != 0 and $tablecolumns.extension != 0"> + <xsl:choose> + <xsl:when test="function-available('stbl:adjustColumnWidths')"> + <xsl:copy-of select="stbl:adjustColumnWidths($colgroup)"/> + </xsl:when><xsl:when test="function-available('xtbl:adjustColumnWidths')"> + <xsl:copy-of select="xtbl:adjustColumnWidths($colgroup)"/> + </xsl:when><xsl:when test="function-available('ptbl:adjustColumnWidths')"> + <xsl:copy-of select="ptbl:adjustColumnWidths($colgroup)"/> + </xsl:when><xsl:otherwise> + <xsl:message terminate="yes"> + <xsl:text>No adjustColumnWidths function available.</xsl:text> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:when><xsl:otherwise> + <xsl:copy-of select="$colgroup"/> + </xsl:otherwise> + </xsl:choose> + + <xsl:apply-templates select="thead"/> + <xsl:apply-templates select="tfoot"/> + <xsl:apply-templates select="tbody"/> + + <xsl:if test=".//footnote"><tbody class="footnotes"> + <tr><td colspan="[EMAIL PROTECTED]"> + <xsl:apply-templates select=".//footnote" mode="table.footnote.mode"/> + </td></tr> + </tbody></xsl:if> + </table> + </xsl:template> +</xsl:stylesheet> Index: html.xsl =================================================================== RCS file: /cvsroot/boost/boost/tools/boostbook/xsl/html.xsl,v retrieving revision 1.13 diff -u -r1.13 html.xsl --- html.xsl 9 Feb 2004 15:36:13 -0000 1.13 +++ html.xsl 16 Mar 2004 06:26:51 -0000 @@ -7,6 +7,9 @@ <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/> + <xsl:import href="docbook-layout.xsl"/> + <xsl:import href="navbar.xsl"/> + <xsl:param name="html.stylesheet" select="'boostbook.css'"/> <xsl:param name="navig.graphics" select="1"/> <xsl:param name="navig.graphics.extension" select="'.png'"/> @@ -20,147 +23,6 @@ <xsl:param name="generate.section.toc.level" select="3"/> <xsl:param name="doc.standalone">false</xsl:param> - <xsl:template name="header.navigation"> - <xsl:param name = "prev" select = "/foo"/> - <xsl:param name = "next" select = "/foo"/> - <xsl:param name = "nav.context"/> - - <xsl:choose> - <xsl:when test = "$doc.standalone = 'true'"> - <img src="../../c++boost.gif" - alt="c++boost.gif (8819 bytes)" width="277" height="86" - /> - </xsl:when><xsl:otherwise> - <table cellpadding = "2" width = "100%" class = "boost-head"><tr> - <td bgcolor = "#FFFFFF" width = "50%" class = "boost-headelem"><img src="../../c++boost.gif" - alt="c++boost.gif (8819 bytes)" width="277" height="86" - /></td> - <xsl:if test = "not($doc.standalone = 'true')"> - <td align = "center" class = "boost-headtd"> - <a href="../../index.htm" class = "boost-headelem">Home</a> - </td><td align = "center" class = "boost-headtd"> - <a href="libraries.html" class = "boost-headelem">Libraries</a> - </td><td align = "center" class = "boost-headtd"> - <a href="../../people/people.htm" class = "boost-headelem">People</a> - </td><td align = "center" class = "boost-headtd"> - <a href="../../more/faq.htm" class = "boost-headelem">FAQ</a> - </td><td align = "center" class = "boost-headtd"> - <a href="../../more/index.htm" class = "boost-headelem">More</a> - </td> - </xsl:if> - </tr></table> - </xsl:otherwise> - </xsl:choose> - - <!-- top-level navigation: based on - docbook/html/chunk-common.xsl[footer.navigation] --> - - <xsl:variable name="home" select="/*[1]"/> - <xsl:variable name="up" select="parent::*"/> - - <xsl:variable name="row1" select="count($prev) > 0 - or count($up) > 0 - or count($next) > 0"/> - - <xsl:variable name="row2" select="($prev and $navig.showtitles != 0) - or (generate-id($home) != generate-id(.) - or $nav.context = 'toc') - or ($chunk.tocs.and.lots != 0 - and $nav.context != 'toc') - or ($next and $navig.showtitles != 0)"/> - - <xsl:if test=" - $suppress.navigation = '0' and $suppress.header.navigation = '0' - "><table width = "100%" class = "navheader"> - <tr> - <td align = "left" width = "40%"> - <!-- prev:name --> - <xsl:if test="$navig.showtitles != 0"> - <xsl:apply-templates select="$prev" mode="object.title.markup"/> - </xsl:if> - <xsl:text> </xsl:text> - </td><td align = "center" width = "20%"> - <!-- home --> - <xsl:choose> - <xsl:when test="$home != . or $nav.context = 'toc'"> - <a accesskey="h"> - <xsl:attribute name="href"><xsl:call-template name="href.target"> - <xsl:with-param name="object" select="$home"/> - </xsl:call-template></xsl:attribute> - <xsl:call-template name="navig.content"> - <xsl:with-param name="direction" select="'home'"/> - </xsl:call-template> - </a> - <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"> - <xsl:text> | </xsl:text> - </xsl:if> - </xsl:when> - <xsl:otherwise> </xsl:otherwise> - </xsl:choose> - <xsl:if test="$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"> - <a accesskey="t"> - <xsl:attribute name="href"> - <xsl:apply-templates select="/*[1]" - mode="recursive-chunk-filename"/> - <xsl:text>-toc</xsl:text> - <xsl:value-of select="$html.ext"/> - </xsl:attribute> - <xsl:call-template name="gentext"> - <xsl:with-param name="key" select="'nav-toc'"/> - </xsl:call-template> - </a> - </xsl:if> - </td><td align = "right" width = "40%"> - <!-- next:name --> - <xsl:text> </xsl:text> - <xsl:if test="$navig.showtitles != 0"> - <xsl:apply-templates select="$next" mode="object.title.markup"/> - </xsl:if> - </td> - </tr><tr> - <td align = "left" width = "40%"> - <!-- prev --> - <xsl:if test="count($prev)>0"><a accesskey="p"> - <xsl:attribute name="href"><xsl:call-template name="href.target"> - <xsl:with-param name="object" select="$prev"/> - </xsl:call-template></xsl:attribute> - <xsl:call-template name="navig.content"> - <xsl:with-param name="direction" select="'prev'"/> - </xsl:call-template> - </a></xsl:if> - <xsl:text> </xsl:text> - </td><td align = "center" width = "20%"> - <!-- up --> - <xsl:choose> - <xsl:when test="count($up)>0"> - <a accesskey="u"> - <xsl:attribute name="href"><xsl:call-template name="href.target"> - <xsl:with-param name="object" select="$up"/> - </xsl:call-template></xsl:attribute> - <xsl:call-template name="navig.content"> - <xsl:with-param name="direction" select="'up'"/> - </xsl:call-template> - </a> - </xsl:when> - <xsl:otherwise> </xsl:otherwise> - </xsl:choose> - </td><td align = "right" width = "40%"> - <!-- next --> - <xsl:text> </xsl:text> - <xsl:if test="count($next)>0"><a accesskey="n"> - <xsl:attribute name="href"><xsl:call-template name="href.target"> - <xsl:with-param name="object" select="$next"/> - </xsl:call-template></xsl:attribute> - <xsl:call-template name="navig.content"> - <xsl:with-param name="direction" select="'next'"/> - </xsl:call-template> - </a></xsl:if> - </td> - </tr> - </table></xsl:if> - <hr/> - </xsl:template> - <xsl:template name="format.cvs.revision"> <xsl:param name="text"/> @@ -208,7 +70,7 @@ </xsl:template> <xsl:template match="copyright" mode="boost.footer"> - <xsl:if test="position() > 1"> + <xsl:if test="position() > 1"> <br/> </xsl:if> <xsl:call-template name="gentext"> @@ -236,14 +98,14 @@ <xsl:variable name="revision-nodes" select="ancestor-or-self::* [not (attribute::rev:last-revision='')]"/> - <xsl:if test="count($revision-nodes) > 0"> + <xsl:if test="count($revision-nodes) > 0"> <xsl:variable name="revision-node" select="$revision-nodes[last()]"/> <xsl:variable name="revision-text"> <xsl:value-of select="normalize-space($revision-node/attribute::rev:last-revision)"/> </xsl:variable> - <xsl:if test="string-length($revision-text) > 0"> + <xsl:if test="string-length($revision-text) > 0"> <small> <p> <xsl:text>Last revised: </xsl:text> @@ -277,7 +139,7 @@ </xsl:template> <xsl:template match="varlistentry" mode="boost.variablelist"> - <xsl:if test="position() > 1"> + <xsl:if test="position() > 1"> <br/> </xsl:if> <b><xsl:apply-templates select="term"/></b>: @@ -287,7 +149,7 @@ local-name(listitem/*[1])='para'"> <xsl:apply-templates select="listitem/*[1]/*|listitem/*[1]/text()"/> - <xsl:apply-templates select="(listitem/*|listitem/text())[position() > 1]"/> + <xsl:apply-templates select="(listitem/*|listitem/text())[position() > 1]"/> </xsl:when> <xsl:otherwise> <xsl:apply-templates select="listitem/*|listitem/text()"/> Index: navbar.xsl =================================================================== RCS file: navbar.xsl diff -N navbar.xsl --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ navbar.xsl 16 Mar 2004 06:26:51 -0000 @@ -0,0 +1,314 @@ +<?xml version = "1.0" encoding = "utf-8"?> + +<xsl:stylesheet version = "1.0" + xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" +> + <!-- + how to render the Home | Libraries | ... | More contents + none - do not display ("standalone" mode) + *horizontal - display in old-Boost style format + vertical - like the new Getting Started layout + --> + <xsl:param name = "nav.layout" select = "'horizontal'"/> + + <!-- + header border layout + Boost - place the old-Boost border around the header + *none - do not place a border around the header + --> + <xsl:param name = "nav.border" select = "'none'" /> + + <!-- + nav.flow: + none - do not display navigation at the header + DocBook - display the navigation after the header + *Spirit - display "mini" navigation on the right + --> + <xsl:param name = "nav.flow" select = "'Spirit'"/> + + <!-- location of the various Boost elements --> + + <xsl:param name = "boost.image.src" select = "'../../c++boost.gif'"/> + <xsl:param name = "boost.image.alt" select = "'c++boost.gif (8819 bytes)'"/> + <xsl:param name = "boost.image.w" select = "277"/> + <xsl:param name = "boost.image.h" select = "86"/> + <xsl:param name = "boost.root" select = "'../..'"/> + <xsl:param name = "boost.libraries" select = "'libraries.html'"/> + + <!-- header --> + + <xsl:template name = "header.navigation"> + <xsl:param name = "prev" select = "/foo"/> + <xsl:param name = "next" select = "/foo"/> + <xsl:param name = "nav.context"/> + + <xsl:variable name = "home" select = "/*[1]"/> + <xsl:variable name = "up" select = "parent::*"/> + + <table cellpadding = "2" width = "100%"> + <xsl:if test = "$nav.border = 'Boost'"> + <xsl:attribute name = "class">boost-head</xsl:attribute> + </xsl:if> + + <td valign = "top"> + <xsl:if test = "$nav.border = 'Boost'"> + <xsl:attribute name = "style">background-color: white; width: 50%;</xsl:attribute> + </xsl:if> + <img src = "{$boost.image.src}" alt = "{$boost.image.alt}" + width = "{$boost.image.w}" height = "{$boost.image.h}" + /> + </td><xsl:choose> + <xsl:when test = "$nav.layout = 'horizontal'"> + <xsl:call-template name = "header.navdata-horiz"/> + </xsl:when><xsl:when test = "$nav.layout = 'vertical'"> + <xsl:call-template name = "header.navdata-vert"/> + </xsl:when> + </xsl:choose> + </table> + <hr/> + <xsl:choose> + <xsl:when test = "$nav.flow = 'DocBook'"> + <table width = "100%" class = "navheader"> + <xsl:call-template name = "navbar.docbook-homeinfo"> + <xsl:with-param name = "prev" select = "$prev"/> + <xsl:with-param name = "next" select = "$next"/> + <xsl:with-param name = "nav.context" select = "$nav.context"/> + </xsl:call-template> + <xsl:call-template name = "navbar.docbook-prevnext"> + <xsl:with-param name = "prev" select = "$prev"/> + <xsl:with-param name = "next" select = "$next"/> + <xsl:with-param name = "nav.context" select = "$nav.context"/> + </xsl:call-template> + </table> + </xsl:when><xsl:when test = "$nav.flow = 'Spirit'"> + <xsl:call-template name = "navbar.spirit"> + <xsl:with-param name = "prev" select = "$prev"/> + <xsl:with-param name = "next" select = "$next"/> + <xsl:with-param name = "nav.context" select = "$nav.context"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> + </xsl:template> + + <xsl:template name = "header.navdata-horiz"> + <xsl:choose> + <xsl:when test = "$nav.border = 'Boost'"> + <td align = "center" class = "boost-headtd"> + <a href = "{$boost.root}/index.htm" class = "boost-headelem">Home</a> + </td><td align = "center" class = "boost-headtd"> + <a href = "{$boost.libraries}" class = "boost-headelem">Libraries</a> + </td><td align = "center" class = "boost-headtd"> + <a href = "{$boost.root}/people/people.htm" class = "boost-headelem">People</a> + </td><td align = "center" class = "boost-headtd"> + <a href = "{$boost.root}/more/faq.htm" class = "boost-headelem">FAQ</a> + </td><td align = "center" class = "boost-headtd"> + <a href = "{$boost.root}/more/index.htm" class = "boost-headelem">More</a> + </td> + </xsl:when><xsl:otherwise> + <td align = "center"> + <a href = "{$boost.root}/index.htm">Home</a> + </td><td align = "center"> + <a href = "{$boost.libraries}">Libraries</a> + </td><td align = "center"> + <a href = "{$boost.root}/people/people.htm">People</a> + </td><td align = "center"> + <a href = "{$boost.root}/more/faq.htm">FAQ</a> + </td><td align = "center"> + <a href = "{$boost.root}/more/index.htm">More</a> + </td> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name = "header.navdata-vert"> + <td><div> + <xsl:if test = "$nav.border != 'Boost'"> + <xsl:attribute name = "class">boost-toc</xsl:attribute> + </xsl:if> + <div><a href = "{$boost.root}/index.htm">Home</a></div> + <div><a href = "{$boost.libraries}">Libraries</a></div> + <div><a href = "{$boost.root}/people/people.htm">People</a></div> + <div><a href = "{$boost.root}/more/faq.htm">FAQ</a></div> + <div><a href = "{$boost.root}/more/index.htm">More</a></div> + </div></td> + </xsl:template> + + <!-- footer --> + + <xsl:template name = "footer.navigation"> + <xsl:param name = "prev" select = "/foo"/> + <xsl:param name = "next" select = "/foo"/> + <xsl:param name = "nav.context"/> + + <hr/> + <xsl:choose> + <xsl:when test = "$nav.flow = 'DocBook'"> + <table width = "100%" class = "navheader"> + <xsl:call-template name = "navbar.docbook-prevnext"> + <xsl:with-param name = "prev" select = "$prev"/> + <xsl:with-param name = "next" select = "$next"/> + <xsl:with-param name = "nav.context" select = "$nav.context"/> + </xsl:call-template> + <xsl:call-template name = "navbar.docbook-homeinfo"> + <xsl:with-param name = "prev" select = "$prev"/> + <xsl:with-param name = "next" select = "$next"/> + <xsl:with-param name = "nav.context" select = "$nav.context"/> + </xsl:call-template> + </table> + </xsl:when><xsl:when test = "$nav.flow = 'Spirit'"> + <xsl:call-template name = "navbar.spirit"> + <xsl:with-param name = "prev" select = "$prev"/> + <xsl:with-param name = "next" select = "$next"/> + <xsl:with-param name = "nav.context" select = "$nav.context"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> + </xsl:template> + + <!-- navbar --> + + <xsl:template name = "navbar.docbook-homeinfo"> + <xsl:param name = "prev" select = "/foo"/> + <xsl:param name = "next" select = "/foo"/> + <xsl:param name = "nav.context"/> + + <xsl:variable name = "home" select = "/*[1]"/> + <tr> + <td align = "left" width = "40%"> + <xsl:if test = "$navig.showtitles != 0"> <!-- prev:name --> + <xsl:apply-templates select = "$prev" mode = "object.title.markup"/> + </xsl:if> + </td><td align = "center" width = "20%"> + <!-- home --> + <xsl:if test = "$home != . or $nav.context = 'toc'"> + <a accesskey = "h"> + <xsl:attribute name = "href"><xsl:call-template name = "href.target"> + <xsl:with-param name = "object" select = "$home"/> + </xsl:call-template></xsl:attribute> + <xsl:call-template name = "navig.content"> + <xsl:with-param name = "direction" select = "'home'"/> + </xsl:call-template> + </a> + <xsl:if test = "$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"> + <xsl:text>|</xsl:text> + </xsl:if> + </xsl:if> + <xsl:if test = "$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"><a accesskey = "t"> + <xsl:attribute name = "href"> + <xsl:apply-templates select = "/*[1]" mode = "recursive-chunk-filename"/> + <xsl:text>-toc</xsl:text> + <xsl:value-of select = "$html.ext"/> + </xsl:attribute> + <xsl:call-template name = "gentext"> + <xsl:with-param name = "key" select = "'nav-toc'"/> + </xsl:call-template> + </a></xsl:if> + </td><td align = "right" width = "40%"> + <xsl:if test = "$navig.showtitles != 0"> <!-- next:name --> + <xsl:apply-templates select = "$next" mode = "object.title.markup"/> + </xsl:if> + </td> + </tr> + </xsl:template> + + <xsl:template name = "navbar.docbook-prevnext"> + <xsl:param name = "prev" select = "/foo"/> + <xsl:param name = "next" select = "/foo"/> + <xsl:param name = "nav.context"/> + + <xsl:variable name = "up" select = "parent::*"/> + <tr> + <td align = "left" width = "40%"> + <xsl:if test = "count($prev)>0"><a accesskey = "p"> <!-- prev --> + <xsl:attribute name = "href"><xsl:call-template name = "href.target"> + <xsl:with-param name = "object" select = "$prev"/> + </xsl:call-template></xsl:attribute> + <xsl:call-template name = "navig.content"> + <xsl:with-param name = "direction" select = "'prev'"/> + </xsl:call-template> + </a></xsl:if> + </td><td align = "center" width = "20%"> + <xsl:if test = "count($up)>0"><a accesskey = "u"> <!-- up --> + <xsl:attribute name = "href"><xsl:call-template name = "href.target"> + <xsl:with-param name = "object" select = "$up"/> + </xsl:call-template></xsl:attribute> + <xsl:call-template name = "navig.content"> + <xsl:with-param name = "direction" select = "'up'"/> + </xsl:call-template> + </a></xsl:if> + </td><td align = "right" width = "40%"> + <xsl:if test = "count($next)>0"><a accesskey = "n"> <!-- next --> + <xsl:attribute name = "href"><xsl:call-template name = "href.target"> + <xsl:with-param name = "object" select = "$next"/> + </xsl:call-template></xsl:attribute> + <xsl:call-template name = "navig.content"> + <xsl:with-param name = "direction" select = "'next'"/> + </xsl:call-template> + </a></xsl:if> + </td> + </tr> + </xsl:template> + + <xsl:template name = "navbar.spirit"> + <xsl:param name = "prev" select = "/foo"/> + <xsl:param name = "next" select = "/foo"/> + <xsl:param name = "nav.context"/> + + <xsl:variable name = "home" select = "/*[1]"/> + <xsl:variable name = "up" select = "parent::*"/> + + <div class = "spirit-nav"> + <!-- prev --> + <xsl:if test = "count($prev)>0"><a accesskey = "p"> + <xsl:attribute name = "href"><xsl:call-template name = "href.target"> + <xsl:with-param name = "object" select = "$prev"/> + </xsl:call-template></xsl:attribute> + <xsl:call-template name = "navig.content"> + <xsl:with-param name = "direction" select = "'prev'"/> + </xsl:call-template> + </a></xsl:if> + <!-- up --> + <xsl:if test = "count($up)>0"><a accesskey = "u"> + <xsl:attribute name = "href"><xsl:call-template name = "href.target"> + <xsl:with-param name = "object" select = "$up"/> + </xsl:call-template></xsl:attribute> + <xsl:call-template name = "navig.content"> + <xsl:with-param name = "direction" select = "'up'"/> + </xsl:call-template> + </a></xsl:if> + <!-- home --> + <xsl:if test = "$home != . or $nav.context = 'toc'"> + <a accesskey = "h"> + <xsl:attribute name = "href"><xsl:call-template name = "href.target"> + <xsl:with-param name = "object" select = "$home"/> + </xsl:call-template></xsl:attribute> + <xsl:call-template name = "navig.content"> + <xsl:with-param name = "direction" select = "'home'"/> + </xsl:call-template> + </a> + <xsl:if test = "$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"> + <xsl:text>|</xsl:text> + </xsl:if> + </xsl:if> + <xsl:if test = "$chunk.tocs.and.lots != 0 and $nav.context != 'toc'"><a accesskey = "t"> + <xsl:attribute name = "href"> + <xsl:apply-templates select = "/*[1]" mode = "recursive-chunk-filename"/> + <xsl:text>-toc</xsl:text> + <xsl:value-of select = "$html.ext"/> + </xsl:attribute> + <xsl:call-template name = "gentext"> + <xsl:with-param name = "key" select = "'nav-toc'"/> + </xsl:call-template> + </a></xsl:if> + <!-- next --> + <xsl:if test = "count($next)>0"><a accesskey = "n"> + <xsl:attribute name = "href"><xsl:call-template name = "href.target"> + <xsl:with-param name = "object" select = "$next"/> + </xsl:call-template></xsl:attribute> + <xsl:call-template name = "navig.content"> + <xsl:with-param name = "direction" select = "'next'"/> + </xsl:call-template> + </a></xsl:if> + </div> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file
