diff options
Diffstat (limited to 'website/website.xsl')
-rw-r--r-- | website/website.xsl | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/website/website.xsl b/website/website.xsl new file mode 100644 index 0000000..7364d9b --- /dev/null +++ b/website/website.xsl @@ -0,0 +1,132 @@ +<?xml version='1.0'?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:html='http://www.w3.org/1999/xhtml' + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc html" + version='1.0'> + +<!-- ******************************************************************** + $Id: website.xsl 6910 2007-06-28 23:23:30Z xmldoc $ + ******************************************************************** + + This file is part of the WebSite distribution. + See ../README or http://nwalsh.com/website/ for copyright + copyright and other information. + + ******************************************************************** --> + +<!-- ==================================================================== --> + +<xsl:include href="website-common.xsl"/> +<xsl:include href="toc.xsl"/> + +<xsl:output method="html" + indent="no"/> + +<xsl:param name="autolayout" select="document($autolayout-file,/*[1])"/> + +<xsl:attribute-set name="body.attributes"/> + +<xsl:template name="body.attributes"> + <!-- Turn off the template from the stock DocBook XSL --> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="webpage"> + <xsl:variable name="id"> + <xsl:call-template name="object.id"/> + </xsl:variable> + + <xsl:variable name="tocentry" select="$autolayout/autolayout//*[$id=@id]"/> + <xsl:variable name="toc" select="$tocentry/ancestor-or-self::toc"/> + + <html> + <xsl:apply-templates select="head" mode="head.mode"/> + <xsl:apply-templates select="config" mode="head.mode"/> + <body class="website"> + <xsl:call-template name="body.attributes"/> + + <div class="{name(.)}"> + <a name="{$id}"/> + + <xsl:if test="$banner.before.navigation != 0"> + <xsl:call-template name="allpages.banner"/> + </xsl:if> + + <xsl:if test="$toc"> + <div class="navhead"> + <xsl:apply-templates select="$toc"> + <xsl:with-param name="pageid" select="@id"/> + </xsl:apply-templates> + <xsl:if test="$header.hr != 0"><hr/></xsl:if> + </div> + </xsl:if> + + <xsl:if test="$banner.before.navigation = 0"> + <xsl:call-template name="allpages.banner"/> + </xsl:if> + + <xsl:apply-templates select="./head/title" mode="title.mode"/> + + <xsl:apply-templates select="child::node()[not(self::webpage)]"/> + + <xsl:call-template name="process.footnotes"/> + + <xsl:call-template name="webpage.footer"/> + </div> + </body> + </html> +</xsl:template> + +<!-- ==================================================================== --> + +<xsl:template match="webtoc"> + <xsl:variable name="webpage" select="ancestor::webpage"/> + <xsl:variable name="relpath"> + <xsl:call-template name="root-rel-path"> + <xsl:with-param name="webpage" select="$webpage"/> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="pageid" select="$webpage/@id"/> + + <xsl:variable name="pages" + select="$autolayout//*[$pageid=@id]/tocentry"/> + + <xsl:if test="count($pages) > 0"> + <ul class="toc"> + <xsl:for-each select="$pages"> + <li> + <a> + <xsl:attribute name="href"> + <xsl:choose> + <xsl:when test="@href"> + <xsl:value-of select="@href"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$relpath"/> + <xsl:value-of select="@dir"/> + <xsl:value-of select="$filename-prefix"/> + <xsl:value-of select="@filename"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:apply-templates select="title"/> + </a> + <xsl:if test="summary"> + <xsl:text>--</xsl:text> + <xsl:apply-templates select="summary"/> + </xsl:if> + </li> + </xsl:for-each> + </ul> + </xsl:if> +</xsl:template> + +<xsl:template match="toc/summary|tocentry/summary|notoc/summary"> + <xsl:apply-templates/> +</xsl:template> + +<!-- ==================================================================== --> + +</xsl:stylesheet> |