Stylesheets: For print output, removed numbering in sections with empty title and added space before segmentedlist.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/testing/BOOK@4018 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Manuel Canales Esparcia
2004-08-09 22:01:51 +00:00
parent adca1dd1dc
commit 1663ed96ed

View File

@@ -18,6 +18,81 @@
</xsl:attribute>
</xsl:attribute-set>
<!-- Skip numeraration for sections with empty title -->
<xsl:template match="sect2|sect3|sect4|sect5" mode="label.markup">
<xsl:if test="string-length(title) > 0">
<!-- label the parent -->
<xsl:variable name="parent.label">
<xsl:apply-templates select=".." mode="label.markup"/>
</xsl:variable>
<xsl:if test="$parent.label != ''">
<xsl:apply-templates select=".." mode="label.markup"/>
<xsl:apply-templates select=".." mode="intralabel.punctuation"/>
</xsl:if>
<xsl:choose>
<xsl:when test="@label">
<xsl:value-of select="@label"/>
</xsl:when>
<xsl:when test="$section.autolabel != 0">
<xsl:choose>
<xsl:when test="local-name(.) = 'sect2'">
<xsl:choose>
<!-- If the first sect2 isn't numbered, renumber the remainig sections -->
<xsl:when test="string-length(../sect2[1]/title) = 0">
<xsl:variable name="totalsect2">
<xsl:number count="sect2"/>
</xsl:variable>
<xsl:number value="$totalsect2 - 1"/>
</xsl:when>
<xsl:otherwise>
<xsl:number count="sect2"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="local-name(.) = 'sect3'">
<xsl:number count="sect3"/>
</xsl:when>
<xsl:when test="local-name(.) = 'sect4'">
<xsl:number count="sect4"/>
</xsl:when>
<xsl:when test="local-name(.) = 'sect5'">
<xsl:number count="sect5"/>
</xsl:when>
<xsl:otherwise>
<xsl:message>label.markup: this can't happen!</xsl:message>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
</xsl:choose>
</xsl:if>
</xsl:template>
<!-- Drop the trailing punctuation if title is empty -->
<xsl:template match="section|sect1|sect2|sect3|sect4|sect5|simplesect
|bridgehead"
mode="object.title.template">
<xsl:choose>
<xsl:when test="$section.autolabel != 0">
<xsl:if test="string-length(title) > 0">
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'title-numbered'"/>
<xsl:with-param name="name">
<xsl:call-template name="xpath.location"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="gentext.template">
<xsl:with-param name="context" select="'title-unnumbered'"/>
<xsl:with-param name="name">
<xsl:call-template name="xpath.location"/>
</xsl:with-param>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Header -->
<xsl:template name="header.content">
<xsl:param name="sequence" select="''"/>
@@ -117,5 +192,37 @@
<!-- How render a variablelist -->
<xsl:param name="variablelist.as.blocks" select="1"/>
<!-- Adding space before segmentedlist -->
<xsl:template match="segmentedlist">
<xsl:variable name="presentation">
<xsl:call-template name="pi-attribute">
<xsl:with-param name="pis"
select="processing-instruction('dbfo')"/>
<xsl:with-param name="attribute" select="'list-presentation'"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$presentation = 'table'">
<xsl:apply-templates select="." mode="seglist-table"/>
</xsl:when>
<xsl:when test="$presentation = 'list'">
<fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
space-before.maximum="0.8em">
<xsl:apply-templates/>
</fo:block>
</xsl:when>
<xsl:when test="$segmentedlist.as.table != 0">
<xsl:apply-templates select="." mode="seglist-table"/>
</xsl:when>
<xsl:otherwise>
<fo:block space-before.minimum="0.4em" space-before.optimum="0.6em"
space-before.maximum="0.8em">
<xsl:apply-templates/>
</fo:block>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>