aboutsummaryrefslogtreecommitdiffstats
path: root/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl
diff options
context:
space:
mode:
Diffstat (limited to 'stylesheets/lfs-xsl/xhtml/lfs-sections.xsl')
-rw-r--r--stylesheets/lfs-xsl/xhtml/lfs-sections.xsl165
1 files changed, 165 insertions, 0 deletions
diff --git a/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl b/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl
new file mode 100644
index 000000000..4f74bcf0f
--- /dev/null
+++ b/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl
@@ -0,0 +1,165 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<!--
+$LastChangedBy$
+$Date$
+-->
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml"
+ version="1.0">
+
+ <!-- This stylesheet controls how preface, chapter, and sections are handled -->
+
+ <!-- Chunk the first top-level section? 1 = yes, 0 = no
+ If preface and chapters TOC are generated, this must be 1. -->
+ <xsl:param name="chunk.first.sections" select="1"/>
+
+ <!-- preface:
+ Output non sect1 child elements before the TOC -->
+ <!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
+ <xsl:template match="preface">
+ <xsl:call-template name="id.warning"/>
+ <div>
+ <xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="dir">
+ <xsl:with-param name="inherit" select="1"/>
+ </xsl:call-template>
+ <xsl:call-template name="language.attribute"/>
+ <xsl:if test="$generate.id.attributes != 0">
+ <xsl:attribute name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="preface.titlepage"/>
+ <xsl:apply-templates/>
+ <xsl:variable name="toc.params">
+ <xsl:call-template name="find.path.params">
+ <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="contains($toc.params, 'toc')">
+ <xsl:call-template name="component.toc">
+ <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+ </xsl:call-template>
+ <xsl:call-template name="component.toc.separator"/>
+ </xsl:if>
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+ </xsl:template>
+
+ <!-- chapter:
+ Output non sect1 child elements before the TOC -->
+ <!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
+ <xsl:template match="chapter">
+ <xsl:call-template name="id.warning"/>
+ <div>
+ <xsl:apply-templates select="." mode="class.attribute"/>
+ <xsl:call-template name="dir">
+ <xsl:with-param name="inherit" select="1"/>
+ </xsl:call-template>
+ <xsl:call-template name="language.attribute"/>
+ <xsl:if test="$generate.id.attributes != 0">
+ <xsl:attribute name="id">
+ <xsl:call-template name="object.id"/>
+ </xsl:attribute>
+ </xsl:if>
+ <xsl:call-template name="component.separator"/>
+ <xsl:call-template name="chapter.titlepage"/>
+ <xsl:apply-templates/>
+ <xsl:variable name="toc.params">
+ <xsl:call-template name="find.path.params">
+ <xsl:with-param name="table" select="normalize-space($generate.toc)"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="contains($toc.params, 'toc')">
+ <xsl:call-template name="component.toc">
+ <xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
+ </xsl:call-template>
+ <xsl:call-template name="component.toc.separator"/>
+ </xsl:if>
+ <xsl:call-template name="process.footnotes"/>
+ </div>
+ </xsl:template>
+
+ <!-- sect1:
+ When there is a role attibute, use it as the class value.
+ Process the SVN keywords found in sect1info as a footnote.
+ Removed unused code. -->
+ <!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
+ <xsl:template match="sect1">
+ <div>
+ <xsl:choose>
+ <xsl:when test="@role">
+ <xsl:attribute name="class">
+ <xsl:value-of select="@role"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="." mode="class.attribute"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:call-template name="language.attribute"/>
+ <xsl:call-template name="sect1.titlepage"/>
+ <xsl:apply-templates/>
+ <xsl:apply-templates select="sect1info" mode="svn-keys"/>
+ </div>
+ </xsl:template>
+
+ <!-- sect2:
+ When there is a role attibute, use it as the class value.
+ Removed unused code. -->
+ <!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
+ <xsl:template match="sect2">
+ <div>
+ <xsl:choose>
+ <xsl:when test="@role">
+ <xsl:attribute name="class">
+ <xsl:value-of select="@role"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="class">
+ <xsl:value-of select="name(.)"/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:call-template name="language.attribute"/>
+ <xsl:call-template name="sect2.titlepage"/>
+ <xsl:apply-templates/>
+ </div>
+ </xsl:template>
+
+ <!-- sect1info mode svn-keys:
+ Self-made template to process SVN keywords found in sect1info. -->
+ <xsl:template match="sect1info" mode="svn-keys">
+ <p class="updated">Last updated <!-- by
+ <xsl:apply-templates select="othername" mode="svn-keys"/> -->
+ on
+ <xsl:apply-templates select="date" mode="svn-keys"/>
+ </p>
+ </xsl:template>
+
+ <!-- othername mode svn-keys:
+ Self-made template to process the $LastChangedBy SVN keyword. -->
+ <xsl:template match="othername" mode="svn-keys">
+ <xsl:variable name="author">
+ <xsl:value-of select="."/>
+ </xsl:variable>
+ <xsl:variable name="nameonly">
+ <xsl:value-of select="substring($author,16)"/>
+ </xsl:variable>
+ <xsl:value-of select="substring-before($nameonly,'$')"/>
+ </xsl:template>
+
+ <!-- date mode svn-keys:
+ Self-made template to process the $Date SVN keyword. -->
+ <xsl:template match="date" mode="svn-keys">
+ <xsl:variable name="date">
+ <xsl:value-of select="."/>
+ </xsl:variable>
+ <xsl:value-of select="substring($date,7,26)"/>
+ </xsl:template>
+
+</xsl:stylesheet>